Новый сайт SalixEDA: как и зачем мы его сделали

Новый сайт SalixEDA: как и зачем мы его сделали

В процессе ребрендинга программа SalixEDA получила не только новое имя, но и совершенно новый сайт. Это был необходимый этап, и сегодня я расскажу, почему пришлось отказаться от старого решения, какие требования я предъявлял к новому сайту и что в итоге получилось.

Почему старый сайт перестал устраивать

Прежний сайт был построен на миниатюрной CMS GetSimple. На сегодня этот проект больше не поддерживается. Но главная проблема была не в этом.

Я заметил, что при проблемах со связью структура страницы начинает "сыпаться" — вероятно, из-за внешних зависимостей, которые использовала прежняя CMS или её тема. Это неприемлемо для сайта, который должен быть доступен в любой момент.

Так родилось первое требование: полное отсутствие внешних зависимостей.

Второй серьёзной проблемой была неудобная организация мультиязычности. Мне нужно было, чтобы структура (скелет) сайта оставалась неизменной, а наполнение (текст и картинки) менялось в зависимости от языка. С GetSimple мне приходилось вести для каждого языка свой сайт, что было жутко не удобно. Любопытно, что в нем, вроде-бы, была система мультиязычности, но мне не удалось ее запустить. Тем не менее, GetSimple подсказал интересную идею: структуру реализовать на PHP, а наполнение — на HTML.

Так сформировалось второе требование: отделить наполнение от структуры, решив сразу две задачи — мультиязычность и упрощение сопровождения.

Почему не подошли готовые решения

Я долго искал решения, похожие на GetSimple, — и не нашёл. Пробовал альтернативы:

  • Статические генераторы сайтов ("компиляторы") — отличная идея, но мне не зашла. Из-за необходимости компиляции при каждом изменении нужно перезагружать весь сайт. Я посчитал это слишком накладным.
  • Большие CMS (WordPress и подобные) — даже не рассматривал. У них слишком высокий порог входа, а я не хотел тратить время на настройки. Всё же меня гораздо больше интересует разработка SalixEDA, а не администрирование сайта.

Собственное решение: PHP + HTML

Перебрав все доступные варианты, я пришёл к неожиданному выводу: гораздо проще написать на PHP ровно то, что нужно. Да, на это ушло время, но с помощью вайб-кодинга (и помощи ИИ) — не так много, как уходило бы раньше. Помогли также базовые знания PHP и определённые навыки в HTML.

И вот за несколько вечеров родился сайт SalixEDA.org с точно нужным мне функционалом:

  • ✅ Без лишнего "шлака"
  • ✅ Полностью без внешних зависимостей
  • ✅ Простой и понятный в сопровождении
  • ✅ С поддержкой мультиязычности

Технические подробности (для гиков)

Если вам интересно, как это работает внутри — вот краткая схема:

  • Ядро — index.php. На него перенаправляются практически все запросы (исключение — прямая загрузка файлов, как в разделе "Загрузки").
  • Общие процедуры — в index.php. Там же реализован выбор языка интерфейса.
  • Структура страниц — в отдельных PHP-файлах (home.php, news.php, features.php и т.д.). Каждый определяет структуру конкретной страницы.
  • Наполнение — в HTML-файлах, которые подставляются в зависимости от выбранного языка.

Переменная, определяющая язык, транслируется в каждый используемый файл PHP при построении страницы. Это позволяет выбрать нужный HTML-файл для соответствующего языка.

Исходный код — открыт

Как и сама SalixEDA, новый сайт — это open source проект. Исходный код и всё его содержимое доступны на GitHub:

https://github.com/SalixEDA/salixeda-website.git

Итог: что мне дало это решение

Переход на собственный PHP-движок дал несколько важных преимуществ:

  • Полный контроль. Я сам решаю, что и как работает. Нет скрытых зависимостей и "сюрпризов" от CMS.
  • Простота сопровождения. Чтобы добавить новую страницу или изменить структуру, не нужно разбираться в чужом коде.
  • Мультиязычность "из коробки". Механизм работает именно так, как я хочу, без костылей.
  • Надёжность. Нет внешних скриптов — нет проблем с их загрузкой.

Теперь сайт — это не "ещё одна задача", а удобный инструмент, который помогает продвигать SalixEDA, а не отвлекает от разработки.