Решения · Учреждения & администрация
Разделы, которых требует постановление правительства, записанные в коде и обновляемые сотрудником — не добавленные в конце, как приложение.
Примэрия или учреждение имеет фиксированный перечень обязательных разделов, обязанность обеспечивать прозрачность принятия решений и сотрудника, который должен опубликовать объявление без звонка программисту. Мы строим именно это, с журналом аудита, который удаляется сам по сроку, и с лимитом на попытки аутентификации.
Уже построеноDouă platforme proprii, publice și verificabile azi. Prima e site-ul oficial al unei primării de comună: Laravel 12 pe PHP 8.2 cu MySQL 8, 40 de șabloane, 32 de rute, 10 migrări, cu conținutul editorial care se schimbă rar ținut într-un singur fișier de configurare de 1.613 linii și cu cel care se schimbă des în bază, editabil din panou; autentificarea în panou e limitată la 5 cereri pe minut, iar jurnalul de audit se șterge zilnic după 12 luni, cu trimitere explicită la temeiul legal. Antetele de securitate se pot citi din exterior chiar acum. A doua e o platformă civică în producție, cu 65 de rute de interfață de programare, peste 50 de migrări, 103 fișiere de test pe partea de server și 59 de scenarii capăt-la-capăt, cu verificare de accesibilitate în teste. Ce nu trecem la „livrat”: interoperabilitatea cu serviciile de stat — codul de autentificare federată și de semnătură electronică e scris și testat, dar oprit, pentru că lipsesc contractul cu autoritatea și certificatul de sistem.
Сайт государственного учреждения оценивают не по виду, а по списку. Постановление Правительства 728/2023 устанавливает, какие разделы должны быть: прозрачность принятия решений, проекты и решения, объявления, документы, контакты, бюджет. Они обязательны, проверяются и не подлежат обсуждению. Поэтому мы строим их с самого начала, как структуру, а не добавляем в конце — добавленные в конце они выглядят формально и бесполезно, и это сразу видно.
Второе условие более практичное: учреждение должно уметь публиковать само. Объявление о тендере, проект решения, вынесенный на консультацию, фотография с мероприятия — если все проходит через разработчика, общественно значимая информация остается на бумаге или в группе социальной сети, а сайт становится мертвой витриной. Мы намеренно разделили два вида контента: редакционный, который меняется редко, — география, история, учреждения, контакты, бюджет — хранится в одном файле конфигурации, читаемом напрямую шаблонами; тот, который меняется часто, хранится в базе данных и редактируется из панели.
Третье условие — то, о котором никто не спрашивает в техническом задании: что происходит с данными. Панель публичного администрирования нуждается в лимите на попытки аутентификации — на шестой запрос в минуту с одного и того же адреса ответ 429, и это покрыто автоматическим тестом, а не предполагается. Журнал аудита содержит IP-адреса, а значит, это персональные данные: запланированная задача ежедневно очищает его от всего, что старше двенадцати месяцев, с правовым основанием, записанным в комментарии к коду, а не в отдельном документе, который никто не открывает.
И, наконец, часть, о которой мы предпочитаем говорить до тендера: интероперабельность с государственными сервисами. Федеративная аутентификация и электронная подпись у нас написаны и протестированы, но отключены переключателем, потому что отсутствуют договор с органом и системный сертификат — отсутствует бумага, а не код. Для государственной платежной платформы, магистрали интероперабельности и кабинета гражданина у нас нет никакого кода, ни в одном репозитории, и мы пишем это как есть.