gmao/docs/ui-audit/BUGS.md
root 96a90e4de1
Some checks are pending
CI - Tests et Syntax / lint-and-test (push) Waiting to run
audit(ui): compléter les tests RBAC multi-roles
2026-08-22 00:20:53 +00:00

119 lines
4.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Bugs et anomalies
## UI-001 — Transvasement inaccessible
- Priorité : P1
- Module : Matériel & Produits d'entretien
- URL : `/cleaning/transvasement`
- Compte : `chatgpt` / `super_admin`
- Résultat : HTTP 500, écran générique.
- Attendu : formulaire utilisable ou message métier explicite si le stock est
vide.
- Impact : dilution et transvasement impossibles.
## UI-002 — Configuration des prévisions inaccessible
- Priorité : P1
- Module : Matériel & Produits d'entretien
- URL : `/cleaning/forecast-config`
- Compte : `chatgpt` / `super_admin`
- Résultat : HTTP 500.
- Attendu : coefficients par défaut affichés et modifiables.
- Impact : coefficients de permanence impossibles à configurer.
## UI-003 — Création de salle bloquée
- Priorité : P1
- Module : Établissement
- URL : `/equipments/rooms/new`
- Résultat : le select « Bâtiment » est vide malgré des bâtiments visibles
dans `/equipments/buildings/`.
- Attendu : bâtiments proposés, puis zones filtrées par bâtiment.
- Impact : impossibilité de poursuivre les scénarios équipements/interventions.
## UI-004 — Confusion Site/Bâtiment
- Priorité : P2
- URL : `/equipments/buildings/`
- Résultat : le formulaire principal crée un `Site` (Collège), tandis que le
véritable bâtiment se crée via `/equipments/buildings/new`.
- Recommandation : séparer les deux actions et afficher la hiérarchie
établissement → bâtiment → zone → salle.
## UI-005 — Commit Docker non identifié
- Priorité : P2
- URL : `/health/`, setup
- Résultat : version `0.1.0-dev.2`, commit `unknown`.
- Recommandation : fournir `GIT_VERSION=$(git rev-parse HEAD)` au build.
## UI-006 — Instabilité sous navigation séquentielle
- Priorité : P1 à confirmer
- Résultat : temps de réponse parfois supérieur à 830 secondes, puis
indisponibilité temporaire.
- Recommandation : surveiller CPU/RAM, Gunicorn, connexions MariaDB et
documenter les temps de réponse sans lancer de test de charge.
## UI-007 — Disponibilités et horaires semblent partager le même écran
- Priorité : P2
- URL : `/planning/availability`
- Résultat : titre « Horaires et suivi annuel » et structure identique à
`/planning/time`.
- Attendu : redirection explicite ou écran distinct avec un libellé cohérent.
- Impact : l'utilisateur peut croire qu'il existe deux écrans différents.
## UI-008 — Requête 401 visible dans la console au chargement du login
- Priorité : P3 à confirmer
- Résultat : Playwright signale une ressource 401 sur `/auth/login`.
- Impact : bruit console et appel potentiellement lancé avant la session.
## UI-009 — Soumission produit très lente/non confirmée
- Priorité : P1 à confirmer (environnementale ou applicative)
- URL : `/cleaning/products/new`
- Compte : `chatgpt` / `super_admin`
- Étapes : remplir un produit `TEST_UI_DETERGENT_SOL` puis soumettre une
seule fois.
- Résultat : l'action Playwright est restée bloquée plus de 30 secondes ; la
requête n'a pas été répétée.
- Impact : impossible de confirmer la création d'un produit dans cette passe.
- Qualification : vérifier les logs et la charge VM avant de conclure à un
bug applicatif.
## UI-010 — Soumission prévention très lente/non confirmée
- Priorité : P1 à confirmer (environnementale ou applicative)
- URL : `/prevention/`
- Compte : `chatgpt` / `super_admin`
- Étapes : remplir le formulaire d'agent prévention avec des données
`TEST_UI_*`, puis soumettre une seule fois.
- Résultat : clic bloqué au-delà du délai ; aucune répétition.
- Impact : impossible de confirmer la création d'un personnel de prévention
dans cette passe.
## UI-011 — Lien Documents renvoie 404
- Priorité : P2
- URL : `/documents/`
- Compte : `chatgpt` / `super_admin`
- Résultat : HTTP 404.
- Attendu : liste documentaire ou redirection vers le module documentaire
réellement utilisé.
- Impact : lien cassé pour un utilisateur qui cherche les documents.
## UI-012 — Menu non filtré selon les permissions
- Priorité : P1
- Comptes : `TEST_UI_USER_MULTI` et `TEST_UI_USER_NONE`.
- Résultat : les deux dashboards contiennent les mêmes liens équipements,
interventions et nettoyage, y compris pour `TEST_UI_USER_NONE` sans rôle.
- Backend : `TEST_UI_USER_NONE` reçoit bien 403 sur ces URLs ; le backend est
donc plus strict que le menu.
- Résultat multi-rôles : `TEST_UI_USER_MULTI` reçoit 200 sur patrimoine et
interventions, puis 403 patrimoine après un refus individuel, tandis que
les interventions restent accessibles.
- Impact : UX trompeuse et risque d'erreurs ; un utilisateur voit des liens
qu'il ne peut pas ouvrir.