PD-244 — Plan d'implémentation (audit documentaire)¶
1. Nature de la story¶
PD-244 est une story documentaire : elle produit des matrices de conformité, pas du code. L'implémentation consiste à extraire, analyser et documenter les exigences normatives.
2. Sources normatives¶
| Norme | Version | Fichier source | Sections principales |
|---|---|---|---|
| ISO 14641 | 2018 | docs/normes/ISO-14641-2018.txt | 14 sections (§1-§14) + 3 annexes |
| NF Z42-013 | 2020 | docs/normes/Z42-013.pdf | À analyser |
3. Tâches d'implémentation¶
TASK-1 : Extraction inventaire ISO 14641:2018¶
Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-01, CA-PD244-01
Description : Parcourir ISO 14641:2018.txt et extraire chaque exigence normative avec :
- Identifiant de section (ex: 5.5.1, 10.1.2)
- Texte de l'exigence (paraphrasé, pas de citation verbatim - INV-PD244-08)
- Niveau d'exigence (SHALL/SHOULD/MAY → obligatoire/recommandé/optionnel)
Output : Section ISO de PD-244-inventaire-reference.yaml
Estimation : ~80-120 exigences
TASK-2 : Extraction inventaire NF Z42-013:2020¶
Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-01, CA-PD244-02
Description : Analyser NF Z42-013:2020.pdf (via extraction texte) et extraire les exigences. Structure attendue similaire à ISO 14641 (norme française dérivée).
Output : Section NF de PD-244-inventaire-reference.yaml
Dépendance : Aucune (parallélisable avec TASK-1)
TASK-3 : Filtrage d'applicabilité SAE B2C¶
Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-05, CA-PD244-08
Description : Pour chaque exigence de l'inventaire, qualifier :
applicable: true→ exigence pertinente pour un SAE B2Capplicable: false→ exigence hors périmètre (tiers archiveur, B2B, etc.)
Chaque exclusion DOIT porter une justification testable.
Output : Champ applicable + applicability_justification par exigence
Dépendance : TASK-1, TASK-2
TASK-4 : Mapping exigences → stories ProbatioVault¶
Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-04, CA-PD244-03, CA-PD244-04
Description : Pour chaque exigence applicable, identifier :
- Les stories ProbatioVault qui la couvrent (PD-XX)
- Le statut de couverture (CONFORME, PARTIEL, NON_IMPLEMENTE)
Stories à analyser (depuis le besoin) :
- Backend : PD-37, PD-39, PD-40, PD-60, PD-31
- Infra : PD-4, PD-5, PD-6, PD-44, PD-7
- App : PD-33, PD-34, PD-42, PD-54
- Blockchain : PD-52, PD-53, PD-245
Méthode :
- Lire les specs/REX de chaque story dans
data/specs-index/ - Identifier les invariants/fonctionnalités correspondant à l'exigence
- Qualifier le niveau de couverture
Output : Champs stories, status, status_justification par exigence
Dépendance : TASK-3
TASK-5 : Collecte des preuves¶
Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-03, CA-PD244-03
Description : Pour chaque exigence CONFORME ou PARTIEL, documenter au moins une preuve :
type: code→ chemin fichier + fonction/classetype: test→ chemin test + nom du test casetype: doc→ chemin doc + sectiontype: architecture_decision→ référence ADRtype: ticket→ ID Jira
Règle : Aucune exigence CONFORME sans preuve verifiable.
Output : Champ evidence[] par exigence
Dépendance : TASK-4
TASK-6 : Identification et documentation des gaps¶
Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-04, CA-PD244-04, CA-PD244-07
Description : Pour chaque exigence PARTIEL ou NON_IMPLEMENTE :
- Créer un gap dans
PD-244-gaps.yaml - Attribuer une sévérité (CRITICAL/HIGH/MEDIUM/LOW) selon section 4.5
- Créer ou référencer une story Jira sous PD-217
Schéma gap :
- gap_id: "GAP-ISO-5.5.1-01"
requirement_id: "ISO-14641-5.5.1"
description: "..."
severity: "HIGH"
planned_story: "PD-XXX"
epic_parent: "PD-217"
owner: "TechLead"
status: "PLANNED"
target_date: "2026-06-30"
Output : PD-244-gaps.yaml
Dépendance : TASK-4, TASK-5
TASK-7 : Génération matrice ISO 14641:2018¶
Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-06, CA-PD244-01, CA-PD244-05
Description : Assembler PD-244-iso-14641-matrix.yaml selon le schéma canonique (section 4.2). Générer PD-244-iso-14641-matrix.md fidèlement depuis le YAML.
Output : PD-244-iso-14641-matrix.yaml, PD-244-iso-14641-matrix.md
Dépendance : TASK-5, TASK-6
TASK-8 : Génération matrice NF Z42-013:2020¶
Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-06, CA-PD244-02, CA-PD244-05
Description : Assembler PD-244-nf-z42-013-matrix.yaml et PD-244-nf-z42-013-matrix.md.
Output : PD-244-nf-z42-013-matrix.yaml, PD-244-nf-z42-013-matrix.md
Dépendance : TASK-5, TASK-6
TASK-9 : Génération gaps.md¶
Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-06, CA-PD244-07
Description : Générer PD-244-gaps.md depuis PD-244-gaps.yaml. Vue lisible avec priorisation et stories associées.
Output : PD-244-gaps.md
Dépendance : TASK-6
TASK-10 : Génération dashboard de conformité¶
Agent : Claude (orchestrateur) INV/CA couvert : CA-PD244-06
Description : Calculer les scores globaux selon la formule (section 4.4) : score = ((CONFORME * 100) + (PARTIEL * 50)) / (total - HORS_PERIMETRE) * 100
Produire PD-244-compliance-dashboard.md avec :
- Score par norme
- Répartition des statuts
- Liste consolidée des stories de gap
- Taux de traçabilité
Output : PD-244-compliance-dashboard.md
Dépendance : TASK-7, TASK-8, TASK-9
TASK-11 : Traçabilité claims doc 41/42/43¶
Agent : Claude (orchestrateur) INV/CA couvert : INV-PD244-07, CA-PD244-09
Description : Identifier les claims de conformité ISO/NF dans les docs corporate :
- Doc 41 : Architecture TechLead v4.1
- Doc 42 : Spécifications Techniques
- Doc 43 : Specs Stockage
Pour chaque claim, documenter :
- Exigence normative référencée
- Preuve de couverture
Output : Section corporate_claims dans les matrices
Dépendance : TASK-7, TASK-8
4. Diagramme de dépendances¶
TASK-1 (ISO) ─────┐
├──→ TASK-3 (Applicabilité) ──→ TASK-4 (Mapping) ──→ TASK-5 (Preuves) ──┐
TASK-2 (NF) ──────┘ │
├──→ TASK-6 (Gaps)
│
├──→ TASK-7 (Matrice ISO)
│
└──→ TASK-8 (Matrice NF)
│
├──→ TASK-9 (Gaps.md)
│
├──→ TASK-10 (Dashboard)
│
└──→ TASK-11 (Claims)
5. Diagrammes Mermaid¶
5.1 Graphe de dépendances des tâches¶
graph TD
TASK1["TASK-1<br/>Extraction ISO 14641"]
TASK2["TASK-2<br/>Extraction NF Z42-013"]
TASK3["TASK-3<br/>Filtrage applicabilité SAE B2C"]
TASK4["TASK-4<br/>Mapping exigences → stories"]
TASK5["TASK-5<br/>Collecte preuves"]
TASK6["TASK-6<br/>Identification gaps"]
TASK7["TASK-7<br/>Matrice ISO 14641"]
TASK8["TASK-8<br/>Matrice NF Z42-013"]
TASK9["TASK-9<br/>Gaps.md"]
TASK10["TASK-10<br/>Dashboard conformité"]
TASK11["TASK-11<br/>Traçabilité claims doc 41/42/43"]
TASK1 --> TASK3
TASK2 --> TASK3
TASK3 --> TASK4
TASK4 --> TASK5
TASK5 --> TASK6
TASK5 --> TASK7
TASK5 --> TASK8
TASK6 --> TASK7
TASK6 --> TASK8
TASK6 --> TASK9
TASK7 --> TASK10
TASK8 --> TASK10
TASK9 --> TASK10
TASK7 --> TASK11
TASK8 --> TASK11
classDef extraction fill:#e1f5fe,stroke:#0288d1
classDef analysis fill:#fff3e0,stroke:#f57c00
classDef output fill:#e8f5e9,stroke:#388e3c
classDef synthesis fill:#f3e5f5,stroke:#7b1fa2
class TASK1,TASK2 extraction
class TASK3,TASK4,TASK5 analysis
class TASK6,TASK7,TASK8,TASK9 output
class TASK10,TASK11 synthesis 5.2 Diagramme de séquence — Pipeline d'audit documentaire¶
sequenceDiagram
participant Orch as Claude (orchestrateur)
participant ISO as ISO 14641:2018.txt
participant NF as NF Z42-013:2020.pdf
participant Specs as data/specs-index/
participant Jira as Jira (PD-217)
rect rgb(225, 245, 254)
note over Orch,NF: Phase 1 — Extraction (TASK-1 & TASK-2, parallélisables)
par Extraction parallèle
Orch->>ISO: Parse 14 sections (§1-§14)
ISO-->>Orch: ~80-120 exigences SHALL/SHOULD/MAY
and
Orch->>NF: Parse PDF (extraction texte)
NF-->>Orch: Exigences NF Z42-013
end
Orch->>Orch: inventaire-reference.yaml
end
rect rgb(255, 243, 224)
note over Orch,Specs: Phase 2 — Analyse (TASK-3 → TASK-5)
Orch->>Orch: TASK-3 : Filtrage applicabilité SAE B2C
Orch->>Specs: TASK-4 : Lecture specs/REX de 17 stories
Specs-->>Orch: Mapping exigences → PD-XX (CONFORME/PARTIEL/NON_IMPLEMENTE)
Orch->>Specs: TASK-5 : Collecte preuves (code, test, doc, ADR)
Specs-->>Orch: evidence[] par exigence
end
rect rgb(232, 245, 233)
note over Orch,Jira: Phase 3 — Sorties (TASK-6 → TASK-9)
Orch->>Jira: TASK-6 : Création stories gap sous PD-217
Jira-->>Orch: PD-XXX (stories gap créées)
Orch->>Orch: TASK-7 : iso-14641-matrix.yaml + .md
Orch->>Orch: TASK-8 : nf-z42-013-matrix.yaml + .md
Orch->>Orch: TASK-9 : gaps.yaml + gaps.md
end
rect rgb(243, 229, 245)
note over Orch,Jira: Phase 4 — Synthèse (TASK-10 & TASK-11)
Orch->>Orch: TASK-10 : compliance-dashboard.md (scores globaux)
Orch->>Orch: TASK-11 : Traçabilité claims doc 41/42/43
end 6. Matrice de couverture INV/CA → Tâches¶
| INV/CA | Tâche couvrant |
|---|---|
| INV-PD244-01 | TASK-1, TASK-2 |
| INV-PD244-02 | TASK-4 |
| INV-PD244-03 | TASK-5 |
| INV-PD244-04 | TASK-4, TASK-6 |
| INV-PD244-05 | TASK-3 |
| INV-PD244-06 | TASK-7, TASK-8, TASK-9 |
| INV-PD244-07 | TASK-11 |
| INV-PD244-08 | TASK-1, TASK-2 (paraphrase, pas de citation) |
| CA-PD244-01 | TASK-1, TASK-7 |
| CA-PD244-02 | TASK-2, TASK-8 |
| CA-PD244-03 | TASK-5 |
| CA-PD244-04 | TASK-6 |
| CA-PD244-05 | TASK-7, TASK-8 |
| CA-PD244-06 | TASK-10 |
| CA-PD244-07 | TASK-6, TASK-9 |
| CA-PD244-08 | TASK-3 |
| CA-PD244-09 | TASK-11 |
7. Estimation¶
| Tâche | Complexité | Temps estimé |
|---|---|---|
| TASK-1 | Haute (parsing 14 sections) | 2h |
| TASK-2 | Haute (PDF à parser) | 2h |
| TASK-3 | Moyenne | 1h |
| TASK-4 | Haute (17 stories à analyser) | 3h |
| TASK-5 | Haute (collecte preuves) | 2h |
| TASK-6 | Moyenne | 1h |
| TASK-7 | Moyenne | 1h |
| TASK-8 | Moyenne | 1h |
| TASK-9 | Basse | 0.5h |
| TASK-10 | Basse | 0.5h |
| TASK-11 | Moyenne | 1h |
| Total | ~15h |
8. Risques et mitigations¶
| Risque | Impact | Mitigation |
|---|---|---|
| PDF NF Z42-013 difficile à parser | Retard TASK-2 | Extraction manuelle si OCR échoue |
| Nombreux gaps découverts | Charge stories | Prioriser par sévérité CRITICAL/HIGH |
| Stories ProbatioVault incomplètes | Couverture faible | Documenter clairement les NON_IMPLEMENTE |
| Interprétation subjective exigences | Qualité audit | Justifier chaque statut factuellement |
9. Livrables finaux¶
PD-244-inventaire-reference.yaml— baseline des exigencesPD-244-iso-14641-matrix.yaml+.mdPD-244-nf-z42-013-matrix.yaml+.mdPD-244-gaps.yaml+.mdPD-244-compliance-dashboard.md
Plan produit par Claude (orchestrateur) — 2026-02-20