Сайт ФГБУ «НИИ гриппа им. А.А. Смородинцева» Минздрава России
Федеральное государственное бюджетное учреждение «Научно-исследовательский институт гриппа имени А.А. Смородинцева» Министерства здравоохранения Российской Федерации является федеральным государственньм бюджетным учреждением науки и здравоохранения, финансовое обеспечение выполнения функций которого осуществляется за счет средств федерального бюджета, также иных, предусмотренных законодательством, источников.
Выполнили для клиента
Цель проекта
Создание современного, информативного и удобного сайта научно-исследовательского учреждения с богатой структурой контента, поддержкой двух языков (русский/английский) и интеграцией с внутренними системами для отображения актуальных эпидемиологических данных.
Выполненные работы
1. Анализ и планирование
- Детальное изучение технического задания и функциональных возможностей шаблона «Аспро: Медицинский центр 3.0».
- Оценка объёма работ и распределение задач между разработчиками.
2. Установка и базовая настройка
- Развёртывание чистого сайта на «1С-Битрикс» с установкой и активацией шаблона «Аспро».
- Настройка хостинга, создание репозитория в GitLab для версионирования кода, организация копии проекта на dev-сервере для безопасной разработки.
3. Адаптация дизайна и структуры
- Кастомизация шаблона под фирменный стиль заказчика: замена логотипа, цветовой схемы (CSS-правки), настройка шапки и подвала.
- Создание иерархии разделов верхнего меню согласно структуре сайта (институт, наука, клиника, контакты и др.).
- Разработка мобильной версии с адаптацией элементов интерфейса (меню, кнопки, слайдеры).
4. Создание инфоблоков и наполнение контентом
- Организация десятков информационных блоков:
- Сотрудники (с привязкой к отделам, должностям, учёным степеням).
- Публикации (с возможностью фильтрации по году, автору, названию).
- Инновации, диссертации, вакансии, документы, новости, альбомы галерей и др.
- Для ускорения миграции данных использована библиотека версионирования базы данных, что позволило синхронизировать изменения между dev и prod-серверами.
5. Импорт данных со старого сайта
- Разработан парсер для извлечения более 1000 публикаций, документов и других материалов.
- Конвертация данных в формат CSV с последующей загрузкой в инфоблоки через специальный модуль (поддержка множественных полей).
- Ручная корректировка и обогащение контента (авторы, ссылки, привязки).
6. Реализация мультиязычности
- Создание английской версии сайта с отдельными инфоблоками для каждого типа контента.
- Настройка переключения языков, исправление ошибок в работе кнопки-переключателя (потребовало анализа ядра Аспро и кастомизации шаблонов).
- Адаптация меню, форм и элементов интерфейса под английский язык.
7. Разработка специального функционала
- Интеграция с внутренней системой (бюллетени по гриппу):
- На основе JSON-файлов, генерируемых внутренней системой, создан компонент для отображения данных в виде графиков и таблиц.
- Проведён рефакторинг старого скрипта, его интеграция в структуру Битрикс (включая создание класса компонента и шаблонов).
- Фильтрация и поиск:
- Реализован «умный фильтр» для публикаций, инноваций, диссертаций по различным параметрам.
- Настроен поиск по сайту с учётом особенностей контента (поиск по публикациям, сотрудникам, документам), устранены несоответствия в выдаче.
- Галереи и мультимедиа:
- Созданы альбомы для изображений и видео, реализован слайдер на главной странице.
- Обеспечена возможность привязки альбомов к событиям и новостям.
- Защита контактных данных:
- Написан JavaScript для сокрытия email и телефонов от автоматического сбора (боты).
- Тёмная тема:
- Добавлена поддержка автоматического переключения в тёмный режим в зависимости от настроек ОС пользователя.
- Меню и навигация:
- Разработан кастомный компонент для вывода второго меню, учитывающий активность разделов и язык сайта.
- Добавлена возможность управления пунктами меню через режим правки.
8. Работа с замечаниями и доработками
После передачи сайта заказчику сформирован список замечаний, которые были поэтапно исправлены:
- Правки вёрстки (отступы, центрирование изображений, поведение слайдеров на мобильных устройствах).
- Исправление работы фильтров и сортировки (например, порядок авторов в публикациях, сортировка свойств).
- Устранение проблем с баннерами (через анализ настроек Аспро и сессионных данных).
- Доработка раздела «Клиника»: настройка ЧПУ, исправление 404 ошибок после перемещения страниц.
- Решение проблем с поиском: переиндексация, настройка параметров (use_stemming и др.), синхронизация выдачи в выпадающем списке и на странице результатов.
- Оптимизация вывода документов (один документ в нескольких разделах, группировка по разделам).
- Многочисленные правки по мультиязычности (переводы, свойства, меню).
9. Технические сложности и их преодоление
- Совместимость PHP: исходный сервер работал на PHP 5.3, что вызывало конфликты при разработке. Переход на более новые версии (5.6, 8.2) потребовал настройки окружения, установки расширений, контейнеризации (Docker).
- Проблемы с сетью и сокетами: периодические сбои доступа к внешним ресурсам (GitLab, API) затрудняли деплой и проверку системы.
- Редиректы и HTTPS: настройка корректной работы HTTPS через .settings_extra.php, решение проблем с локальным редиректом.
- Миграции и работа с БД: внедрение библиотеки миграций для управления изменениями в инфоблоках (свойства, типы, разделы) позволило избежать рассинхронизации между dev и prod.
- Многопользовательская разработка: организация параллельной работы через Git (ветки, merge requests), ревью кода.
10. Деплой и сопровождение
- Многократный перенос изменений на продуктовый сервер с проверкой всех системных требований.
- Взаимодействие с системными администраторами заказчика для настройки сервера (права доступа, расширения PHP, конфигурация БД).
- Длительная поддержка проекта (активные правки вплоть до 2025 года), включая доработки по новым требованиям и исправление регрессий.
Использованные технологии и подходы
- 1С-Битрикс: инфоблоки, компоненты, шаблоны, пользовательские поля, миграции.
- Аспро: Медицинский центр 3.0: базовая функциональность, кастомизация через CSS и переопределение шаблонов.
- PHP, JavaScript, HTML, CSS: разработка кастомных компонентов, парсеров, скриптов.
- GitLab: контроль версий, код-ревью.
- Docker: изоляция окружения для разработки.
- Библиотека миграций: управление структурой БД.
Результат
Современный, функциональный сайт НИИ Гриппа, полностью соответствующий требованиям заказчика. Реализована удобная система управления контентом, двухязычная версия, интеграция с внутренними данными, а также обеспечена высокая степень кастомизации под уникальные задачи научного учреждения. Проект прошёл длительную фазу тестирования и доработок, в результате чего достигнуты стабильное функционирование всех модулей и удовлетворённость заказчика.