93 lines
6.4 KiB
Markdown
93 lines
6.4 KiB
Markdown
CURRENT VERSION: 0.2.0-dev.1
|
||
CURRENT CHECKPOINT: B — validation fonctionnelle finale
|
||
CURRENT COMMIT: à committer (Centre de configuration, menu, tests HTTP B)
|
||
CURRENT MIGRATION: m8b9c0d1e2f3 (appliquée Docker)
|
||
DOCKER VERSION: gmao-college:0.2.0-dev.1 (reconstruite, healthy, MariaDB connectée)
|
||
LAST FULL TEST: 166 passed, 1 failed, 1 error — uniquement lookback/configuration GMAO historique et son teardown
|
||
LAST TARGETED TEST: 11 passed (navigation, profil HTTP, bulk 200, horaires UI, Centre de configuration)
|
||
BLOCKERS: navigateur Chromium disponible mais aucune session admin locale documentée ; validation responsive visuelle non exécutée
|
||
NEXT ACTION: committer/pousser, puis maintenir dev.1 tant que la session navigateur admin locale n’est pas démontrée
|
||
|
||
## Avancement
|
||
|
||
- [x] mémoire de chantier créée ;
|
||
- [x] baseline Git/Docker/version vérifié ;
|
||
- [x] service commun introduit pour les routes fiche et wizard ;
|
||
- [x] lot facultatif accepté par les routes wizard ;
|
||
- [x] suppression de la recherche par nom dans le wizard ;
|
||
- [x] fallback Intervention 60 minutes supprimé ;
|
||
- [x] tests ciblés A (28 passants) ;
|
||
- [x] audit A1-A7 ;
|
||
- [x] checkpoint A commit/version ;
|
||
- [ ] checkpoint B ;
|
||
- [ ] checkpoint C ;
|
||
- [ ] checkpoint D ;
|
||
- [ ] checkpoint E.
|
||
|
||
## Reprise
|
||
|
||
Lire ROADMAP_020_DEV3.md et DECISIONS_020_DEV3.md, puis reprendre sur NEXT ACTION. Ne pas commencer B avant clôture documentée de A.
|
||
|
||
## Détail checkpoint A
|
||
|
||
- Le service `core.services.equipment_creation.create_equipment` est utilisé par la fiche Equipment et les deux parcours wizard.
|
||
- Catégorie et lot sont facultatifs dans les créations wizard ; une catégorie/lot explicitement invalide reste rejeté.
|
||
- Les instances créées sont conservées en mémoire ; aucune recherche post-création par nom n'est effectuée.
|
||
- Le fallback silencieux de 60 minutes des interventions est remplacé par une durée inconnue (`0`) quand aucune estimation n'est disponible.
|
||
- Les nouveaux tests unitaires couvrent l'équipement sans lot et les noms dupliqués.
|
||
- Le test historique `test_gmao_config_caps_lookback_at_one_year` échoue encore (plafond 9000 au lieu de 8760) et son teardown échoue sur `gmao_context.user_id` NULL ; aucune nouvelle régression observée.
|
||
|
||
## Après versionnement A
|
||
|
||
- Version applicative : `0.2.0-dev.1`.
|
||
- La version est mise à jour dans `VERSION`, dans les valeurs par défaut de `docker-compose.yml` et dans le test de version.
|
||
- Le checkpoint B n'est pas commencé ; aucune migration nouvelle n'a été créée.
|
||
- Docker doit être reconstruit avec `GMAO_VERSION=0.2.0-dev.1` avant toute validation UI de cette version.
|
||
- Reconstruction effectuée : image `gmao-college:0.2.0-dev.1`, migrations lancées au démarrage, `/health/` retourne `healthy`, version `0.2.0-dev.1`, MariaDB connectée.
|
||
- Le compose signale encore `health: starting` pendant sa fenêtre initiale ; l'endpoint applicatif est déjà sain.
|
||
- Aucun fichier non commité après le commit de statut suivant.
|
||
|
||
## Reprise checkpoint B
|
||
|
||
- [x] exigences Centre de configuration permanent ajoutées à la roadmap ;
|
||
- [x] configuration progressive et intégrations facultatives documentées ;
|
||
- [x] horaires technicien explicitement rattachés à l'utilisateur et absence de fallback rappelée ;
|
||
- [x] hiérarchie Site → Building → Zone → Room et HousingUnit documentée ;
|
||
- [x] non-régression TaskExecutionSegment/interruption documentée ;
|
||
- [x] exigences détaillées des checkpoints C, D et E ajoutées à la roadmap sans les commencer ;
|
||
- [ ] audit B1 des modèles et parcours ;
|
||
- [ ] décision RoomType enrichi ou RoomProfile ;
|
||
- [x] décision documentée : RoomProfile séparé de RoomType ;
|
||
- [x] migration B écrite : k6f7a8b9c0d1 puis l7a8b9c0d1e2 ;
|
||
- [x] implémentation initiale des profils, propositions, surfaces et Centre de configuration ;
|
||
- [x] association facultative d'un profil aux locaux et sélection dans le bulk ;
|
||
- [x] tests ciblés B et pytest complet sans nouvelle régression ;
|
||
- [x] rebuild Docker et application des migrations ;
|
||
- [x] validation HTTP authentifiée des profils : création UI, preview, application, réapplication, modification sans mutation ;
|
||
- [x] validation HTTP authentifiée des horaires de deux techniciens ;
|
||
- [x] Centre de configuration rendu et liens principaux vérifiés ;
|
||
- [x] charge 200 locaux ;
|
||
- [ ] validation responsive visuelle avec compte admin local ;
|
||
- [ ] 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.
|
||
- Chromium Playwright est installé (`~/.cache/ms-playwright`), mais aucun identifiant administrateur local n’a été trouvé dans les procédures du dépôt ; aucune session de production n’a été contourné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.
|
||
- Le Centre de configuration a été corrigé pour les contrats (utilisation des colonnes ORM réelles) et les liens profils/bulk/horaires ont été ajoutés au nouveau menu.
|