# Documentation technique — Olhar PWA ## Stack technique | Composant | Technologie | Version | |-----------|-------------|---------| | Framework | Angular | 19.x | | Style | SCSS | — | | PWA | @angular/pwa + Service Worker | 19.x | | Tests | Karma + Jasmine + Chrome headless | — | | Conteneur tests | Docker (node:24-slim + Chromium) | — | | CI | Hook pre-commit Docker | — | ## Architecture ``` src/ ├── app/ │ ├── core/ # Services globaux, guards, interceptors │ ├── features/ # Modules fonctionnels (un dossier par feature) │ │ ├── auth/ │ │ ├── photos/ │ │ └── sorting/ │ ├── shared/ # Composants, pipes, directives réutilisables │ └── app.routes.ts # Routes principales ├── environments/ # Feature flags et config par environnement └── styles.scss # Styles globaux ``` ## Feature flags Les feature flags permettent à l'application de fonctionner sans API backend. Voir `src/environments/environment.ts` et `src/environments/environment.prod.ts`. Pattern : chaque service vérifie `environment.features.` avant tout appel HTTP. Si le flag est `false`, des données mockées sont retournées depuis `src/app/core/mocks/`. ## Tests - Couverture minimale : **90%** (statements, branches, functions, lines) - Exécution via Docker pour isolation et reproductibilité - Hook `pre-commit` bloque si tests échouent ou couverture < 90% ## Documents techniques par domaine | Domaine | Document | |---------|----------| | Architecture générale | Ce fichier | | Service photos | [photo-service.md](photo-service.md) | | Authentification | [auth.md](auth.md) | | PWA & Service Worker | [pwa.md](pwa.md) |