Météo Climat France
358 индексируемых страниц, анимированная карта на 72 срока — и ни одной строчки фреймворка.
- Год
- 2026
- Разработка
- 6 недель
- Стек
- JavaScript · MapLibre · HTML/CSS · Vercel
- Информационная архитектура
- Дизайн интерфейса
- Разработка
- Картография
- Программное SEO
- Научные тексты
Продукт KAYZEN, доступный на адресе предпросмотра Vercel до перехода на окончательный домен.

- индексируемых страниц180 коммун · 141 климатическая карточка · 16 разъяснений · 12 карт
- 358
- интерполируемых узлов сетки
- 247
- анимированных почасовых срока
- 72
- картографических API-ключейMapLibre и подложка IGN на собственном сервере
- 0
Какую задачу нужно было решить.
Контекст
Météo Climat France — бесплатный общенациональный метеосервис от KAYZEN. Он охватывает три разных сценария на одной базе данных: повседневную погоду (почасовой прогноз на 48 часов, тенденция на 10 дней), климатологию (нормы и рекорды по станциям) и агрометеорологию (температура и влажность почвы, ET0, водный баланс, суммы градусо-дней, условия для опрыскивания).
Ограничение
Три требования противоречили друг другу. Сервис должен был показывать анимированную карту Франции на 72 почасовых срока прогноза — то есть тяжёлые вычисления в браузере. Он должен был открываться на телефоне у края поля, часто через 3G. И он должен был присутствовать в Google по сверхлокальным запросам вроде «погода Венисьё (Vénissieux) 69200» — на поле, которое двадцать лет занимают давно укоренившиеся игроки.
Решение
Мы отказались от рефлекторного выбора фреймворка. Сайт написан на нативном JavaScript и разбит на одиннадцать модулей, загружаемых по требованию, а для картографии используется самостоятельно размещённый MapLibre. Сэкономленный на рантайме бюджет вложен туда, где он важен: в интерполяцию 247 узлов сетки, пререндеринг 358 страниц и выверенную агрономическую терминологию.
Каждое решение — и его причина.
Карта как главная страница
Первый экран — не форма поиска, а уже отрисованная карта Франции на текущий час. Посетитель видит ответ до того, как что-либо сделал. Поиск по коммуне или почтовому индексу доступен сразу под картой, а клавиша «/» переводит на него фокус из любого места.
Своя цветовая шкала для каждой величины
Температура, осадки, ветер, облачность, давление, влажность, грозы и УФ-индекс имеют каждая собственную шкалу с границами и легендой. Ни одна не опирается только на красно-зелёный градиент: дейтеранопией страдают 6 % мужчин, и неудачно подобранная метеокарта становится для них нечитаемой.
Ползунок времени, управляемый с клавиатуры
Стрелки влево/вправо меняют час, Shift + стрелки — день, пробел запускает анимацию, Home возвращает к текущему моменту. Сочетания клавиш написаны прямо под ползунком, а не спрятаны в справке.
Текстовое описание карты
Под картой ссылка «Текстовое описание карты» передаёт словами то, что показывает карта. Это необходимо для экранного диктора и попутно читается поисковыми системами — для них карта на canvas — пустое изображение.
Единственный шрифт, размещённый на своём сервере
Вариативный Nunito, отдаваемый с домена сайта. Ни одного запроса к Google Fonts: сторонний шрифт на сервисе, который открывают каждый день, — это сетевая зависимость и передача данных за рубеж без правового основания.
Палитра проекта
Небесно-голубой
#2E7BB6
Структура, ссылки, заголовки
Сланец
#1F2933
Основной текст
Пшеница
#C9A227
Агрометеорологический раздел
Тревога
#C6413B
Превышенные пороги, предупреждения
Типографическая система
Заголовки
Nunito 700
Основной текст
Nunito 400
Одно вариативное семейство на собственном сервере. Цифры набраны табличными: иначе меняющаяся температура сдвигала бы весь столбец почасовой таблицы.
Что внутри.
- JavaScript
- MapLibre
- HTML/CSS
- Vercel
Нативный JavaScript, одиннадцать модулей
menu, logique, couches, meteo-api, agro, app, climat, comprendre, glossaire, bandeau и вендорный MapLibre. Каждая страница загружает только необходимое: климатологическая карточка станции не тянет за собой ни агрономический движок, ни радарный плеер.
Самостоятельно размещённый MapLibre вместо Mapbox
Ни API-ключа, ни оплаты за просмотры, ни обращения к третьей стороне при каждой загрузке. Картографическая подложка — от IGN: французские открытые данные, что логично для сервиса, говорящего о коммунах.
Интерполяция по сетке из 247 узлов
Открытые модели дают сетку, а интерфейсу нужно непрерывное поле. Интерполяция и отрисовка выполняются в браузере, за один проход на срок прогноза, с кэшированием всех 72 сроков: анимация остаётся плавной без повторных запросов к API.
Маршруты /api/ закрыты для роботов
robots.txt исключает /api/. Без этого каждый обход краулера впустую расходовал бы квоту Open-Meteo — а исчерпанная квота означает недоступный сервис для реальных посетителей.
Серверные функции для данных
Запросы к моделям проходят через серверные функции, которые нормализуют, кэшируют и ограничивают ответы. Браузер никогда не обращается к поставщику напрямую: в день смены источника интерфейс не меняется.
Как сайт становится находимым.
358 URL, четыре шаблона
180 карточек коммун (/meteo/lyon-69001), 141 климатологическая карточка (/climat/…), 16 разъясняющих страниц (/comprendre/…) и 12 страниц тематических карт (/cartes/radar…). Каждый шаблон отвечает на своё намерение; ни одна страница не является косметическим вариантом другой.
Уникальный контент для каждой коммуны
Программное SEO проваливается, когда дублирует. Каждая карточка коммуны содержит её координаты, высоту, нормы привязанной станции и рекорды — значения, которые действительно различаются от города к городу.
Три блока структурированных данных
WebApplication (категория «погода», заявленная бесплатность), WebSite с SearchAction, указывающим на реальный внутренний поиск, и FAQPage с вопросами, которые действительно разобраны на странице.
Осмысленная внутренняя перелинковка
Подвал связывает шестнадцать крупнейших городов; каждая карточка ведёт на свою климатологическую страницу, свои карты и глоссарий. Перелинковка следует пути чтения, а не превращается в ковёр из ссылок.
Согласованные sitemap и канонические URL
Один канонический URL на страницу и sitemap, в котором перечислены ровно те 358 URL, что реально отдаются. URL, отсутствующий в sitemap, не обходится; URL из sitemap без страницы — это soft-404, который ухудшает весь домен.
Удобно для всех.
С июня 2025 года Европейский акт о доступности (European Accessibility Act) требует цифровой доступности для значительной части онлайн-сервисов. Мы закладываем её на этапе проектирования, а не исправляем задним числом.
Карта, которая существует и без зрения
Текстовое описание карты — не атрибут alt, а генерируемый контент, актуальный для отображаемого срока, достижимый с клавиатуры и читаемый синтезатором речи.
Всё — с клавиатуры
Смена слоя, коммуны, срока прогноза, воспроизведение анимации: ни одно действие не требует мыши. Сочетания клавиш описаны на экране.
Цветовые шкалы, проверенные при нарушениях цветового зрения
Каждая шкала смоделирована для протанопии, дейтеранопии и тританопии. Значения остаются различимыми, а в легенде всегда указаны числовые границы.
Что было сдано.
- Главная — анимированная карта и поиск
- /meteo/<коммуна>-<почтовый индекс> — 180 карточек коммун
- /climat/<станция> — 141 карточка норм и рекордов
- /cartes/<слой> — радар, ИК- и видимый спутниковый снимок, молнии, УФ…
- /meteo-agricole — почвы, ET0, водный баланс, опрыскивание
- /comprendre — 16 обучающих карточек и глоссарий
- /lune, /contact, правовая информация, конфиденциальность, условия использования и продажи, доступность
Ход проекта.
Модель данных
Выбор открытых источников (Open-Meteo, IGN), нормализация величин, квоты.
Картография
Сетка, интерполяция, цветовые шкалы, ползунок времени.
Агрометеорология
ET0 по FAO-56, баланс P − ET0, градусо-дни, Delta T, порог 3 балла по Бофорту.
Программное SEO
Четыре шаблона, генерация 358 страниц, sitemap, перелинковка.
Соответствие требованиям
Правовая информация, оговорка о регулировании средств защиты растений, доступность, GDPR.
О чём нас часто спрашивают.
Другие проекты
Кибербезопасность & Кроссплатформенное приложениеSésame
Менеджер паролей, который не может прочитать ваши пароли: доказательством стала сама архитектура.
Кибербезопасность & Веб-приложениеSésame Éclair
Один секрет, одно прочтение, никаких следов: ключ никогда не покидает ссылку, сервер хранит лишь нечитаемый блок.
Соответствие GDPR & SaaSKonsent by Kayzen
Разработчик баннеров, который сам же их проверяет, — судья в собственном деле: независимость и была продуктом.
Тот же уровень требований — для вашего сайта.
Бесплатный аудит вашего текущего сайта, смета в течение 24 часов и письменное обоснование — такое же, как то, что вы только что прочитали. Оплата в три этапа без переплаты; местные программы поддержки проверяются до подписания.