docs(planning): document phase 2 daily planning foundation
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
2fdefccfd3
commit
00eeb3d441
6 changed files with 100 additions and 0 deletions
|
|
@ -144,3 +144,8 @@ de déplacement ; aucune donnée antérieure ni `alban` n'a été supprimée.
|
|||
- Créneau `TEST_UI_PLANNING_PROTECTED`, salle `TEST_UI_CLASSE_101`, semaine du
|
||||
07/09/2026, vendredi 14:00–16:00, réunion exceptionnelle manuelle avec
|
||||
protection contre les mises à jour Pronote. Donnée conservée pour inspection.
|
||||
## Phase 2
|
||||
|
||||
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.
|
||||
|
|
|
|||
66
docs/ui-audit/IMPLEMENTATION_PHASE2.md
Normal file
66
docs/ui-audit/IMPLEMENTATION_PHASE2.md
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
# Implémentation Phase 2 — Ma journée
|
||||
|
||||
## Baseline
|
||||
|
||||
- Version avant : `0.1.0-dev.6`
|
||||
- Commit de départ : `3c4ef00`
|
||||
- Environnement : copie locale de la base VM, Docker local sur `127.0.0.1:5080`
|
||||
- `/health/` : HTTP 200, MariaDB connectée
|
||||
- Ancien menu : conservé, 76/76 entrées, administrateurs uniquement
|
||||
- Intégrations externes : Pronote, ENT, Outlook, IA et watchdogs non requis
|
||||
- Baseline pytest historique : `132 passed, 1 failed, 1 error`, échec/erreur
|
||||
lookback GMAO hors périmètre
|
||||
|
||||
## Architecture retenue
|
||||
|
||||
La Phase 2 n'ajoute pas une quatrième table de tâches. Le service
|
||||
`app_new/core/services/day_planner.py` expose une dataclass
|
||||
`PlanningCandidate` et agrège les modèles existants : `ScheduledTask`,
|
||||
`Intervention`, `AdminTask`, les salles et les horaires `WorkSchedule`.
|
||||
Les propositions restent en mémoire : aucune modification silencieuse du
|
||||
planning n'est effectuée.
|
||||
|
||||
Types couverts : maintenance préventive, intervention, administratif et
|
||||
urgence. Un rendez-vous d'entreprise déjà représenté par une tâche fixe peut
|
||||
être conservé ; le modèle multi-segments d'accompagnement reste hors de cette
|
||||
tranche.
|
||||
|
||||
## Règles de proposition
|
||||
|
||||
- les horaires de travail et la pause sont des contraintes fortes ;
|
||||
- sans horaire explicitement configuré pour le jour et l'utilisateur, la vue
|
||||
affiche une alerte et ne fabrique pas de journée 08:00–17:00 ;
|
||||
- les créneaux fixes sont conservés ;
|
||||
- les urgences et échéances sont triées avant les tâches flexibles ;
|
||||
- les salles sont vérifiées via le planning interne résolu, jamais via Pronote ;
|
||||
- la recherche de créneau avance par pas déterministes de cinq minutes ;
|
||||
- une tâche impossible est marquée « À replanifier » avec une explication ;
|
||||
- chaque choix expose une raison courte à l'utilisateur.
|
||||
|
||||
## Interface
|
||||
|
||||
`/planning/my-day` est accessible depuis `Mon travail > Ma journée` et depuis
|
||||
le tableau de bord. La vue propose la date précédente, aujourd'hui et la date
|
||||
suivante, puis une timeline de cartes indiquant heure, durée, lieu, type,
|
||||
contrainte, statut et explication. Les actions d'application automatique ne
|
||||
sont pas présentes dans cette première tranche : l'utilisateur garde le
|
||||
contrôle.
|
||||
|
||||
## Tests ajoutés
|
||||
|
||||
`tests/unit/test_day_planner.py` couvre la pause, le déterminisme, les horaires
|
||||
fixes, l'impossibilité d'une tâche trop longue et l'absence d'horaires.
|
||||
|
||||
## Limites Phase 2 restantes
|
||||
|
||||
- pas encore de validation/applicaton en masse d'une proposition ;
|
||||
- pas de workflow de replanification automatique d'une urgence ;
|
||||
- pas de modèle dédié pour plusieurs segments d'entreprise extérieure ;
|
||||
- pas de multi-techniciens, compétences ou solveur ;
|
||||
- contrôles visuels réels à compléter avec navigateur instrumenté.
|
||||
|
||||
## Données TEST_UI
|
||||
|
||||
Aucune donnée existante n'a été supprimée ou nettoyée. Les scénarios avec
|
||||
données `TEST_UI_PHASE2_*` seront ajoutés uniquement lorsque les tests
|
||||
d'intégration de la vue quotidienne seront finalisés.
|
||||
|
|
@ -139,3 +139,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 |
|
||||
|
|
|
|||
|
|
@ -463,3 +463,13 @@ aux administrateurs.
|
|||
desktop historique complet et de ses conditions d'affichage.
|
||||
- Nouveau menu métier, RBAC et intégrations inchangés ; version conservée
|
||||
`0.1.0-dev.6`.
|
||||
### Phase 2 — Ma journée (2026-08-23)
|
||||
|
||||
- Version de développement portée de `0.1.0-dev.6` à `0.1.0-dev.7`.
|
||||
- Ajout du service déterministe `DayPlanner` et de `PlanningCandidate`, sans
|
||||
nouvelle table ni dépendance externe.
|
||||
- Ajout de `/planning/my-day`, du lien `Mon travail > Ma journée` et d'un
|
||||
accès depuis le tableau de bord.
|
||||
- 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.
|
||||
|
|
|
|||
|
|
@ -350,3 +350,14 @@ NOUVEAU MENU MODIFIÉ : NON
|
|||
RBAC MODIFIÉ : NON
|
||||
INTÉGRATIONS MODIFIÉES : NON
|
||||
VERSION : 0.1.0-dev.6
|
||||
## Phase 2 — première tranche implémentée
|
||||
|
||||
La vue `Ma journée` propose chronologiquement les tâches `ScheduledTask`,
|
||||
`Intervention` et `AdminTask` accessibles à l'utilisateur. Les choix sont
|
||||
déterministes, non persistés et expliqués. Les horaires de travail et les
|
||||
pauses sont des contraintes fortes ; les salles sont vérifiées via le
|
||||
planning interne résolu. Pronote, ENT, Outlook, IA et watchdogs ne sont pas
|
||||
appelés.
|
||||
|
||||
La proposition reste partielle pour les urgences avec replanification,
|
||||
l'accompagnement multi-segments des entreprises et le multi-techniciens.
|
||||
|
|
|
|||
|
|
@ -356,3 +356,10 @@ Les changements simples et réversibles suivants ont été appliqués :
|
|||
Les évolutions nécessitant un choix métier (checklist d'onboarding,
|
||||
refonte complète du tableau de bord, nouvelle taxonomie RBAC et optimisation
|
||||
de la journée) restent des propositions et ne sont pas implémentées.
|
||||
## UX appliquée — Phase 2
|
||||
|
||||
La première tranche ajoute `Ma journée` dans `Mon travail` et sur le tableau
|
||||
de bord. La timeline affiche heure, durée, localisation, type, contrainte,
|
||||
statut et une explication en français. Une alerte indique explicitement quand
|
||||
les horaires du technicien ne sont pas configurés ; aucune plage par défaut
|
||||
n'est inventée.
|
||||
|
|
|
|||
Loading…
Reference in a new issue