docs(audit): documenter les correctifs P1 locaux
This commit is contained in:
parent
5238b18e39
commit
5b63d7d5cd
3 changed files with 64 additions and 4 deletions
|
|
@ -324,3 +324,25 @@
|
|||
téléchargement/suppression dans le détail.
|
||||
- Impact : l'utilisateur ne sait pas si son fichier a été enregistré et ne
|
||||
peut pas le gérer depuis l'intervention.
|
||||
|
||||
## Corrections locales — passe P1
|
||||
|
||||
Les éléments ci-dessous sont **CORRIGÉS DANS LE CODE — À REVALIDER SUR VM DE TEST**.
|
||||
La VM et sa base `TEST_UI_*` ne sont pas accessibles depuis cet environnement.
|
||||
|
||||
| Bug | Cause racine | Correction locale | Tests locaux |
|
||||
|---|---|---|---|
|
||||
| UI-001 | `ReusableContainer` manquait dans les imports de la route | Import explicite du modèle et chargement défensif de la page | `test_cleaning_module.py`, `test_ui_p1_regressions.py` |
|
||||
| UI-002 | Le nom de contexte `config` masquait la configuration Flask dans `base.html`, en plus de l'import manquant | Import de `CleaningForecastConfig` et contexte renommé `forecast_config` | `test_ui_p1_regressions.py::test_cleaning_pages_load_without_reference_data` |
|
||||
| UI-003 | La route ne fournissait pas `buildings` au template et n'assurait pas la cohérence zone/bâtiment | Contexte complet, validation serveur et conservation des saisies | `test_ui_p1_regressions.py::test_room_form_lists_buildings_and_rejects_cross_building_zone`, `test_equipment_forms.py` |
|
||||
| UI-015 | Le nom entreprise était envoyé directement en base sans validation | Validation obligatoire et retour formulaire HTTP 400 | `test_ui_p1_regressions.py::test_empty_intervention_and_company_are_validation_errors` |
|
||||
| UI-016 | Le titre et les dates d'intervention étaient parsés sans validation | Validation du titre et des dates/heures avec message français | `test_ui_p1_regressions.py::test_empty_intervention_and_company_are_validation_errors` |
|
||||
| UI-017 | Le template appelait `interv.equipment.name` lorsque l'équipement était absent | Affichage salle/localisation générale de remplacement | `test_ui_p1_regressions.py::test_optional_location_is_safe_in_interventions` |
|
||||
| UI-019 | Le dashboard appelait `interv.equipment.name` lorsque l'équipement était absent | Garde équipement/salle/aucune localisation | `test_ui_p1_regressions.py::test_optional_equipment_is_safe_on_dashboard` |
|
||||
| UI-022 | La vue stock n'injectait pas `current_date`, utilisé par le template | Passage explicite de la date courante | `test_ui_p1_regressions.py::test_cleaning_pages_load_without_reference_data`, tests stock existants |
|
||||
| UI-024 | `Decimal()` non protégé dans l'édition produit | Validation numérique et rollback sans 500 | `test_ui_p1_regressions.py::test_invalid_product_quantity_is_validation_error` |
|
||||
| UI-030 | La fiche module utilisait des endpoints de documents inexistants et une relation dynamique directement dans Jinja | Endpoints réels, liste de documents matérialisée dans la route et template | `test_ui_p1_regressions.py::test_intervention_detail_template_exposes_document_actions` |
|
||||
| UI-012 | Les groupes de navigation et liens métier étaient statiques | Filtrage des groupes, liens et raccourci logs par `has_permission()` | Vérification de compilation/rendu des templates et suite ciblée |
|
||||
|
||||
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.
|
||||
|
|
|
|||
|
|
@ -155,12 +155,28 @@ terminé.
|
|||
celui déjà réalisé sur entreprises, faute de navigateur disponible dans
|
||||
cette reprise.
|
||||
- La prévision détaillée `/cleaning/forecast/1` répond 200 et affiche stock,
|
||||
consommation, sécurité et commande ; la configuration globale reste 500
|
||||
(UI-002).
|
||||
consommation, sécurité et commande ; la configuration globale a été
|
||||
corrigée dans le dépôt local (UI-002), à revalider sur VM.
|
||||
|
||||
## 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 restent bloqués par UI-003 et les 500 UI-001,
|
||||
UI-002, UI-017 et UI-019.
|
||||
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.
|
||||
|
||||
## Passe de corrections locales P1 — 2026-08-22
|
||||
|
||||
État : correctifs implémentés dans le dépôt, revalidation VM requise.
|
||||
|
||||
Corrigés dans le code : UI-001, UI-002, UI-003, UI-012, UI-015, UI-016,
|
||||
UI-017, UI-019, UI-022, UI-024 et UI-030.
|
||||
|
||||
Tests locaux ajoutés dans `tests/integration/test_ui_p1_regressions.py` et
|
||||
exécutés avec les suites équipements, nettoyage et audit intervention.
|
||||
|
||||
À revalider sur VM : création salle avec bâtiments existants, trois pages
|
||||
cleaning sur données `TEST_UI_*`, dashboard/liste avec relations nulles,
|
||||
upload puis affichage d'un document, et visibilité des menus pour les profils
|
||||
RBAC existants.
|
||||
|
|
|
|||
|
|
@ -86,6 +86,28 @@ Une soumission isolée du formulaire produit a dépassé 30 secondes. Elle n'a
|
|||
pas été répétée afin de respecter la faible capacité de la VM ; ce résultat
|
||||
reste classé comme instabilité à confirmer.
|
||||
|
||||
## Correctifs P1 réalisés dans le dépôt local
|
||||
|
||||
Une passe corrective a traité les anomalies P1 documentées UI-001, UI-002,
|
||||
UI-003, UI-012, UI-015, UI-016, UI-017, UI-019, UI-022, UI-024 et UI-030.
|
||||
Les causes ont été corrigées dans les routes/templates concernés, avec
|
||||
validation serveur des formulaires et filtrage de navigation via le RBAC
|
||||
existant. Aucun watchdog, intégration externe, configuration générale ou
|
||||
utilisateur réel n'a été modifié.
|
||||
|
||||
Statut de chaque correctif : **CORRIGÉ DANS LE CODE — À REVALIDER SUR VM DE
|
||||
TEST**. Les tests locaux ne donnent aucune garantie sur la base distante qui
|
||||
contient les données `TEST_UI_*`.
|
||||
|
||||
Tests locaux exécutés : `tests/integration/test_cleaning_module.py`,
|
||||
`tests/integration/test_equipment_forms.py`,
|
||||
`tests/integration/test_intervention_location_and_template_audit.py` et
|
||||
`tests/integration/test_ui_p1_regressions.py`.
|
||||
|
||||
La revalidation VM doit être faite après récupération des commits et, si le
|
||||
déploiement utilise Docker, après reconstruction de l'image applicative. Aucun
|
||||
test distant n'a été exécuté depuis cet environnement.
|
||||
|
||||
La soumission d'un formulaire de personnel prévention a rencontré le même
|
||||
blocage. Aucun retry rapproché n'a été effectué.
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue