# Architecture Source unique. `docs/architecture.html` et `docs/architecture-v3.html` coexistaient, en HTML versionné, sans rien qui indique laquelle faisait foi ni où était passée la v2 (DOC-002). Ce fichier reprend le contenu de la v3, la plus complète des deux, en Markdown : lisible en revue de code, comparable en diff, et rendu directement par Gitea comme par GitHub. Les diagrammes sont en Mermaid. Ils décrivent la **structure**, qui bouge lentement ; les chiffres qui bougent vite (nombre de routes, de tests) sont tenus à jour dans le README, pas ici. --- ## 1. Vue d'ensemble | Couche | Contenu | |---|---| | Entrée | `wsgi.py` (Waitress, production) · `run.py` (développement) | | Fabrique | `app/app.py` — `create_app(config=None)`, blueprints, CSP, journalisation | | Routes | 7 blueprints. `users` est un **paquet** de six modules, un seul blueprint | | Services | `app/services/` — notifications Discord, annonce des matchs planifiés | | Autorisation | `app/permissions.py` — point de vérité unique (ARCH-002) | | Modèles | `app/models/` — héritage polymorphe à table unique sur `User` | | Gabarits | Jinja2, rendu serveur, nonce CSP sur chaque bloc `