From 30c17e760e2bac22be9c42107d954585508d6e43 Mon Sep 17 00:00:00 2001 From: root Date: Sun, 23 Aug 2026 11:05:35 +0000 Subject: [PATCH] docs(planning): document phase 2.1 validation --- docs/ui-audit/CREATED_TEST_DATA.md | 15 ++++++ docs/ui-audit/IMPLEMENTATION_PHASE21.md | 66 +++++++++++++++++++++++++ docs/ui-audit/PAGES_MATRIX.md | 1 + docs/ui-audit/PROGRESS.md | 9 ++++ docs/ui-audit/REPORT.md | 8 +++ docs/ui-audit/UX_PROPOSALS.md | 7 +++ 6 files changed, 106 insertions(+) create mode 100644 docs/ui-audit/IMPLEMENTATION_PHASE21.md diff --git a/docs/ui-audit/CREATED_TEST_DATA.md b/docs/ui-audit/CREATED_TEST_DATA.md index 9bedc43..ddea1a1 100644 --- a/docs/ui-audit/CREATED_TEST_DATA.md +++ b/docs/ui-audit/CREATED_TEST_DATA.md @@ -149,3 +149,18 @@ de déplacement ; aucune donnée antérieure ni `alban` n'a été supprimée. Aucune donnée `TEST_UI_PHASE2_*` n'a été créée pendant cette première tranche. Les tests utilisent des objets en mémoire et ne nettoient ni ne suppriment les données existantes de la copie VM. + +## Phase 2.1 — Ma journée + +- Compte `TEST_UI_PHASE21_TECH`, rôle `test_ui_phase21_planner` avec droits + planning, interventions, patrimoine et prévention. +- Site `TEST_UI_PHASE21_SITE`, bâtiments `TEST_UI_PHASE21_BAT_A` et + `TEST_UI_PHASE21_BAT_B`, zones et salles marquées `TEST_UI_PHASE21_*`. +- Occupations : salle 101 manuelle, salle 102 Pronote simulée, salle 201 + manuelle protégée. +- Rendez-vous fixe, urgence, interventions, préventives et tâches + administratives portant les marqueurs `TEST_UI_PHASE21_*`. +- Horaires du compte : lundi–vendredi 08:00–12:00 / 13:30–17:00. + +Le mot de passe du compte de test est local uniquement et n'est pas stocké +dans ce dépôt. diff --git a/docs/ui-audit/IMPLEMENTATION_PHASE21.md b/docs/ui-audit/IMPLEMENTATION_PHASE21.md new file mode 100644 index 0000000..12034b5 --- /dev/null +++ b/docs/ui-audit/IMPLEMENTATION_PHASE21.md @@ -0,0 +1,66 @@ +# Implémentation Phase 2.1 — validation métier de Ma journée + +## Baseline + +- Version avant : `0.1.0-dev.7` +- Commit de départ : `c5b298c` +- Docker local : image `gmao-college:0.1.0-dev.7`, MariaDB saine +- `/health/` : HTTP 200 +- `/planning/my-day` : réponse 200 après connexion +- Ancien menu : inchangé, 76/76, administrateurs uniquement + +## Données persistantes + +Le scénario est conservé dans la copie locale de la base sous les marqueurs +`TEST_UI_PHASE21_*`. Le compte `TEST_UI_PHASE21_TECH` possède un rôle dédié +avec les permissions planning, intervention, patrimoine et prévention. Son mot +de passe est local uniquement et n'est pas écrit dans Git. + +Créés : + +- site `TEST_UI_PHASE21_SITE` ; +- bâtiments `TEST_UI_PHASE21_BAT_A` et `TEST_UI_PHASE21_BAT_B` ; +- zones et salles 101, 102, circulation, 201, 001, local technique et + sanitaires ; +- horaires utilisateur 08:00–12:00 / 13:30–17:00 du lundi au vendredi ; +- occupations internes : salle 101 manuelle 08:30–09:30, salle 102 Pronote + simulée 08:30–09:00, salle 201 manuelle protégée 14:00–16:00 ; +- rendez-vous `TEST_UI_PHASE21_COMPANY_APPOINTMENT` fixe 09:30–10:30 ; +- urgence `TEST_UI_PHASE21_EMERGENCY_FUITE` fixe 10:15–11:00 ; +- interventions, cinq tâches préventives et tâches administratives ; +- journée contrainte du mardi pour vérifier le statut « À replanifier ». + +Aucune donnée existante n'a été nettoyée globalement. + +## Résultats + +Le lundi 24/08/2026, le moteur place l'administratif, les interventions et les +maintenances dans les fenêtres de travail, sans utiliser la salle 101 pendant +son occupation manuelle ni la salle 102 pendant son créneau Pronote simulé. +Le rendez-vous entreprise reste fixe. L'urgence qui le chevauche est marquée +`conflit` et expliquée : rendez-vous fixe chevauché, décision humaine requise. + +Le mardi 25/08/2026, deux blocs fixes occupent 08:00–12:00 et 13:30–16:30. +La tâche administrative de 45 minutes est conservée et marquée `À replanifier`, +sans être tronquée. + +## Replanification minimale + +`POST /planning/my-day/reschedule` permet de choisir un créneau proposé pour +une `ScheduledTask` ou une `Intervention`. Le serveur revalide l'identité, la +durée, les horaires, la pause, les conflits internes et la salle avant +d'écrire. Les tâches administratives ne sont pas encore persistées +individuellement car leur modèle est récurrent sans date d'occurrence. + +## Tests et limites + +- `tests/unit/test_day_planner.py` : **15 passed** ; +- navigation + replanification invalide : **5 passed** ; +- total ciblé Phase 2.1 : **20 passed** ; +- mesure locale : environ 2 secondes pour 10 candidats et plusieurs salles ; +- aucune validation visuelle réelle 390×844/768×1024, navigateur instrumenté + indisponible. + +Restent à développer : résolution humaine plus complète des conflits, +replanification automatique après urgence, accompagnement multi-segments, +multi-techniciens, compétences et solveur. diff --git a/docs/ui-audit/PAGES_MATRIX.md b/docs/ui-audit/PAGES_MATRIX.md index 746ad75..b5f22a8 100644 --- a/docs/ui-audit/PAGES_MATRIX.md +++ b/docs/ui-audit/PAGES_MATRIX.md @@ -140,3 +140,4 @@ activement. Le contrôle visuel réel aux trois tailles reste à effectuer lorsqu'un navigateur instrumenté sera disponible. | Ma journée | `/planning/my-day` | `planning.view` | Proposition quotidienne de tâches internes | Implémentée Phase 2 ; aucune écriture automatique | +| Replanification Ma journée | `/planning/my-day/reschedule` | `planning.edit` | Validation d'un créneau choisi | Implémentée Phase 2.1 ; contrôles serveur | diff --git a/docs/ui-audit/PROGRESS.md b/docs/ui-audit/PROGRESS.md index d41ef25..bef27d8 100644 --- a/docs/ui-audit/PROGRESS.md +++ b/docs/ui-audit/PROGRESS.md @@ -473,3 +473,12 @@ aux administrateurs. - Horaires configurés et pauses respectés ; sans horaires explicites, aucune journée 08:00–17:00 n'est inventée. - 8 tests ciblés passants. Ancien menu inchangé, 76/76. +### Phase 2.1 — validation métier réelle (2026-08-23) + +- Scénario persistant `TEST_UI_PHASE21_*` créé sur copie locale VM. +- Journées nominale du 24/08/2026 et contrainte du 25/08/2026 vérifiées. +- Occupations salle manuelle, Pronote simulée et protégée respectées. +- Rendez-vous entreprise fixe conservé ; conflit avec urgence rendu visible. +- Tâche administrative trop longue conservée en `À replanifier`. +- Replanification minimale ajoutée avec validation serveur. +- 20 tests ciblés passants ; version conservée `0.1.0-dev.7`. diff --git a/docs/ui-audit/REPORT.md b/docs/ui-audit/REPORT.md index 3bcc118..c65b1eb 100644 --- a/docs/ui-audit/REPORT.md +++ b/docs/ui-audit/REPORT.md @@ -361,3 +361,11 @@ appelés. La proposition reste partielle pour les urgences avec replanification, l'accompagnement multi-segments des entreprises et le multi-techniciens. +## Phase 2.1 — validation métier de Ma journée + +La validation locale montre que le moteur ne perd pas de tâche, respecte la +pause et les horaires, utilise les occupations internes résolues et conserve +les rendez-vous fixes. Une urgence qui chevauche un rendez-vous fixe produit un +conflit explicite au lieu d'une suppression automatique. La replanification +minimale est disponible pour les interventions et tâches planifiées, avec +contrôles serveur. diff --git a/docs/ui-audit/UX_PROPOSALS.md b/docs/ui-audit/UX_PROPOSALS.md index 1683ae4..c66d7c4 100644 --- a/docs/ui-audit/UX_PROPOSALS.md +++ b/docs/ui-audit/UX_PROPOSALS.md @@ -1,5 +1,12 @@ # Propositions UX — phase finale +## UX appliquée — Phase 2.1 + +La timeline de `Ma journée` affiche un résumé compact des tâches, urgences, +conflits et éléments à replanifier. Les conflits de rendez-vous fixes sont +expliqués en langage métier et la replanification propose des créneaux sans +afficher de détails techniques. + Document de propositions, sans refonte implémentée. Les observations proviennent de la navigation locale sur copie de la base VM et des contrôles statiques des menus et formulaires. Les intégrations interdites (watchdogs,