Files
gitea-dashboard/docs/analyse/gitea-dashboard-v1.2.0-2026-03-12.md
2026-03-12 04:21:33 +01:00

68 lines
2.6 KiB
Markdown

# Analyse v1.2.0 — gitea-dashboard
**Date** : 2026-03-12
**Track** : minor
**Issues** : #6, #7, #8, #9, #10 (5/5 fermees)
## Metriques
| Metrique | v1.1.0 | v1.2.0 | Delta | Seuil | Alerte |
|----------|--------|--------|-------|-------|--------|
| Modules source | 5 | 7 | +2 | — | — |
| Lignes source | ~400 | 551 | +38% | — | — |
| Fichiers test | 4 | 6 | +2 | — | — |
| Tests | 53 | 88 | +66% | +50% | OUI |
| Couverture | ~95% | 93% | -2% | -5% | non |
| Dependances | 2 | 2 | 0 | +5 | non |
| Audit initial | 94 | 78 | -16 | — | — |
| Audit final | 100 | 100 | 0 | — | — |
| Rounds audit | 2 | 3 | +1 | — | — |
### Alerte : tests +66%
La croissance des tests depasse le seuil de +50%. C'est attendu pour une version minor
ajoutant 5 fonctionnalites (4 Added + 1 Fixed). Le ratio tests/fonctionnalite reste stable
(~7 tests/fonctionnalite). Pas d'action corrective necessaire.
## Chronologie
| Etape | Duree estimee | Notes |
|-------|--------------|-------|
| 6 Plan | rapide | architect, 3 phases, 3 ADR |
| 7 Dev | moyen | orchestrator (8 fichiers), 1 commit |
| 8 Audit | moyen | 3 rounds (78→94→100), 4 corrections |
| 9 Smoke | rapide | 7/7 E2E, 1 round |
| 10 Docs | fusionne avec 11 | — |
| 11 Release | rapide | lightweight, guardian APPROVED |
| 12 Deploy | skip | CLI local |
| 13 Retro | rapide | metriques + analyse |
## Findings d'audit corriges
1. **Sort milestones** : la section milestones utilisait la liste non triee
2. **Sort JSON** : `--sort` etait ignore en mode `--format json`
3. **Import lazy** : `export_json` importe conditionnellement dans le corps de main()
4. **Helper duplique** : `_make_repo` identique dans test_display.py et test_exporter.py
5. **N+1 API** : declasse en dette documentee (ADR-003), 3 appels/repo accepte
## Decisions notables
- **ADR-006** : ajout de `exporter.py` (5e module), separation serialisation/affichage
- **ADR-007** : retry manuel plutot que urllib3.Retry (simplicite, testabilite)
- **ADR-008** : tri dans display.py, pas collector.py (SRP)
- **sort_repos rendu public** : necessaire pour le tri JSON dans cli.py
## Points d'amelioration pour v1.3+
- Parallelisation des appels API (ADR-003, 3 appels sequentiels par repo)
- Export CSV
- Cache API local
- Couverture display.py a 86% (branches de formatage de dates)
## Conclusion
Version v1.2.0 livree avec les 5 fonctionnalites prevues. Audit final 100/100.
Le score initial d'audit (78) est le plus bas depuis v1.0.0, principalement du a
des bugs introduits par l'orchestrateur (sort inconsistency, sort JSON). Les corrections
ont ete rapides (3 rounds). La dette N+1 est documentee et planifiee.