gmao/docs/ui-audit/IMPLEMENTATION_PHASE2.md
root 00eeb3d441
Some checks are pending
CI - Tests et Syntax / lint-and-test (push) Waiting to run
docs(planning): document phase 2 daily planning foundation
2026-08-23 10:18:21 +00:00

2.9 KiB
Raw Blame History

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:0017: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.