133 lines
5.3 KiB
Markdown
133 lines
5.3 KiB
Markdown
# 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`](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 :
|
||
|
||
```text
|
||
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 (transitoire)
|
||
```
|
||
|
||
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 CONSERVÉ : OUI**
|
||
**VISIBLE UNIQUEMENT ADMIN : OUI**
|
||
|
||
L'ancien inventaire complet est accessible dans `Administration → Ancien
|
||
menu`, sous forme de référentiel temporaire. Il inclut aussi les entrées
|
||
techniques et intégrations conservées pour comparaison. 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.
|