Built with love in Lyon

Наш стек — нам нечего скрывать

Вот точная инфраструктура, на которой работает этот сайт. Каждый выбор обоснован, каждый инструмент проверен на практике. Одни и те же технические стандарты для всех наших клиентов.

Инструментов: 35 Категорий: 8 Lighthouse SEO 100 · perf 87

Фронтенд-фреймворк

  • React (в новой вкладке)v19.2UI-библиотека

    Зрелая экосистема, конкурентный рендеринг для плавных переходов.

  • TypeScript (в новой вкладке)v6.0Статическая типизация

    Надёжность на этапе компиляции, спокойный рефакторинг, самодокументируемый код.

  • Мгновенный HMR в разработке. Начиная с v8 бандл собирает rolldown, а минифицирует oxc — esbuild ушёл из дерева зависимостей.

  • React Router (в новой вкладке)v7.18Маршрутизация SPA

    Декларативный API, маршруты загружаются по требованию, совместимость с Suspense.

Стили и дизайн-система

Производительность

  • Пререндеринг — headless Chromiumv149.0Полный HTML с сервера

    Все маршруты сайта — страницы услуг, локальные страницы и 37 кейсов из портфолио — рендерятся при сборке в headless Chromium. Раньше сервер отдавал один и тот же пустой index.html для всех: роботы, не выполняющие JavaScript, видели только метаданные главной страницы.

  • web-vitalsv6.1RUM-мониторинг

    LCP, INP, CLS измеряются у реальных пользователей и отправляются в GA4.

  • WOFF2 variable fontsШрифты

    Outfit + Plus Jakarta Sans на собственном хостинге, латинское подмножество, font-display: optional.

  • Ручное разбиение на чанкиCode splitting

    Отдельные вендорные чанки (react, motion, radix, pdf) → оптимальное долгосрочное кеширование.

SEO и структурированные данные

  • @dr.pogodin/react-helmetv3.2Мета-теги для каждого маршрута

    Собственные title, description и Open Graph для каждой страницы.

  • Schema.org JSON-LDСтруктурированные данные

    Organization, LocalBusiness, Service, FAQPage, HowTo, BreadcrumbList, Article.

  • llms.txtGEO-оптимизация

    Отдельный файл для индексации в ChatGPT, Claude, Perplexity, Gemini.

  • Sitemap XMLСканируемость

    Генерируется при сборке из маршрутов, объявленных в App.tsx, — он не может отстать от сайта.

Бэкенд и данные

  • Управляемый Postgres, Auth, Storage, Edge Functions — open source.

  • Brevo (в новой вкладке)Форма обратной связи

    Принимает сообщения из формы обратной связи через serverless-функцию Vercel.

  • Resend (в новой вкладке)Транзакционные письма

    Доставляет PDF-расчёты из конфигуратора через функцию Supabase. Без фильтрации по IP на стороне API.

  • Zodv4.4Валидация во время выполнения

    Типизированные схемы, общие для клиента и сервера, сообщения об ошибках на французском.

Инфраструктура и CI/CD

  • Деплой по git push, глобальный CDN, HTTP/3, ветки предпросмотра.

  • IONOS (в новой вкладке)Регистратор и DNS

    Домены kayzen-lyon.com и .fr, DNS-зона и почта.

  • GitHubКонтроль версий

    Код-ревью и полная история — именно она питает публичный журнал изменений.

  • Service WorkerOffline-first

    Стратегическое кеширование ресурсов, резервная страница /offline.html.

  • Vitestv4.1Модульные тесты

    Использует конфигурацию Vite, а значит те же алиасы и тот же конвейер, что и в продакшене.

  • Playwrightv1.62E2E-тесты

    Критические сценарии прогоняются в Chromium (десктоп) и в мобильном профиле Pixel 7.

Безопасность и соответствие требованиям

  • Content-Security-PolicyЗащита от XSS

    script-src без 'unsafe-inline': каждый встроенный скрипт разрешён по своему хешу SHA-256, который проверяется при сборке.

  • HSTS preloadЗащита от даунгрейда

    max-age 2 года, includeSubDomains, preload-список Chrome.

  • Permissions-PolicyМинимальные привилегии

    Камера, микрофон, USB, геолокация по умолчанию отключены.

  • GDPR by designКонфиденциальность

    Consent Mode v2, отказ по умолчанию, GA4 загружается только после явного согласия (без GTM), субподрядчики названы поимённо.

Внутренние инструменты

  • ESLintv10.8Линтинг

    Строгие правила, проверка хуков, блокирует CI при ошибках.

  • rollup-plugin-visualizerv7.0Анализ бандла

    Графический анализ чанков, выявление тяжёлых импортов.

  • PostCSSv8.5Сборка CSS

    Autoprefixer, совместимость с современными браузерами (целевой уровень es2020+).

  • npmМенеджер пакетов

    Источник истины — package-lock.json, именно его Vercel устанавливает при деплое.

Эта страница живёт

Мы обновляем этот список при каждом крупном изменении. Полную историю итераций смотрите в нашем публичном журнале изменений, а токены и компоненты — в нашей дизайн-системе.

Обсудить вашу инфраструктуру