audit(ui): revalider correctifs P1 sur VM

This commit is contained in:
root 2026-08-22 13:40:24 +00:00
parent cddcdb70d7
commit 24ae62fc43
5 changed files with 110 additions and 19 deletions

View file

@ -346,3 +346,32 @@ La VM et sa base `TEST_UI_*` ne sont pas accessibles depuis cet environnement.
Les résultats ci-dessus sont des tests automatisés locaux uniquement ; ils ne
valident pas la base distante ni le rendu sur la VM d'audit.
## Revalidation sur la VM de test — 22 août 2026
Passe exécutée séquentiellement sur `http://82.64.101.239/` avec `chatgpt`.
La base existante et les données `TEST_UI_*` ont été conservées ; aucun
watchdog, intégration externe ou utilisateur `alban` n'a été modifié.
| Bug | Résultat VM | Scénario et données |
|---|---|---|
| UI-003 | **VALIDÉ SUR VM** | `/equipments/rooms/new` propose les bâtiments existants ; création de `TEST_UI_REVALIDATION_SALLE` ; bâtiment 2 + zone 1 est refusé en HTTP 400. |
| UI-017 | **TOUJOURS REPRODUCTIBLE** | `/interventions/` reste en HTTP 500 avec l'intervention ID 1 sans salle/équipement. |
| UI-019 | **VALIDÉ SUR VM** | `/` renvoie 200 et affiche « Aucun équipement », sans `None`, `null` ni `undefined` visibles. |
| UI-001 | **VALIDÉ SUR VM** | `/cleaning/transvasement` 200 ; transvasement test de 0,1 L enregistré et quantité impossible refusée proprement. |
| UI-002 | **VALIDÉ SUR VM** | `/cleaning/forecast-config` 200 ; coefficient non numérique renvoyé en 400 avec message, sans 500. |
| UI-022 | **VALIDÉ SUR VM** | `/cleaning/stock` 200 après lots, réceptions, sortie, transfert et correction ; produits, lots et emplacements visibles. |
| UI-015 | **VALIDÉ SUR VM** | POST vide `/companies/new` en 400 avec formulaire ; `TEST_UI_REVALIDATION_ENTREPRISE` créé (ID 2). |
| UI-016 | **VALIDÉ SUR VM** | POST vide `/interventions/new` en 400 ; `TEST_UI_REVALIDATION_INTERVENTION` créé (ID 2). |
| UI-024 | **VALIDÉ SUR VM** | `stock_minimum=abc` sur le produit ID 1 renvoie 400 et conserve le formulaire. |
| UI-030 | **VALIDÉ SUR VM** | PDF artificiel `TEST_UI_REVALIDATION_DOCUMENT.pdf` visible dans le détail de l'intervention 1 et téléchargeable (document ID 2). |
| UI-012 | **CORRIGÉ PARTIELLEMENT — PROBLÈME RÉSIDUEL** | Le bouton global `/logs/` reste visible alors que l'URL renvoie 403. Les comptes `TEST_UI_USER_MULTI` et `TEST_UI_USER_NONE` n'ont pas pu être reconnectés : leurs mots de passe ne sont pas documentés. |
### UI-031 — nouveau blocage observé
Les groupes `TEST_UI_EQ_CHAISES` (30 individuels) et
`TEST_UI_EQ_CHAISE_UNITAIRE` créés dans `TEST_UI_CLASSE_101` apparaissent dans
`/equipments/` et dans la salle, mais `/equipments/1` et `/equipments/2`
renvoient HTTP 500. `/equipments/<id>/hierarchy` renvoie une liste de zones
vide. Les déplacements et cycles de vie restent donc bloqués. Anomalie
documentée uniquement, sans correction pendant cette passe.

View file

@ -81,8 +81,26 @@ Mot de passe commun temporaire des comptes de test : non documenté dans Git.
## Non créés
La création des salles a été bloquée par UI-003. Aucun équipement,
intervention liée à un local, utilisateur ou rôle `TEST_UI_*` supplémentaire
n'a été créé pendant cette reprise.
Lors de la passe initiale, la création des salles était bloquée par UI-003 ;
aucun équipement ou intervention liée à un local n'avait alors été créé.
`alban` n'a jamais été modifié.
## Données ajoutées lors de la revalidation VM — 22/08/2026
- Salle `TEST_UI_REVALIDATION_SALLE` (ID 1), puis `TEST_UI_CLASSE_101`
(ID 2), `TEST_UI_CLASSE_102` (ID 3), `TEST_UI_CIRCULATION_1` (ID 4),
`TEST_UI_ESCALIER_A` (ID 5), `TEST_UI_LOCAL_TECH` (ID 6) et
`TEST_UI_SANITAIRES` (ID 7), dans `Bâtiment audit` / `TEST_UI_ZONE_PEDAGO`.
- Entreprise `TEST_UI_REVALIDATION_ENTREPRISE` (ID 2).
- Intervention `TEST_UI_REVALIDATION_INTERVENTION` (ID 2).
- Document `TEST_UI_REVALIDATION_DOCUMENT.pdf` (document ID 2), attaché à
l'intervention ID 1 ; PDF artificiel sans donnée personnelle.
- Groupe `TEST_UI_EQ_CHAISES` (ID 1, 30 individuels) et groupe
`TEST_UI_EQ_CHAISE_UNITAIRE` (ID 2, 1 individuel), catégorie Mobilier,
dans `TEST_UI_CLASSE_101`.
- Mouvement de transvasement de 0,1 L sur `TEST_UI_DETERGENT_SOL` depuis
`TEST_UI_STOCK_CENTRAL`.
Le détail direct des groupes d'équipements répond 500 (UI-031) ; aucune
suppression ni tentative de réparation n'a été effectuée.

View file

@ -4,10 +4,10 @@ Matrice initiale issue du smoke test authentifié avec `chatgpt`.
| Domaine | URL | Résultat | Commentaire |
|---|---|---:|---|
| Dashboard | `/` | 500 | UI-019 : `interv.equipment` nul dans une intervention de test |
| Dashboard | `/` | 200 | Revalidé VM ; affiche « Aucun équipement » si la relation est absente |
| Alertes | `/alerts` | 200 | Accessible |
| Messagerie | `/messagerie` | 200 | Accessible |
| Interventions | `/interventions/` | 200 | Smoke test |
| Interventions | `/interventions/` | 500 | UI-017 toujours reproductible avec intervention sans salle/équipement |
| Nouvelle intervention | `/interventions/new` | 200 | Formulaire affiché |
| Planning | `/planning/` | 200 | Smoke test |
| Horaires | `/planning/time` | 200 | Formulaire affiché |
@ -25,11 +25,12 @@ Matrice initiale issue du smoke test authentifié avec `chatgpt`.
| Export DUERP | `/prevention/duerp.csv` | 200 | CSV généré avec en-tête UTF-8 et téléchargement |
| Formations | `/training/` | 200 | Smoke test |
| Équipements | `/equipments/` | 200 | Smoke test |
| Équipement détail groupe | `/equipments/1` | 500 | UI-031 observé après création de `TEST_UI_EQ_CHAISES` |
| Catégories | `/equipments/categories` | 200 | Accessible |
| Bâtiments | `/equipments/buildings/` | 200 | Confusion Site/Bâtiment |
| Zones | `/equipments/zones/` | 200 | Accessible |
| Salles | `/equipments/rooms/` | 200 | Liste accessible |
| Création salle | `/equipments/rooms/new` | 200 | Select bâtiment vide |
| Création salle | `/equipments/rooms/new` | 200 | Revalidé VM : bâtiments visibles, validation croisée serveur |
| Entreprises | `/companies/` | 200 | Accessible |
| Entreprise détail | `/companies/1` | 200 | Détail de l'entreprise de test accessible |
| Téléversement document intervention | `/documents/upload/intervention/1` | 302 | PDF artificiel accepté |
@ -39,19 +40,19 @@ Matrice initiale issue du smoke test authentifié avec `chatgpt`.
| Nettoyage | `/cleaning/` | 200 | Accessible |
| Produits | `/cleaning/products` | 200 | Accessible |
| Références | `/cleaning/references` | 200 | Accessible |
| Stock | `/cleaning/stock` | 500 | UI-022 après réception de lots de test |
| Stock | `/cleaning/stock` | 200 | Revalidé VM après lots, mouvements et correction d'inventaire |
| Emplacements | `/cleaning/locations` | 200 | Formulaire/liste accessibles |
| Réceptions | `/cleaning/receive` | 200 | Accessible |
| Sorties | `/cleaning/issue` | 200 | Accessible |
| Transferts | `/cleaning/transfer` | 200 | Formulaire accessible |
| Mouvements | `/cleaning/movements` | 200 | Journal accessible |
| Inventaires | `/cleaning/inventory` | 200 | Écran accessible |
| Transvasement | `/cleaning/transvasement` | 500 | UI-001 |
| Transvasement | `/cleaning/transvasement` | 200 | Revalidé VM ; transvasement 0,1 L et refus quantité impossible |
| Fiches papier | `/cleaning/requests` | 200 | Accessible |
| Nouveau profil de demande | `/cleaning/requests/new` | 200 | Création de profil validée |
| Impression fiche | `/cleaning/requests/print/1` | 200 | Fiche accessible avec agent TEST_UI |
| Matériel durable | `/cleaning/material` | 200 | Accessible |
| Prévision | `/cleaning/forecast-config` | 500 | UI-002 |
| Prévision | `/cleaning/forecast-config` | 200 | Revalidé VM ; validation numérique testée |
| Prévision produit | `/cleaning/forecast/1` | 200 | Résultat consultable pour le produit TEST_UI |
| Documents produits | `/cleaning/documents` | 200 | Écran accessible, aucun document de test créé |
| Étiquette mouvement | `/cleaning/labels/1` | 200 | Étiquette consultable à partir d'un mouvement avec lot/référence |

View file

@ -4,8 +4,8 @@ Dernière mise à jour : 22 août 2026 — reprise après interruption.
## État global
État : **en cours**. Les tests doivent continuer ; l'audit n'est pas déclaré
terminé.
État : **en cours**. Revalidation VM P1 effectuée ; l'audit fonctionnel doit
continuer sur les scénarios encore testables.
## Phases
@ -15,9 +15,9 @@ terminé.
| Menu et smoke test | Partiel | Pages principales testées séquentiellement |
| RBAC | Partiel avancé | multi-rôles, retrait/deny et accès directs testés ; menu non filtré |
| Établissement | Partiel | Sites, bâtiments et zones créés ; confusion site/bâtiment |
| Salles | Bloqué | Select bâtiment vide sur `/equipments/rooms/new` |
| Équipements | Partiel | Création guidée/avancée et assistant inventaire testés ; salles bloquées |
| Interventions | Partiel | Création, détail, édition et erreur liste testés |
| Salles | Partiel avancé | Sélection bâtiment/zone corrigée et création/rejet croisé revalidés |
| Équipements | Bloqué partiel | Groupes créés, mais détail `/equipments/<id>` en 500 (UI-031) |
| Interventions | Partiel | Création/validation et dashboard revalidés ; liste encore en 500 (UI-017) |
| Planning | Partiel | time/availability/tâches testés ; disponibilité semble dupliquée |
| Prévention | Partiel | Validation invalide et création d'un agent TEST_UI vérifiées |
| Stock / produits | Partiel avancé | Produit/référence/conditionnement, emplacements, lots, réception, sortie FEFO, transfert et inventaire testés ; état du stock 500, transvasement/prévision 500 |
@ -160,11 +160,23 @@ terminé.
## Prochaine étape
Revalider la disponibilité, puis poursuivre les contrôles de formulaires,
responsive/accessibilité et les scénarios stock non destructifs ; les
scénarios dépendant d'une salle étaient bloqués par UI-003 et les 500 UI-001,
UI-002, UI-017 et UI-019 ; les correctifs sont maintenant dans le dépôt et
doivent être revalidés sur la VM.
Qualifier ultérieurement UI-017 et UI-031 dans une passe de code dédiée, puis
reprendre les déplacements et cycles de vie d'équipements. Les contrôles
stock, formulaires et planning indépendants restent à poursuivre.
## Revalidation VM — 22 août 2026
- **VALIDÉ SUR VM** : UI-001, UI-002, UI-003, UI-015, UI-016, UI-019,
UI-022, UI-024 et UI-030.
- **TOUJOURS REPRODUCTIBLE** : UI-017 (`/interventions/` en 500 avec relation
salle absente).
- **CORRIGÉ PARTIELLEMENT — PROBLÈME RÉSIDUEL** : UI-012 (lien global
Journaux encore visible malgré le 403).
Le dashboard est revenu en 200 et affiche « Aucun équipement ». Six salles,
deux groupes d'équipements, une entreprise, une intervention, un PDF
artificiel et un mouvement de transvasement ont été ajoutés et laissés dans la
base ; aucune donnée antérieure n'a été supprimée.
## Passe de corrections locales P1 — 2026-08-22

View file

@ -120,3 +120,34 @@ La page `/planning/` a répondu en environ 5,5 secondes pour une réponse de
347 Ko. Ce n'est pas qualifié comme panne sur la VM de test, mais la taille et
le temps perçu justifient une optimisation ou une pagination si le calendrier
grandit.
## Revalidation VM des correctifs P1 — 22 août 2026
La VM `82.64.101.239` a été rejointe avec `chatgpt` et la base existante a
été réutilisée sans réinitialisation. Les pages cleaning, le formulaire de
salle, les validations entreprise/intervention/produit, le dashboard et les
documents ont été retestés avec des données `TEST_UI_*`.
### Résultats
- **VALIDÉ SUR VM** : UI-001, UI-002, UI-003, UI-015, UI-016, UI-019,
UI-022, UI-024 et UI-030.
- **TOUJOURS REPRODUCTIBLE** : UI-017 ; `/interventions/` répond encore HTTP
500 lorsqu'une intervention n'a pas de salle/équipement.
- **CORRIGÉ PARTIELLEMENT — PROBLÈME RÉSIDUEL** : UI-012 ; le bouton global
`/logs/` reste affiché alors que cette URL est refusée en 403. Les comptes
de test à permissions réduites n'ont pas pu être reconnectés car leurs
mots de passe ne sont pas documentés, sans modification de ces comptes.
Le dashboard est désormais HTTP 200 et le remplacement « Aucun équipement »
est visible. La sélection bâtiment → zone fonctionne et une association
croisée est rejetée côté serveur en 400.
### Scénarios débloqués puis nouveau blocage
Six salles ont été créées et la hiérarchie est consultable. Un groupe de 30
chaises et un groupe unitaire ont été créés dans `TEST_UI_CLASSE_101`.
Toutefois, leur détail direct (`/equipments/1` et `/equipments/2`) répond HTTP
500 et l'endpoint de hiérarchie renvoie une liste de zones vide (UI-031). Les
déplacements, la casse et le cycle de vie restent donc non revalidés. Cette
anomalie n'a pas été corrigée pendant cette passe de revalidation.