Сайт Общественной палаты Пушкинского округа
Летом 2026 года сформировался новый состав Общественной палаты городского округа Пушкинский. Меня выбрали заместителем председателя, и почти сразу стало понятно: у палаты должен быть нормальный сайт. Не страничка на портале администрации, а своё место, где видно, кто в палате, чем занимаются комиссии и что происходит.
Так я оказался в редкой позиции — одновременно заказчик, редактор и разработчик.
Сайт за один день
Сайт собран 31 июля. Утром появился план из двенадцати задач — от каркаса до выкладки на сервер, вечером сайт уже работал. Через два дня вышла вторая версия дизайна: появился поиск по сайту и фильтр состава.
Шапку главной переделывали трижды за вечер. В итоге остановились на полноэкранной фотографии со слайд-шоу. У каждого фото два кадра — для компьютера и для телефона, а кадр можно двигать мышкой прямо в админке, чтобы заголовок не закрывал людям лица.
Правила, которые я поставил с самого начала
- Никаких внешних сервисов. Шрифты, стили и скрипты лежат на своём сервере. Видео из ВК и Rutube не грузятся, пока посетитель сам не нажмёт «плей».
- Версия для слабовидящих — не галочка, а рабочий режим: три размера шрифта, три цветовые схемы, межбуквенный интервал, режим без картинок.
- Сайт работает без JavaScript. Весь контент виден, даже если скрипты отключены.
- Фотографии сами переводятся в современный формат и уменьшаются для телефонов. Фото с айфона тоже принимаются.
Комиссии как код
В палате 45 человек и 11 комиссий, а у каждого члена в комиссии есть право голоса — решающий или совещательный. Всё это хранится в одном справочнике, и сайт собирается из него. Если в списке опечатка в фамилии, синхронизация просто остановится и скажет об этом. Так человек не выпадет из комиссии молча.
Редакция в мессенджере
Самое интересное началось после запуска. Новости палаты пишут разные люди в разных чатах. Раньше их пришлось бы вручную переносить на сайт. Теперь я просто пересылаю пост в мессенджер МАКС своему боту-помощнику. Он чистит текст, предлагает заголовок, подбирает обложку и заводит черновик. Публикуется новость только после моего «да».
У редакции накопился свод правил, и каждое появилось после конкретного случая:
- в заголовке всегда должна быть «Общественная палата» — это её сайт;
- обложка только 16:9, вертикальную афишу кадрируем, а целиком ставим в текст;
- госномера машин на фото замазываем заранее;
- фактуру официальных текстов не «улучшаем».
За первые два месяца на сайте вышло 124 новости. Рекорд — одиннадцать за день, в сентябре, во время выборов.
Как устроено
Python, FastAPI, SQLite и шаблоны, которые собираются на сервере. 427 автоматических тестов. Сайт живёт на моём домашнем Маке, наружу выходит через защищённый туннель, каждую ночь делает резервную копию и хранит тридцать последних.
