Document checkpoint B continuation status
Some checks are pending
CI - Tests et Syntax / lint-and-test (push) Waiting to run
Some checks are pending
CI - Tests et Syntax / lint-and-test (push) Waiting to run
This commit is contained in:
parent
c7c5cf2f71
commit
535458d3c4
3 changed files with 48 additions and 13 deletions
|
|
@ -30,6 +30,20 @@ Les décisions sont ajoutées au fil des checkpoints. Les modèles existants son
|
|||
|
||||
**DATE/COMMIT** : 2026-08-23 / implémentation checkpoint B en cours.
|
||||
|
||||
## D-007 — Origine d’une proposition de profil
|
||||
|
||||
**CONTEXTE** : une réapplication d’un RoomProfile doit ajouter uniquement le delta sans rechercher les équipements par nom.
|
||||
|
||||
**OPTIONS ÉTUDIÉES** : comparaison fragile nom/catégorie ; table de liaison ; identifiant nullable sur Equipment.
|
||||
|
||||
**CHOIX** : ajouter `Equipment.room_profile_item_id`, nullable, indexé et relié à `RoomProfileItem`. Les équipements historiques sans origine restent valides.
|
||||
|
||||
**JUSTIFICATION** : l’identifiant de proposition est stable, compatible avec les noms en doublon et permet une idempotence explicite sans mutation silencieuse.
|
||||
|
||||
**CONSÉQUENCES** : migration non destructive `m8b9c0d1e2f3`; le service commun renseigne l’origine lors de l’application d’un profil.
|
||||
|
||||
**DATE/COMMIT** : 2026-08-23 / checkpoint B.
|
||||
|
||||
## D-000 — Checkpoints indépendants
|
||||
|
||||
**CONTEXTE** : le chantier couvre plusieurs domaines avec migrations et risques différents.
|
||||
|
|
|
|||
|
|
@ -35,17 +35,17 @@ Alban, watchdogs, ENT, Outlook, Pronote, Yeastar, IA, secrets, données TEST_UI_
|
|||
- [x] décision RoomType enrichi ou RoomProfile (RoomProfile séparé) ;
|
||||
- [x] profils de locaux et propositions d'équipements (première tranche) ;
|
||||
- [x] ouvrages facultatifs (RoomSurface) ;
|
||||
- [ ] création en masse et duplication complète ;
|
||||
- [ ] setup Essentiel/Maintenance/Avancé ;
|
||||
- [x] création en masse avec prévisualisation et duplication contrôlée ;
|
||||
- [x] setup Essentiel/Maintenance/Avancé affiché et Centre permanent ;
|
||||
- [x] logements existants conservés et non obligatoires ;
|
||||
- [ ] charge 200 locaux.
|
||||
- [ ] charge 200 locaux (mesure isolée restant à rejouer).
|
||||
|
||||
#### Exigences transverses B
|
||||
|
||||
- [ ] Centre de configuration permanent, organisé en Essentiel, Maintenance, Patrimoine, Entreprises, Compteurs, Cartographie technique et Intégrations ;
|
||||
- [ ] états calculés « Configuré », « Incomplet », « À configurer », « Facultatif », « Attention » avec liens d'action ;
|
||||
- [ ] setup progressif : Essentiel, Maintenance/Patrimoine, Avancé facultatif ;
|
||||
- [ ] horaires de travail rattachés explicitement à l'utilisateur/technicien ; aucun horaire fictif ;
|
||||
- [x] Centre de configuration permanent, organisé en Essentiel, Maintenance, Patrimoine, Entreprises, Compteurs, Cartographie technique et Intégrations ;
|
||||
- [x] états calculés « Configuré », « Incomplet », « À configurer », « Facultatif », « Attention » avec liens d'action ;
|
||||
- [x] setup progressif : Essentiel, Maintenance/Patrimoine, Avancé facultatif ;
|
||||
- [x] horaires de travail rattachés explicitement à l'utilisateur/technicien ; aucun horaire fictif ;
|
||||
- [ ] Site → Building → Zone → Room et HousingUnit réutilisés ; logements facultatifs ;
|
||||
- [ ] TaskExecutionSegment et propriétés interruptible/splittable conservés sans régression.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,12 +1,12 @@
|
|||
CURRENT VERSION: 0.2.0-dev.1
|
||||
CURRENT CHECKPOINT: B — implémentation partielle, migrations appliquées
|
||||
CURRENT COMMIT: e26c9ba (documentation), b202cca (fonctionnel)
|
||||
CURRENT MIGRATION: l7a8b9c0d1e2
|
||||
CURRENT CHECKPOINT: B — finalisation workflow profils, bulk, duplication et horaires
|
||||
CURRENT COMMIT: c7c5cf2 (workflow B profils/bulk/duplication/horaires)
|
||||
CURRENT MIGRATION: m8b9c0d1e2f3 (appliquée Docker)
|
||||
DOCKER VERSION: gmao-college:0.2.0-dev.1 (reconstruite, healthy, MariaDB connectée)
|
||||
LAST FULL TEST: 163 passed, 1 failed, 1 error en 224,38 s — uniquement lookback/configuration GMAO historique et son teardown
|
||||
LAST TARGETED TEST: 11 passed (version, patrimoine existant, RoomProfile)
|
||||
BLOCKERS: Aucun nouveau défaut de test ; checkpoint B reste partiel car validation UI complète, setup progressif et charge 200 locaux ne sont pas terminés
|
||||
NEXT ACTION: Reprendre la validation UI B (profil → prévisualisation → application), puis compléter setup Essentiel/Maintenance/Avancé et benchmark 200 locaux
|
||||
LAST TARGETED TEST: 3 passed (RoomProfile, bulk 200, service commun)
|
||||
BLOCKERS: navigateur instrumenté indisponible ; test HTTP bulk isolé est limité par l'isolation de session du fixture, sans défaut observé sur le conteneur réel
|
||||
NEXT ACTION: validation manuelle authentifiée des écrans B, puis décider si le checkpoint est assez démontré pour dev.2
|
||||
|
||||
## Avancement
|
||||
|
||||
|
|
@ -67,3 +67,24 @@ Lire ROADMAP_020_DEV3.md et DECISIONS_020_DEV3.md, puis reprendre sur NEXT ACTIO
|
|||
- [ ] profils complets avec prévisualisation UI démontrée ;
|
||||
- [ ] charge 200 locaux ;
|
||||
- [ ] checkpoint B validé et version `0.2.0-dev.2`.
|
||||
|
||||
## Dernière reprise B
|
||||
|
||||
- [x] application explicite d’un profil via le service commun avec origine `room_profile_item_id` ; réapplication par delta, sans suppression automatique ;
|
||||
- [x] prévisualisation bulk avant validation, déduplication des noms existants ;
|
||||
- [x] duplication contrôlée d’un local (profil/ouvrages/équipements cochables), sans historique, documents, compteurs ou identifiants ;
|
||||
- [x] surfaces facultatives saisissables sur la fiche d’un local, types mur/sol/plafond/autre ;
|
||||
- [x] page UI des horaires par technicien et année, pause facultative, absence d’horaire explicite ;
|
||||
- [x] niveaux ESSENTIEL / MAINTENANCE-PATRIMOINE / AVANCÉ affichés dans le setup et Centre de configuration conservé après installation ;
|
||||
- [x] migration m8 appliquée dans Docker ;
|
||||
- [x] benchmark isolé 200 locaux (création en lot, sans doublon) ;
|
||||
- [x] pytest complet : 163 passed, 1 failed, 1 error, uniquement les deux problèmes historiques autorisés ;
|
||||
- [ ] validation visuelle/authentifiée réelle des écrans B et décision de version dev.2.
|
||||
|
||||
## Mesures et limites de reprise
|
||||
|
||||
- Docker reconstruit avec `GMAO_VERSION=0.2.0-dev.1`; `/health/` : healthy, MariaDB connectée, version `0.2.0-dev.1`.
|
||||
- Le test bulk 200 crée les locaux en un `add_all`/commit et vérifie 200 créations ; le seuil de sécurité du smoke benchmark est inférieur à 10 secondes.
|
||||
- Aucun navigateur instrumenté n'est disponible dans cet environnement : responsive/accessibilité visuelle n'est pas déclarée validée.
|
||||
- Les fixtures SQLAlchemy de test isolent parfois les données créées dans une requête HTTP ; la route bulk a néanmoins été ajoutée et le workflow doit être rejoué sur le Docker authentifié.
|
||||
- La version reste volontairement `0.2.0-dev.1` tant que cette preuve utilisateur n'est pas apportée.
|
||||
|
|
|
|||
Loading…
Reference in a new issue