feat(init): initialisation du projet Angular 19 PWA — v0.0.1

- Angular 19 avec routing, SCSS, PWA (Service Worker + manifest)
- Couverture de tests ≥ 90% configurée dans karma.conf.js
- Docker pour tests isolés (Dockerfile.test + docker-compose.test.yml)
- Image de production multi-stage (Dockerfile + nginx.conf)
- Hook pre-commit bloquant si tests échouent ou couverture < 90%
- CI Gitea (.gitea/workflows/ci.yml) : tests + build/push image Docker
- Versioning SemVer depuis 0.0.1 avec scripts npm version:*
- Feature flags par environnement (src/environments/)
- Documentation fonctionnelle (docs/functional/) et technique (docs/technical/)
- CLAUDE.md avec toutes les règles de développement

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-06 18:52:08 +02:00
commit 915d3ce3a7
47 changed files with 17424 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
# 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.<flag>` 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) |