gmao/docs/ui-audit/IMPLEMENTATION_PHASE16.md
root 3c4ef00d21
Some checks are pending
CI - Tests et Syntax / lint-and-test (push) Waiting to run
fix(ui): complete historical navigation inventory
2026-08-23 09:57:40 +00:00

6.8 KiB
Raw Blame History

Phase 1.6 — UI, UX et navigation

Date de reprise : 23 août 2026
Base : copie locale MariaDB issue de la VM
Périmètre : navigation métier et améliorations UX réversibles ; aucune Phase 2.

Baseline

  • Commit de départ : f78cddf.
  • Version de départ : 0.1.0-dev.5.
  • Working tree propre avant les changements Phase 1.6.
  • Docker : gmao-flask 0.1.0-dev.5, MariaDB et Adminer sains.
  • URL locale : http://127.0.0.1:5080/.
  • /health/ : HTTP 200, base connectée, Pronote/watchdogs désactivés.
  • Baseline globale connue : 129 passed, 1 failed, 1 error ; l'échec et l'erreur sont le test historique de lookback/contexte GMAO hors périmètre.
  • Un lancement local isolé des tests avec des identifiants DB génériques a échoué à l'initialisation (Access denied) ; la configuration de test documentée reste inchangée et ce n'est pas une régression applicative.

Inventaire et matrice

L'inventaire repository-wide des liens de base.html, y compris les entrées conditionnelles et les liens techniques historiques, est consigné dans MENU_MIGRATION_MATRIX.md.

  • Entrées uniques inventoriées : 70.
  • MIGRÉ : 25.
  • REGROUPÉ : 20.
  • ADMIN UNIQUEMENT : 25.
  • DOUBLON : 0.
  • OBSOLÈTE À CONFIRMER : 0.
  • NON MIGRÉ : 0.
  • ROUTE CASSÉE constatée dans le template : 0.

Nouveau menu métier

La navigation est désormais organisée par intention :

Accueil
  Tableau de bord
Mon travail
  Interventions
  Planning des salles
  Planning unifié
  Tâches préventives / planifiées
  Tâches administratives
  Disponibilités
  Prévention
Patrimoine
  Bâtiments, Zones, Salles / locaux, Équipements
  Catégories, Types de salles, Cycle de vie
Produits & stocks
  Produits, Références commerciales, Stock, Emplacements
  Mouvements, Réceptions, Sorties, Transvasements / dilutions
  Fiches de demande, Prévisions
Entreprises
  Entreprises, Contrats, Services, Pièces
Documents
  Centre documentaire, FDS accessibles
  Administration
  Utilisateurs, Rôles et permissions, État du système, Journaux
Ancien menu (rubrique principale, transitoire, administrateurs uniquement)
  Principal
  Interventions
  Équipements
  Documents
  Configuration

Les rubriques sont conditionnées par les permissions effectives. Un parent sans enfant autorisé n'est pas rendu. Les URLs et les contrôles backend ne sont pas remplacés par un contrôle de template.

Ancien menu

ANCIEN MENU RUBRIQUE PRINCIPALE : OUI ANCIEN MENU DANS ADMINISTRATION : NON VISIBLE UNIQUEMENT ADMIN : OUI

L'ancien inventaire complet est accessible dans une rubrique principale Ancien menu, parallèle à Administration. Il reprend les cinq groupes historiques réels (Principal, Interventions, Équipements, Documents, Configuration) sous forme de sous-menus repliables. Il inclut les 70 entrées de la matrice, sans réorganisation métier. Il ne possède pas de nouveau mécanisme d'autorisation et ne doit être retiré qu'après validation humaine.

UX appliquée

  • Tableau de bord : phrase d'orientation courte ajoutée sans ajouter de nouvelles métriques ni de moteur de planning.
  • Centre documentaire et FDS : états vides explicites, origine des documents, actions textuelles de téléchargement et lien vers le produit.
  • Planning des salles : caption de tableau, en-têtes accessibles, messages d'état vide actionnables et provenance/protection déjà exprimées en français.
  • Administration RBAC : libellés issus de permission_metadata et explication du comportement des administrateurs ; les clés techniques restent secondaires.
  • Aucun changement de modèle, de RBAC, d'intégration ou de données métier.

Les propositions lourdes (checklist d'onboarding, refonte graphique complète, nouveau dashboard et Phase 2) restent documentées dans UX_PROPOSALS.md.

Responsive et accessibilité

Les contrôles statiques montrent l'usage des composants responsive existants, des labels associés, des boutons textuels et des captions de tableau. Aucun navigateur instrumenté n'est disponible dans l'environnement courant : la validation visuelle 1366×768, 768×1024 et 390×844 reste explicitement à faire avant une livraison distante. Cette limitation n'est pas présentée comme une validation visuelle réussie.

Tests Phase 1.6

  • tests/integration/test_phase16_navigation.py : menu administrateur, masquage non-administrateur et destinations principales.
  • Les suites documentaires/planning Phase 1 et Phase 1.5 sont conservées.
  • Résultat ciblé navigation + documents/planning : 21 tests passants avec la configuration DB de test normale.
  • Suite complète après la passe : 132 passed, 1 failed, 1 error. Les trois tests ajoutés expliquent l'augmentation par rapport au baseline ; le seul échec et l'erreur restent le test historique lookback/contexte GMAO hors périmètre (valeur non plafonnée et teardown user_id interdit).
  • Le test de disponibilité horaire préventive a été rendu indépendant de l'ordre d'exécution en choisissant une date de fermeture non utilisée.

Version et livraison

La version est incrémentée séparément en 0.1.0-dev.6 car la réorganisation de navigation est visible et substantielle. Ce changement restera dans un commit chore(release) distinct. Aucun changement n'a été fait à alban, aux watchdogs, aux intégrations protégées ou aux données TEST_UI_*.

Limites restantes

  • validation visuelle réelle sans navigateur ;
  • suppression de l'ancien menu après validation humaine ;
  • checklist d'onboarding et enrichissement du dashboard ;
  • moteur d'optimisation et replanification Phase 2 non commencés.

Correction de couverture historique (post-revue)

La revue manuelle a montré que le total initial de 70 n'était pas exhaustif. Une comparaison directe avec le bloc de navigation desktop de base.html pré-Phase 1.6 (f78cddf) a retrouvé six entrées supplémentaires : quatre liens ENT/Pronote signalés par l'utilisateur (Messages ENT, Interprétations ENT, Personnels ENT, PRONOTE (sync salles)) et deux liens Outlook conditionnels (Ajouter un compte Outlook, Dossiers Outlook surveillés). La cause est méthodologique : l'inventaire initial s'appuyait sur le composant de navigation refactoré et sa matrice manuelle, sans extraction exhaustive des liens conditionnels du template historique. Les doublons mobile ne sont pas comptés comme fonctions distinctes.

La matrice et la rubrique principale Ancien menu représentent désormais 76/76 fonctions historiques, réparties dans les cinq groupes historiques Principal, Interventions, Équipements, Documents et Configuration. Les endpoints et le RBAC backend n'ont pas été modifiés ; aucune intégration ENT, Pronote, Outlook ou watchdog n'a été exécutée ou refactorée.