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
+66
View File
@@ -0,0 +1,66 @@
# Olhar PWA
Application web progressive (PWA) Angular 19 de gestion et tri de photos personnelles.
## Fonctionnalités
- Version mobile et web
- Authentification
- Ajout de photos
- Tri de photos (5 par jour)
- Nommer, vérifier la date, localiser
- Commenter les photos
- Identifier les personnes présentes
- Statut : non vérifié / validé le JJ/MM/AAAA
- Signaler une photo non pertinente
- Visualisation des photos (optimisation taille pour mobile)
## Prérequis
- Node.js 24.x
- npm 11.x
- Docker (pour les tests via hook pre-commit)
## Installation
```bash
npm install
# Les hooks git sont installés automatiquement via postinstall
```
## Développement
```bash
npm start # Serveur de dev sur http://localhost:4200
```
## Tests
```bash
npm test # Tests en mode watch (dev)
npm run test:ci # Tests one-shot (CI/CD)
npm run test:coverage # Tests + rapport de couverture
docker compose -f docker-compose.test.yml run --rm test # Via Docker
```
## Build
```bash
npm run build # Build de production dans dist/
```
## Versioning
La version est définie dans `package.json` (SemVer, démarre à `0.0.1`).
```bash
npm run version:patch # bug fix / ajout mineur
npm run version:minor # nouvelle fonctionnalité
npm run version:major # changement majeur
```
## Documentation
- [Documentation fonctionnelle](docs/functional/README.md)
- [Documentation technique](docs/technical/README.md)
- [Règles de développement](CLAUDE.md)