ADR-0005 — Twig + Bootstrap + Vanilla JS (pas de SPA)
| Statut | Accepté |
|---|---|
| Date | 2024-03-01 |
| Auteurs | Julien Jorry |
Contexte
Une SPA React/Vue/Angular ajoute : une chaîne de build front lourde (webpack/vite/turbopack), un risque d'éclatement front/back (deux modèles de données), une barrière d'entrée pour les bénévoles non-frontistes, un coût de mise à jour des deps majeur. Kohinos est un projet dev solo + futurs contributeurs occasionnels : la stack doit rester abordable.
Décision
Rendu serveur via Twig + Symfony. UI via Bootstrap 5.2. JS : Vanilla ES2020+ (modules natifs, fetch, Web Components au besoin). Webpack Encore pour assemblage uniquement. Pas de framework front.
Conséquences positives
- Un seul modèle (PHP) — pas de désync.
- Une seule chaîne d'outils côté CI.
- SEO et accessibilité par défaut (HTML rendu serveur).
- Lecture du code par un bénévole : pas besoin de comprendre React/Vue.
- Compatible low-tech (pas de hydration JS coûteuse).
Conséquences négatives
- UX moins « app-like » pour les pages très interactives (mais OK pour Kohinos).
- Quelques peer deps tolérées (Select2, CKEditor) car coût de réimplémentation trop fort.
Alternatives examinées
- React + API Platform — rejeté : dette technique double.
- Vue + Inertia — rejeté : encore un framework à apprendre.
- HTMX — intéressant, gardé comme évolution possible si Vanilla devient trop verbeux.
Références
- frontend.html
- conventions.html
CLAUDE.md— règles dures frontend