From d5041c6f05afd19c8eaf277b421a95fa694ecf38 Mon Sep 17 00:00:00 2001 From: pr-daaif Date: Thu, 16 Jul 2026 18:16:00 +0100 Subject: [PATCH] =?UTF-8?q?docs(r3):=20kickoff=20design-first=20=E2=80=94?= =?UTF-8?q?=20maquettes=20de=20la=20gestion=20(7=20=C3=A9crans)=20=C3=A0?= =?UTF-8?q?=20valider?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - maquette-r3.html (moule validé) : stock DÉRIVÉ des mouvements (alertes sous seuil → préparer le BC), fiche pièce (les mouvements sont le stock), bons de commande (réception → entrées, PU figé), coûts sur OT (pièces à prix figé, main-d'œuvre à taux figé), statistiques (pannes par organe depuis les bilans codés, coûts, top équipements — palette CVD), tiers, bibliothèque (documents typés rattachés, MinIO via FileStorage) - 4 décisions soumises (stock jamais saisi, prix/taux figés, réception créatrice de mouvements, types de documents fermés) - rendu vérifié (7 écrans, bi-thème, zéro erreur) - BLOQUANT : validation du référent avant tout code applicatif R3 Co-Authored-By: Claude Fable 5 --- CLAUDE.md | 4 +- docs/02-design/maquettes/maquette-r3.html | 840 ++++++++++++++++++++++ docs/journal/journal.md | 18 + 3 files changed, 860 insertions(+), 2 deletions(-) create mode 100644 docs/02-design/maquettes/maquette-r3.html diff --git a/CLAUDE.md b/CLAUDE.md index 9b94900..d7cf3d5 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -48,6 +48,6 @@ pnpm + Turborepo. `apps/api` : NestJS, Prisma, PostgreSQL (pgvector + PostGIS), - ✅ **R2.1 — socle backend exploitation** : migration `r2_exploitation` (10 tables), 15 opérations au contrat (41 total, transitions + champs requis du bilan dans `@siop/shared`), machine à états stricte avec garde de clôture (bilan 3 champs + checklist), demande→OT 1-1, rejet à motif, scoping « voir autre » (listes + accès directs), seed maquette (31 valeurs de bilan, 8 gabarits, OT/demandes/compteurs), 45 tests (95 %/79 %). - ✅ **R2.2 — préventif + compteurs** : `underContract` + `periodKey` (unicité `[assetId, periodKey]` = idempotence EN BASE), génération mensuelle (ancrage mise en service, premier contrôle, gabarits administrables, statut du mois), compteurs strictement croissants ; +7 opérations (48), 50 tests (94,7 %/78 %). Automatisation cron/BullMQ notée pour le durcissement production. - ✅ **R2.3 — écrans web exploitation** : liste/fiche OT (transitions via `allowedTransitions`, garde visible, bilan codé, checklist cliquable, activité), demandes+approbation/rejet motivé, nouvel OT (interrupteur urgence), préventif (tuiles+générer+gabarits), compteurs, tableau de bord réel, urgence traversante (chip topbar, badges, bandeau) ; `GET /assets/options` (trou Demandeur corrigé) ; retry sur collision de référence dans la génération ; 9 Playwright verts (recette R2 complète), 50 tests API. -- ✅ **R2.4 — portail public QR** : `/q/{réf}` sans compte (écran validé R0, mobile d'abord), 3 routes publiques `/portal` throttlées, suivi par jeton opaque (`Request.publicToken`, jamais de liste exposée), étapes Reçu → Intervention → Résolu dérivées de l'OT ; boucle produit complète en e2e (11 Playwright verts, 52 opérations). -- 🔄 **R2 — reste pour clore** : recette R2 avec le référent (revue pixel ↔ maquettes R0+R2, sur `pnpm dev` ou l'instance en ligne après déploiement), tag `release/r2` → ouverture R3 Gestion (stock, BC, tiers, main-d'œuvre, analytics, bibliothèque — maquettes à produire d'abord). +- 🏁 **R2 CLOSE (16/07/2026, tag `release/r2`)** : recettée (1 anomalie corrigée en recette : tri « Interventions récentes »), déployée et vérifiée en ligne (portail `/q/A1`, urgence en tête, préventif de juillet généré). +- 🔄 **R3 Gestion — ouverte, design d'abord** : `maquette-r3.html` (7 écrans : stock dérivé des mouvements, fiche pièce, BC avec réception→entrées, coûts sur OT à prix/taux figés, statistiques, tiers, bibliothèque) — **⛔ en attente de validation du référent avant tout code R3** (4 décisions soumises). Ensuite : modèle R3 (Part/StockMovement, PurchaseOrder, Partner, LaborTime taux figé, Document + upload FileStorage réel) → contrat → API → web → recette (consommer sous seuil → BC → réception ; coût complet d'un OT ; dashboard direction). - Détail quotidien : `docs/journal/journal.md`. Dépôt : `siop-spelev/siop2` (privé), jalons R0→R5. diff --git a/docs/02-design/maquettes/maquette-r3.html b/docs/02-design/maquettes/maquette-r3.html new file mode 100644 index 0000000..448fd2c --- /dev/null +++ b/docs/02-design/maquettes/maquette-r3.html @@ -0,0 +1,840 @@ + + + + + +SIOP V2 — Maquettes HD · R3 Gestion + + + + + + + + +
+ SIOP V2 · Maquettes R3 — Gestion + +
+
+ + +

Intention : le stock est DÉRIVÉ des mouvements (décision v1 éprouvée) — jamais de champ « quantité » éditable. Sous le seuil : strie ambre + alerte, et le bouton « préparer le BC » prérempli. Prix unitaire = dernier prix d'achat (figé à chaque consommation).

+
+
+
+
+
Rechercher une pièce…
+
DÉMONB +
Nadia Berrada
Gestionnaire ▾
+
+
+
+

Stock de pièces

42 références · 2 sous le seuil +
+ + +
+
+
+ Alerte : Toutes + Fournisseur : Tous +
+
+ + + + + + + + +
Réf.DésignationStockSeuilDernier PUFournisseur
P-0113Contact de porte NC-312585 MADAscentech MarocSous le seuil · Préparer le BC
P-0087Coulisseau de guide 16 mm46120 MADAscentech MarocSous le seuil · Préparer le BC
P-0042Graisse guide (cartouche 400 g)18885 MADLubmaroc
P-0031Bouton palier lumineux Ø22261045 MADAscentech Maroc
P-0019Cellule barrière porte (paire)74640 MADSchindlerParts
+
+ Le stock affiché = somme des mouvements (réceptions de BC, entrées manuelles, consommations d'OT, + ajustements d'inventaire motivés). Aucune saisie directe de quantité. +
+
+
+
+
+ + + +
+
+
+
+
Rechercher…
+
DÉMONB +
Nadia Berrada
Gestionnaire ▾
+
+
+
Stock / P-0113
+
+

Contact de porte NC-31

Sous le seuil +
+
+
+
+

Identité

+
+
Référence
P-0113
+
Stock actuel
2 (seuil : 5)
+
Dernier PU
85 MAD (BC-2026-0021, 12 juin)
+
Fournisseur
Ascentech Maroc
+
Compatible
Otis Gen2 · Schindler 3300
+
+
+
+

Mouvements — le stock EST cette liste

+
+ + + + + + + +
DateMouvementQtéOrigine
14 juil.− Sortie1OT-2026-0336 · Ahmed
2 juil.− Sortie2OT-2026-0329 · Fatima-Zahra
12 juin+ Réception5BC-2026-0021 · 85 MAD/u
3 mai− Ajustement1Inventaire — pièce endommagée (Nadia)
+
+
+
+
+
+
+ + + +
+
+
+
+
Rechercher…
+
DÉMONB +
Nadia Berrada
Gestionnaire ▾
+
+
+
+

Bons de commande

+
+
+
+
+ + + + + + + +
FournisseurLignesTotalStatut
BC-2026-0024Ascentech Maroc21 105 MADEnvoyé
BC-2026-0023SchindlerParts11 280 MADBrouillon
BC-2026-0021Ascentech Maroc31 940 MADReçu
BC-2026-0019Lubmaroc1850 MADReçu
+
+

BC-2026-0024 — Ascentech Maroc

+
+ + + + + +
PièceQtéPUTotal
Contact de porte NC-311085850
Coulisseau de guide 16 mm2127,50255
+
Total1 105 MAD
+
+ + +
+

La réception crée un mouvement d'entrée par ligne et fige le PU — le stock remonte, l'alerte s'éteint.

+
+
+
+
+
+
+ + + +
+
+
+
+
Rechercher…
+
DÉMOAB +
Ahmed Benali
Technicien ▾
+
+
+
Ordres de travail / OT-2026-0341
+

Bruit anormal en gaine

En cours
+
+
+

Pièces & main-d'œuvre

+
Coulisseau de guide 16 mm × 2240 MAD
+
Graisse guide (cartouche) × 185 MAD
+
Ahmed Benali · 1 h 30 × 120 MAD/h180 MAD
+
Coût total de l'OT505 MAD
+
+ + +
+
+
+
+

Consommer une pièce

+
Coulisseau de guide 16 mm — stock : 4
+
+
+ Prix figé à la consommation : 120 MAD/u (dernier prix d'achat). + Le stock passera à 2 — sous le seuil, une alerte partira. +
+
+
+
+
+
+
+
+
+ + + +
+
+
+
+
Rechercher…
+
DÉMORB +
Rachid Bennis
Vue seule ▾
+
+
+
+

Statistiques

+
Période : 12 derniers mois
+
+
+
Coût · juillet
18 450 MAD
−12 % vs juin
+
OT clôturés · 12 mois
241
dont 148 préventifs
+
Taux de préventif
92 %
grilles faites / dues
+
Durée moyenne de résolution
2,4 j
dépannages, 12 mois
+
+
+
+

Pannes par organe · 12 mois (bilans codés)

+
+
Portes
34
+
Armoire cde
18
+
Boutons
12
+
Guides
9
+
Treuil
7
+
+
+
+

Coûts par mois (pièces + main-d'œuvre, MAD)

+
+
Mars
21 k
+
Avril
17 k
+
Mai
29 k
+
Juin
21 k
+
Juillet
18,5 k
+
+
+
+
+

Top équipements en coût · 12 mois

+
+ + + + + + +
AppareilSiteDépannagesPiècesMain-d'œuvreTotal
B2Tour Atlas96 4203 2409 660 MAD
A1Résidence Al Manar62 2101 5603 770 MAD
C1Anfa Place41 8909802 870 MAD
+
+
+
+
+
+ + + +
+
+
+
+
Rechercher un tiers…
+
DÉMONB +
Nadia Berrada
Gestionnaire ▾
+
+
+
+

Tiers

+
+
+
+ + + + + + + + +
NomTypeContactRattachements
Ascentech MarocCasablanca — pièces détachéesFournisseurM. Berrini · 05 22 34 56 782 BC en cours
SchindlerPartsImportateur agrééFournisseurcommandes@schindlerparts.ma1 BC en cours
LubmarocConsommablesFournisseur05 22 11 22 33
Atlas Property ManagementSyndicClient / syndicMme Zerhouni · 06 61 98 76 54Tour Atlas
Syndic Al ManarClient / syndicM. Alami (gardien référent)Résidence Al Manar
+
+
+
+
+ + + +
+
+
+
+
Rechercher un document…
+
DÉMONB +
Nadia Berrada
Gestionnaire ▾
+
+
+
+

Bibliothèque

36 documents · 214 Mo +
+
+
+ Type : Tous + Rattaché à : Tout le parc +
+
📁 Glissez un fichier ici — PDF, JPG, PNG · 20 Mo max · rattachez-le à un appareil ou un OT
+
+
📄
NoticeNotice Otis Gen2 Premier.pdfAsc. A1 · 1,2 Mo · mars 2020
+
📄
CertificatCertificat parachute 2026.pdfAsc. A1 · 340 Ko · juil. 2026
+
🖼
Photophoto-guide-frottement.jpgOT-2026-0341 · 2,1 Mo · hier
+
📄
NoticeSchindler 3300 — manuel.pdfAsc. B1 · B2 · 4,8 Mo
+
+
+ Ces documents nourriront l'assistant RAG en R5 (réponses citant leurs sources) — le rattachement propre commence ici. +
+
+
+
+
+ + + + diff --git a/docs/journal/journal.md b/docs/journal/journal.md index 74df60f..d3aa514 100644 --- a/docs/journal/journal.md +++ b/docs/journal/journal.md @@ -4,6 +4,24 @@ Trace chronologique des sessions (la plus récente en premier). Le **playbook** --- +## 2026-07-16 — Pr. Daaif (+ Claude) — R3 ouverte : maquettes de la gestion à valider + +**Actions** + +- **R3 « Gestion » ouverte — design d'abord** : `maquette-r3.html`, **7 écrans** dans le moule validé : Stock (dérivé des mouvements, alertes sous seuil avec « Préparer le BC »), Fiche pièce (les mouvements SONT le stock), Bons de commande (Brouillon → Envoyé → Reçu ; la réception crée les entrées), Coûts sur OT (la carte validée R0 devient réelle : consommation à **prix figé**, main-d'œuvre à **taux figé**), Statistiques (coûts, pannes par organe alimenté par les bilans codés, taux de préventif, top équipements — palette CVD), Tiers (annuaire minimal fournisseurs/syndics), Bibliothèque (documents typés rattachés appareil/OT, MinIO via FileStorage — futur corpus RAG R5). +- Rendu vérifié (7 écrans + thème sombre, zéro erreur). + +**Décisions (proposées à la validation)** + +- **Stock strictement dérivé des mouvements** (décision v1 éprouvée) : aucune saisie directe de quantité ; les ajustements d'inventaire sont des mouvements motivés. +- **Prix figé à la consommation** (dernier prix d'achat) et **taux horaire figé** par personne (champ géré dans Personnes) : le coût d'un OT ne bouge plus jamais. +- La réception d'un BC crée les mouvements d'entrée et fige le PU. +- Documents : types fermés (Notice / Certificat / Photo / Autre), 20 Mo max, rattachement obligatoire (appareil ou OT). + +**⛔ Bloquant** : validation des maquettes R3 par le référent avant toute ligne de code R3. + +--- + ## 2026-07-16 — Pr. Daaif (+ Claude) — 🏁 R2 CLOSE : recettée, déployée, taguée **Actions**