- Add all process docs to mkdocs.yml nav (15 missing pages) - Replace relative links to files outside docs/ with absolute GitHub URLs - Add docs/audit/ directory (templates + reports) - Add validation config to allow unlisted audit reports as info-level
44 lines
1.5 KiB
Markdown
44 lines
1.5 KiB
Markdown
# Rapport d'audit : DRY (Don't Repeat Yourself)
|
|
|
|
**Release** : 0.3.1
|
|
**Date** : 2026-04-10
|
|
**Auditeur** : claude-code
|
|
|
|
---
|
|
|
|
## Score de compliance
|
|
|
|
| Metrique | Valeur |
|
|
|----------|--------|
|
|
| Items conformes | 6 / 7 |
|
|
| Score | 83 / 100 |
|
|
| Ecarts CRITICAL | 0 |
|
|
| Ecarts MAJOR | 1 |
|
|
| Ecarts MINOR | 0 |
|
|
| Ecarts INFO | 0 |
|
|
|
|
---
|
|
|
|
## Ecarts constates
|
|
|
|
### [MAJ] Magic numbers 612.0 / 792.0 dupliques dans `serve_converter.py`
|
|
|
|
- **Localisation** : `infra/serve_converter.py:195,196,223,224`
|
|
- **Constat** : Les dimensions US Letter (612.0, 792.0) sont utilisees comme litteraux bruts 4 fois, alors que `local_converter.py` definit correctement les constantes nommees `_DEFAULT_PAGE_WIDTH` et `_DEFAULT_PAGE_HEIGHT`.
|
|
- **Regle violee** : 5.3 — Pas de magic numbers eparpilles
|
|
- **Remediation** : Extraire ces constantes dans un module partage ou les importer depuis `local_converter.py`.
|
|
|
|
---
|
|
|
|
## Points positifs
|
|
|
|
- Aucun bloc de code identique n'apparait 3+ fois sans factorisation
|
|
- Types partages centralises dans `shared/types.ts` (frontend) et `domain/models.py` + `domain/value_objects.py` (backend)
|
|
- Logique reactive partagee dans `shared/composables/usePagination.ts`
|
|
- Appels API centralises via `apiFetch` dans `shared/api/http.ts` — zero fuite de `fetch()` brut
|
|
- Schemas Pydantic transforment les modeles domaine, ne les redefinissent pas
|
|
- Regles de validation definies en un seul endroit (backend = source de verite, frontend = UX optimization)
|
|
|
|
---
|
|
|
|
## Verdict partiel : GO
|