# Audit UI/UX — environnement de test Date : 21 août 2026 Instance : `http://82.64.101.239/` Compte : `chatgpt` `alban` n'a pas été modifié. ## Résumé Après l'ajout de ressources VM, l'instance répond de nouveau. Les modules principaux sont accessibles, mais trois anomalies sont reproductibles : - `/cleaning/transvasement` renvoie HTTP 500 ; - `/cleaning/forecast-config` renvoie HTTP 500 ; - `/equipments/rooms/new` affiche un sélecteur de bâtiment vide alors que des bâtiments existent. La page Bâtiments mélange aussi la création d'un site/collège et celle d'un bâtiment, ce qui est trompeur pour un utilisateur non technique. ## Santé et version - `/health/` : HTTP 200, MariaDB connectée. - Version : `0.1.0-dev.2`. - Environnement déclaré : `development`. - Commit affiché : `unknown` (image construite sans `GIT_VERSION`). - Aucun watchdog ou intégration interdite n'a été actionné. ## Smoke test HTTP 200 avec `chatgpt` : dashboard, alertes, messagerie, interventions, planning, prévention, formations, équipements, catégories, bâtiments, zones, logements, entreprises, contrats, lots, pièces, nettoyage, produits, références, stock, réceptions, sorties, fiches papier, matériel durable, rôles, utilisateurs, permissions et status. | URL | Résultat | |---|---:| | `/cleaning/transvasement` | **500** | | `/cleaning/forecast-config` | **500** | | `/logs/` | 403 avec `chatgpt` | | `/api/v1/status` sans session | 401 | | `/api/v1/equipments` sans session | 401 | | `/api/v1/interventions` sans session | 401 | Playwright a confirmé les deux erreurs 500 dans la console navigateur. Les pages d'intégration, de configuration et les watchdogs n'ont pas été écrites. ## Bugs prioritaires ### UI-001 — Transvasement inaccessible - Priorité : P1 - URL : `/cleaning/transvasement` - Résultat : écran générique 500. - Attendu : formulaire ou message métier explicite avec stock vide. - Impact : aucune dilution/transvasement possible. ### UI-002 — Prévisions inaccessibles - Priorité : P1 - URL : `/cleaning/forecast-config` - Résultat : écran générique 500. - Attendu : coefficients par défaut modifiables. - Impact : impossible de paramétrer la consommation des permanences. ### UI-003 — Création de salle bloquée - Priorité : P1 - URL : `/equipments/rooms/new` - Résultat : select « Bâtiment » vide malgré des bâtiments existants. - Attendu : bâtiments proposés puis zones filtrées. - Impact : impossible de créer les salles, donc de tester équipements et interventions liés aux locaux. ### UI-004 — Site et bâtiment confondus - Priorité : P2 - URL : `/equipments/buildings/` - Résultat : le formulaire principal crée un `Site` (Collège), tandis que le vrai bâtiment se crée via `/equipments/buildings/new`. - Recommandation : deux blocs distincts et une aide établissement → bâtiment → zone → salle. ### UI-005 — Commit Docker inconnu - Priorité : P2 - Résultat : version visible mais commit `unknown`. - Recommandation : `GIT_VERSION=$(git rev-parse HEAD)` lors du build. ### UI-006 — Instabilité pendant le crawl - Priorité : P1 à confirmer - Plusieurs navigations ont dépassé 8 à 30 secondes et rendu l'instance temporairement injoignable. Surveiller Gunicorn, RAM, CPU et MariaDB. ## RBAC vérifié Le setup crée `super_admin`, `admin`, `responsable_gmao`, `technicien`, `assistant_prevention`, `demandeur` et `lecture`. La matrice contient 71 permissions ; `admin` en possède 67 et ne possède pas `*`. `super_admin` a une matrice fixe. Les API anonymes renvoient 401 et les pages métier redirigent vers la connexion. ## Données de test laissées Créées via l'interface : - sites : `TEST_UI_BAT_A`, `TEST_UI_BAT_B` ; - bâtiments : `TEST_UI_BUILDING_A`, `TEST_UI_BUILDING_B` ; - zones : `TEST_UI_ZONE_PEDAGO`, `TEST_UI_ZONE_ADMIN`, `TEST_UI_ZONE_TECH`, `TEST_UI_ZONE_RESTAURATION`, `TEST_UI_ZONE_EXTERIEUR`, `TEST_UI_ZONE_CIRCULATION` ; - entreprise : `TEST_UI_COMPANY_MAINTENANCE`. Le setup a également laissé `Collège audit RBAC`, `Bâtiment audit`, 36 catégories et 91 lots. La création des salles a été bloquée par UI-003. Le formulaire produit a été inspecté : `reference_unit` est un texte libre et non une liste d'unités. Sa création de test a été interrompue pendant une phase d'instabilité et doit être vérifiée avant réutilisation. ## Tests restant à reprendre Équipements quantifiés et sérialisés, déplacements de chaises, cycle de vie, interventions liées aux salles, FEFO, inventaires, transvasements, planning des permanences, multi-rôles avancé, documents et responsive complet. Aucun nettoyage n'a été effectué et aucun code applicatif n'a été corrigé pendant cet audit.