CURRENT VERSION: 0.2.0-dev.1 CURRENT CHECKPOINT: B — implémentation partielle, migration à appliquer CURRENT COMMIT: b6468a5 (version), 7681c55 (statut), 29d336e (documentation), c4bfef1 (fonctionnel) CURRENT MIGRATION: j5e6f7a8b9c0 (code migrations B non encore appliqué sur Docker) DOCKER VERSION: gmao-college:0.2.0-dev.1 (ancienne image active ; rebuild B à faire) 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 tant que migration, Docker et validation UI ne sont pas terminés NEXT ACTION: Committer l'implémentation B, appliquer les migrations k6/l7 sur Docker, vérifier /configuration/ et les routes de profils ## 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 ; - [ ] rebuild Docker et application des migrations ; - [ ] validation UI réelle et setup Essentiel/Maintenance/Avancé ; - [ ] profils complets avec prévisualisation UI démontrée ; - [ ] charge 200 locaux ; - [ ] checkpoint B validé et version `0.2.0-dev.2`.