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.
|
téléchargement/suppression dans le détail.
|
||||||
- Impact : l'utilisateur ne sait pas si son fichier a été enregistré et ne
|
- Impact : l'utilisateur ne sait pas si son fichier a été enregistré et ne
|
||||||
peut pas le gérer depuis l'intervention.
|
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
|
celui déjà réalisé sur entreprises, faute de navigateur disponible dans
|
||||||
cette reprise.
|
cette reprise.
|
||||||
- La prévision détaillée `/cleaning/forecast/1` répond 200 et affiche stock,
|
- 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
|
consommation, sécurité et commande ; la configuration globale a été
|
||||||
(UI-002).
|
corrigée dans le dépôt local (UI-002), à revalider sur VM.
|
||||||
|
|
||||||
## Prochaine étape
|
## Prochaine étape
|
||||||
|
|
||||||
Revalider la disponibilité, puis poursuivre les contrôles de formulaires,
|
Revalider la disponibilité, puis poursuivre les contrôles de formulaires,
|
||||||
responsive/accessibilité et les scénarios stock non destructifs ; les
|
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,
|
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.
|
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
|
pas été répétée afin de respecter la faible capacité de la VM ; ce résultat
|
||||||
reste classé comme instabilité à confirmer.
|
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
|
La soumission d'un formulaire de personnel prévention a rencontré le même
|
||||||
blocage. Aucun retry rapproché n'a été effectué.
|
blocage. Aucun retry rapproché n'a été effectué.
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue