docs(audit): document phase 1 implementation
This commit is contained in:
parent
ff507130da
commit
e73a2e8fa8
6 changed files with 132 additions and 16 deletions
|
|
@ -490,19 +490,17 @@ profil de demande. Statut : **VALIDÉ LOCALEMENT SUR COPIE VM**.
|
|||
|
||||
## Phase finale — éléments encore ouverts
|
||||
|
||||
### UI-011 — centre documentaire global absent
|
||||
### UI-011 — centre documentaire global absent (corrigé localement)
|
||||
|
||||
- **Reproduction locale** : `GET /documents/` répond HTTP 404.
|
||||
- **Constat** : les documents sont exposés dans les fiches équipement,
|
||||
intervention et produits d'entretien ; aucune route d'index documentaire
|
||||
globale n'est clairement prévue.
|
||||
- **Reproduction historique** : `GET /documents/` répondait HTTP 404.
|
||||
- **Correction Phase 1** : route globale par adaptateurs en lecture,
|
||||
agrégation interventions/équipements/produits et vue FDS ; aucun fichier
|
||||
ni document métier n'est dupliqué.
|
||||
- **Impact** : un utilisateur peut suivre une URL ou chercher « Documents »
|
||||
et recevoir une erreur au lieu d'une orientation.
|
||||
- **Statut** : **OUVERT — P2 / décision fonctionnelle nécessaire**.
|
||||
- **Recommandation** : choisir entre un centre documentaire global (recherche,
|
||||
permissions et catégories à définir) ou supprimer/redirecter le lien global
|
||||
vers les pages documentaires existantes. Proposition détaillée dans
|
||||
`UX_PROPOSALS.md`. Aucun module nouveau n'a été ajouté pendant l'audit.
|
||||
- **Statut** : **CORRIGÉ DANS LE CODE — À REVALIDER SUR VM**.
|
||||
- **Limites** : Contract, prévention et documents sensibles restent hors V1 ;
|
||||
téléchargement refusé si le fichier physique est absent ou hors racine.
|
||||
|
||||
### Observations UX non corrigées
|
||||
|
||||
|
|
|
|||
|
|
@ -129,3 +129,12 @@ modifiée.
|
|||
|
||||
Le groupe importé ID 1 a été replacé dans sa salle d'origine après un essai
|
||||
de déplacement ; aucune donnée antérieure ni `alban` n'a été supprimée.
|
||||
|
||||
## Données ajoutées — Phase 1 locale — 22/08/2026
|
||||
|
||||
- Utilisateur `TEST_UI_PHASE1_ADMIN` (ID 6), compte administrateur temporaire
|
||||
utilisé uniquement pour vérifier `/documents/` et `/planning/rooms` sur la
|
||||
copie locale. Le mot de passe n'est pas documenté dans Git et le compte est
|
||||
conservé pour inspection manuelle.
|
||||
- Les tests automatisés créent des objets préfixés `Phase1` dans leur base de
|
||||
test isolée ; aucune donnée `TEST_UI_*` existante n'a été nettoyée.
|
||||
|
|
|
|||
74
docs/ui-audit/IMPLEMENTATION_PHASE1.md
Normal file
74
docs/ui-audit/IMPLEMENTATION_PHASE1.md
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
# Phase 1 — implémentation documentaire et planning interne
|
||||
|
||||
Date : 22 août 2026
|
||||
Base de vérification : copie locale de la base MariaDB issue de la VM
|
||||
Périmètre : fondations V1, sans moteur d'optimisation complet.
|
||||
|
||||
## Migration
|
||||
|
||||
`g1a2b3c4d5e6_phase1_documents_planning.py` (depuis
|
||||
`9f4a1b2c3d5e`) ajoute :
|
||||
|
||||
- `document_type` indexé à `intervention_documents` et
|
||||
`equipment_documents`, avec valeur historique `autre` ;
|
||||
- provenance, identifiant externe, synchronisation, protection, statut de
|
||||
résolution, période de validité, type d'événement et conflit à
|
||||
`room_schedules` ;
|
||||
- permission `documents.view` et ses attributions aux rôles métier existants.
|
||||
|
||||
La migration est idempotente sur les colonnes et préserve les lignes
|
||||
existantes. Aucun fichier ni document métier n'est copié.
|
||||
|
||||
## Centre documentaire
|
||||
|
||||
Le service `app_new/documents/service.py` fournit des adaptateurs de lecture
|
||||
pour `InterventionDocument`, `EquipmentDocument` et `ProductDocument`.
|
||||
Chaque résultat expose sa source, son objet parent, son type, sa date, son
|
||||
contexte, son téléchargement et sa localisation calculée. Les produits avec
|
||||
plusieurs soldes affichent plusieurs emplacements.
|
||||
|
||||
Routes ajoutées :
|
||||
|
||||
- `/documents/` : recherche, filtres source/type/période, pagination ;
|
||||
- `/documents/fds` : vue FDS des produits accessibles ;
|
||||
- `/documents/download/<source>/<id>` : contrôle RBAC, racine de stockage,
|
||||
existence du fichier et nom de téléchargement.
|
||||
|
||||
Le lien de navigation est conditionné à `documents.view`. Les permissions de
|
||||
lecture du module source restent obligatoires ; aucune permission
|
||||
`documents.manage` ou `documents.download` n'est créée.
|
||||
|
||||
## Planning interne des salles
|
||||
|
||||
`app_new/core/services/room_planning.py` est la vue résolue commune. Elle
|
||||
ignore les créneaux désactivés/supplantés, permet à Pronote de supplanter un
|
||||
manuel non protégé, conserve un manuel protégé et signale les conflits.
|
||||
`sync_pronote_schedules()` reçoit uniquement des données normalisées et ne
|
||||
contacte pas Pronote.
|
||||
|
||||
Routes ajoutées : `/planning/rooms` et `/planning/rooms/new`, avec protection
|
||||
manuelle exprimée en français. Les détails de salle et l'affichage Pronote
|
||||
réutilisent la résolution interne.
|
||||
|
||||
## Préventif et disponibilité
|
||||
|
||||
`PlanningService` délègue désormais la disponibilité de salle au service
|
||||
interne. La durée existante d'une `ScheduledTask` est utilisée pour le contrôle
|
||||
de créneau ; aucun solveur, replanificateur ou moteur multi-techniciens n'est
|
||||
inclus dans cette phase.
|
||||
|
||||
## Tests et données
|
||||
|
||||
- `tests/integration/test_phase1_documents_planning.py` : 3 scénarios ciblés ;
|
||||
- suites P1/formulaires/stock/interventions : 20 tests passants ;
|
||||
- compte local `TEST_UI_PHASE1_ADMIN` conservé pour inspection manuelle ;
|
||||
- aucune donnée `TEST_UI_*` supprimée et `alban` inchangé.
|
||||
|
||||
## Limites restantes
|
||||
|
||||
- synchronisation Pronote réelle et résolution de rapprochements ambigus à
|
||||
brancher sur l'intégration existante ;
|
||||
- optimisation journalière, replanification, tâches multi-techniciens et
|
||||
classeur FDS hors périmètre ;
|
||||
- revalidation VM distante et campagne complète responsive/accessibilité à
|
||||
effectuer séparément.
|
||||
|
|
@ -106,8 +106,17 @@ activement.
|
|||
|
||||
| Page | URL | Résultat local | Commentaire |
|
||||
|---|---|---:|---|
|
||||
| Centre documentaire global | `/documents/` | 404 | UI-011 ouvert ; documents disponibles dans leurs modules |
|
||||
| Centre documentaire global | `/documents/` | Implémenté localement | UI-011 corrigé dans le code ; revalidation VM à faire |
|
||||
| FDS / fiches techniques | `/cleaning/documents` | 200 | Page stock documentaire |
|
||||
| Détail équipement groupé | `/equipments/3` | 200 | Filtre `nl2br` enregistré ; quantité 30 affichée |
|
||||
| Hiérarchie équipement groupé | `/equipments/3/hierarchy` | 200 | Bâtiment → zone → salle → quantité |
|
||||
| Health | `/health/` | 200 | Version finale `0.1.0-dev.4` à vérifier après rebuild |
|
||||
| Health | `/health/` | 200 | Version `0.1.0-dev.4` avant le bump Phase 1 |
|
||||
|
||||
### Phase 1 — nouvelles routes locales
|
||||
|
||||
| Fonction | URL | État local | Périmètre |
|
||||
|---|---|---:|---|
|
||||
| Centre documentaire | `/documents/` | Implémenté, à revalider après rebuild | Interventions, équipements, produits |
|
||||
| FDS globales | `/documents/fds` | Implémenté, à revalider après rebuild | Produits d'entretien |
|
||||
| Planning interne des salles | `/planning/rooms` | Implémenté, à revalider après rebuild | Saisie manuelle et créneaux résolus |
|
||||
| Nouveau créneau salle | `/planning/rooms/new` | Implémenté | Permission planning.edit |
|
||||
|
|
|
|||
|
|
@ -369,3 +369,29 @@ Date : 22 août 2026
|
|||
Aucune route, migration, permission, modèle, template, synchronisation ou
|
||||
fonctionnalité n'a été créée. Développement conditionné à la validation des
|
||||
questions listées dans les deux documents.
|
||||
|
||||
## Phase 1 d'implémentation — fondations documentaires et planning interne
|
||||
|
||||
Date de reprise : 22 août 2026 — URL locale `http://127.0.0.1:5080/`.
|
||||
|
||||
La migration `g1a2b3c4d5e6` a été appliquée à la copie locale de la base VM.
|
||||
Elle ajoute les types documentaires intervention/équipement, la provenance et
|
||||
la résolution des créneaux `RoomSchedule`, ainsi que la permission
|
||||
`documents.view`. Les données `TEST_UI_*` et `alban` sont conservées.
|
||||
|
||||
Fondations livrées et testées localement :
|
||||
|
||||
- Centre documentaire en lecture `/documents/` et vue FDS `/documents/fds`,
|
||||
agrégation par adaptateurs des interventions, équipements et produits,
|
||||
recherche, filtres, pagination, localisation calculée et téléchargement
|
||||
contrôlé sans stockage parallèle ;
|
||||
- types métier intervention/équipement avec valeur historique `autre` ;
|
||||
- planning interne `/planning/rooms`, saisie manuelle, protection contre la
|
||||
synchronisation, provenance et résolution manuel/Pronote/import ;
|
||||
- service de disponibilité de salle consommant uniquement la vue interne
|
||||
résolue, sans appel direct à Pronote ; préparation de l'usage d'une durée
|
||||
préventive existante.
|
||||
|
||||
Tests ciblés Phase 1 : **3 passed** ; suites P1/formulaires/stock/interventions :
|
||||
**20 passed**. Le rebuild Docker et la revalidation HTTP sur la copie locale
|
||||
restent à finaliser avant le bilan de phase.
|
||||
|
|
|
|||
|
|
@ -258,10 +258,10 @@ restent toutefois très denses et regroupent des fonctions quotidiennes,
|
|||
administratives et d'intégration ; la proposition de regroupement par tâches
|
||||
se trouve dans `UX_PROPOSALS.md` et n'est pas implémentée.
|
||||
|
||||
`/documents/` répond toujours 404 (UI-011). Les documents sont actuellement
|
||||
gérés dans les fiches intervention, équipement et produits d'entretien ; la
|
||||
décision entre centre documentaire global et suppression du lien global reste
|
||||
à valider.
|
||||
Le Centre documentaire global est désormais implémenté localement sur la
|
||||
copie VM : `/documents/` et `/documents/fds` agrègent en lecture les documents
|
||||
d'interventions, d'équipements et de produits sans copier les fichiers. UI-011
|
||||
est corrigé dans le code et reste à revalider sur une VM distante si exigé.
|
||||
|
||||
### Expérience débutant
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue