docs(planning): document phase 2.1 validation
This commit is contained in:
parent
a760a4df69
commit
30c17e760e
6 changed files with 106 additions and 0 deletions
|
|
@ -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.
|
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
|
Les tests utilisent des objets en mémoire et ne nettoient ni ne suppriment les
|
||||||
données existantes de la copie VM.
|
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.
|
||||||
|
|
|
||||||
66
docs/ui-audit/IMPLEMENTATION_PHASE21.md
Normal file
66
docs/ui-audit/IMPLEMENTATION_PHASE21.md
Normal file
|
|
@ -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.
|
||||||
|
|
@ -140,3 +140,4 @@ activement.
|
||||||
Le contrôle visuel réel aux trois tailles reste à effectuer lorsqu'un
|
Le contrôle visuel réel aux trois tailles reste à effectuer lorsqu'un
|
||||||
navigateur instrumenté sera disponible.
|
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 |
|
| 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 |
|
||||||
|
|
|
||||||
|
|
@ -473,3 +473,12 @@ aux administrateurs.
|
||||||
- Horaires configurés et pauses respectés ; sans horaires explicites, aucune
|
- Horaires configurés et pauses respectés ; sans horaires explicites, aucune
|
||||||
journée 08:00–17:00 n'est inventée.
|
journée 08:00–17:00 n'est inventée.
|
||||||
- 8 tests ciblés passants. Ancien menu inchangé, 76/76.
|
- 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`.
|
||||||
|
|
|
||||||
|
|
@ -361,3 +361,11 @@ appelés.
|
||||||
|
|
||||||
La proposition reste partielle pour les urgences avec replanification,
|
La proposition reste partielle pour les urgences avec replanification,
|
||||||
l'accompagnement multi-segments des entreprises et le multi-techniciens.
|
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.
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,12 @@
|
||||||
# Propositions UX — phase finale
|
# 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
|
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
|
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,
|
statiques des menus et formulaires. Les intégrations interdites (watchdogs,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue