§9 — Décisions architecturales¶
Les 11 ADR du projet, classées par ordre chronologique et par numéro (qui reflète l'ordre temporel). Chaque ADR suit la même structure : Date / Statut / Implémentation (hashes) / Contexte / Décision / Conséquences (Positives / Négatives / Trade-offs assumés) / Alternatives écartées / Références.
Tableau récapitulatif¶
| # | Titre | Statut | Date | 1-line résumé |
|---|---|---|---|---|
| ADR-001 | Stack TypeScript unique (monostack) | Acceptée | 2026-04-18 | Un seul langage côté code produit (Vue + Fastify + Prisma), pas de Python |
| ADR-002 | Méthodologie ABEM pour le CSS | Acceptée | 2026-04-18 | Préfixes a-/m-/o-/t-/p- sur 100 % des composants Vue |
| ADR-003 | Monolithe Fastify vs microservices | Acceptée | 2026-04-18 | API + cron ingestion dans le même runtime, pas de queue |
| ADR-004 | Prisma comme ORM | Acceptée | 2026-04-18 | Schéma typé end-to-end, migrations versionnées, zéro SQL brut |
| ADR-005 | Leaflet pour la cartographie | Acceptée avec drift | 2026-04-18 | Leaflet + OSM (drift vs swisstopo WMTS initial pour zero-cost attribution) |
| ADR-006 | D3 vanilla vs wrappers Vue | Acceptée | 2026-04-18 | D3 modules directement, pas de lib wrapper, logique pure extraite |
| ADR-007 | LINDAS SPARQL comme source de données | Acceptée — pivot | 2026-04-20 | Pivot depuis XML OFEV en J4, flux hydroweb.xml mort |
| ADR-008 | Transparence du sourcing des stations CREALP | Acceptée — implémentée | 2026-04-22 | Champ sourcingStatus CONFIRMED / ILLUSTRATIVE orthogonal à dataSource |
| ADR-009 | Périmètre Storybook et exclusions | Acceptée — implémentée | 2026-04-23 | 15 composants storyisés, 3 organismes Pinia + Leaflet exclus |
| ADR-010 | Architecture frontend post-refactor | Acceptée — implémentée | 2026-04-23 | Façades feature-grouped, lib/ domain-scoped, règles enforced |
| ADR-011 | Infrastructure de documentation arc42 | Acceptée — implémentée | 2026-04-24 | Site MkDocs Material sur docs.alpimonitor.fr, 10 sections, C4 Structurizr, deploy Coolify |
Notes de lecture¶
- ADR-005 a un drift documenté — la décision initiale visait swisstopo WMTS, la réalité tourne sur OpenStreetMap (stabilité + zero-cost attribution). Trace conservée, pas de superseded.
- ADR-007 est un pivot structurant — survenu en cours de sprint (J4), il a invalidé toute la section ingestion du PRD initial. L'API, le modèle de données, et les conventions de sourcing en héritent.
- ADR-008, ADR-010, ADR-011 sont les plus récents — ils capturent les décisions post-livraison candidature (session Option A + refactor post-Storybook + documentation arc42). Leur densité narrative est la plus élevée du corpus.
Les ADR sont aussi servies sur la branche main du repo GitHub sous docs/architecture/adr/ — même contenu verbatim, accessible hors site MkDocs pour archéologie git.