Aller au contenu

PD-249 — Spécification canonique du manuel technique SAE consolidé

1. Objectif

Produire un manuel technique SAE consolidé, unique et référent pour ProbatioVault, permettant :

  • une exploitation directe par les auditeurs externes (ISO 14641:2018, NF Z42-013:2020) sans navigation multi-repos ;
  • une référence technique complète pour les équipes internes (RSSI, conformité, ingénierie) ;
  • la réduction du gap GAP-FINAL-001 (documentation fragmentée) issu de PD-244.

Le livrable attendu est un document Markdown intégré à la documentation officielle, structuré en 10 chapitres contractuels.

2. Périmètre / Hors périmètre

Inclus

  • Consolidation documentaire des composants SAE déjà implémentés : PD-1, PD-⅘/6, PD-⅞, PD-19, PD-33/34, PD-36, PD-60, PD-250.
  • Intégration de l'état partiel de PD-251 (vérification d'intégrité périodique) avec statut explicite.
  • Matrices de conformité ISO 14641:2018 et NF Z42-013:2020 avec références croisées vers preuves.
  • Description de la roadmap (eIDAS, PAE, programme d'audit, SecNumCloud) avec horizon.
  • Intégration dans ProbatioVault-doc (Markdown + Mermaid + MkDocs Material + plugin PDF existant).

Exclu

  • Implémentation logicielle backend/infra/app.
  • Création/modification d'API, workers, schémas DB ou mécanismes cryptographiques.
  • Validation normative finale par organisme certificateur.
  • Production de preuves nouvelles non encore existantes dans les artefacts sources.

3. Définitions

  • SAE : Système d'Archivage Électronique.
  • ISO 14641:2018 : norme sur la conception/exploitation de systèmes d'archivage électronique.
  • NF Z42-013:2020 : norme française relative à l'archivage électronique.
  • Gap : écart de conformité identifié par audit.
  • WORM : Write Once Read Many (immutabilité logique).
  • Object Lock COMPLIANCE : mode S3 empêchant suppression/modification pendant rétention.
  • Chaîne de preuve : ensemble empreinte + Merkle + horodatage + ancrage.
  • PV-Envelope : enveloppe probatoire documentaire ProbatioVault.
  • PV-PRE : Proxy Re-Encryption ProbatioVault.
  • MkDocs Material : moteur de publication HTML de la documentation.
  • with-pdf : plugin de génération PDF de la documentation.

4. Invariants (non négociables)

ID Règle Justification
INV-249-01 Le manuel comporte exactement 10 chapitres, correspondant à la structure cible validée. CA-249-01, comparabilité audit.
INV-249-02 Chaque composant SAE implémenté listé au besoin est documenté dans au moins un chapitre dédié. Couverture fonctionnelle complète.
INV-249-03 Chaque composant implémenté est accompagné d'au moins un diagramme Mermaid maintenable. CA-249-02, maintenabilité documentaire.
INV-249-04 Les matrices ISO 14641 et NF Z42-013 référencent des preuves traçables (document/source/section). Auditabilité externe.
INV-249-05 Les scores et gaps PD-244 sont repris sans altération et réconciliés dans le chapitre conformité. Cohérence inter-artefacts (CON-249-02).
INV-249-06 Aucun chapitre ne doit reprendre plus de 30% de contenu textuel verbatim provenant d'une source unique ; la duplication intégrale est interdite et le manuel doit consolider/synthétiser avec références explicites. CON-249-01.
INV-249-07 Le manuel reste exploitable sans accès au code source (contexte, règles, preuves documentées). CON-249-04.
INV-249-08 Les éléments roadmap sont distingués des éléments implémentés avec statut explicite (DONE / En cours / Planifié). Éviter ambiguïté de conformité.
INV-249-09 Tous les termes normatifs et ProbatioVault utilisés sont définis dans un glossaire SAE dédié. CA-249-07.
INV-249-10 Le manuel est publiable dans MkDocs avec rendu HTML et PDF sans rupture de navigation. CA-249-05.
INV-249-11 Modèle d'états documentaire contractuel : DRAFT -> REVIEWED -> PUBLISHED -> ARCHIVED; transitions sortantes explicites et état terminal interdit sortant. Exigence transitions explicites (REX PD-84/250).

5. Flux nominaux

Flux F1 — Consolidation des sources documentaires

  1. Identifier les sources de référence (doc, backend, infra, specs normatives).
  2. Extraire les éléments requis pour les 10 chapitres.
  3. Rapprocher chaque élément avec son statut (implémenté / en cours / planifié).
  4. En cas de divergence, privilégier la donnée auditée PD-244 et tracer l'écart.

Flux F2 — Construction du manuel en 10 chapitres

  1. Produire les chapitres 1 à 10 selon la structure cible.
  2. Associer chaque chapitre aux composants SAE concernés.
  3. Intégrer les diagrammes Mermaid pour les composants implémentés.
  4. Ajouter glossaire complet et positionnement normatif.

Flux F3 — Conformité normative et preuves

  1. Générer la matrice ISO 14641 article par article.
  2. Générer la matrice NF Z42-013 article par article.
  3. Lier chaque exigence à une preuve documentaire vérifiable.
  4. Lister gaps restants et plan de remédiation.

Flux F4 — Publication documentaire

  1. Intégrer le manuel dans la navigation MkDocs.
  2. Vérifier rendu HTML et génération PDF via plugin existant.
  3. Vérifier l'accessibilité du contenu sans dépendance au code source.

Flux F5 — Cycle d'état documentaire (transitions explicites)

  • DRAFT -> REVIEWED : autorisée, prérequis complétude chapitres 1–10.
  • REVIEWED -> PUBLISHED : autorisée, prérequis validation RSSI + Compliance.
  • PUBLISHED -> ARCHIVED : autorisée, prérequis remplacement par version plus récente.
  • REVIEWED -> DRAFT : autorisée (retour correction), conservation complète des contenus.
  • PUBLISHED -> REVIEWED : autorisée (downgrade de révision), contenu conservé, statut diffusion suspendu.
  • ARCHIVED -> * : INTERDITE (état terminal, résolution manuelle uniquement).

5bis. Diagrammes Mermaid

Diagramme d'états — Cycle de vie documentaire (INV-249-11)

stateDiagram-v2
    [*] --> DRAFT
    DRAFT --> REVIEWED : Complétude chapitres 1–10
    REVIEWED --> PUBLISHED : Validation RSSI + Compliance
    PUBLISHED --> ARCHIVED : Remplacement par version récente
    REVIEWED --> DRAFT : Retour correction (contenu conservé)
    PUBLISHED --> REVIEWED : Downgrade révision (diffusion suspendue)
    ARCHIVED --> [*]

    note right of DRAFT
        Rédaction / consolidation
        des 10 chapitres (INV-249-01)
    end note

    note right of ARCHIVED
        État terminal — aucune
        transition sortante autorisée
    end note

Diagramme de séquence — Flux F1 + F2 : Consolidation et construction du manuel (INV-249-02, INV-249-06)

sequenceDiagram
    participant Orch as Orchestrateur
    participant Doc as ProbatioVault-doc
    participant Back as ProbatioVault-backend
    participant Infra as ProbatioVault-infra
    participant PD244 as Audit PD-244

    Orch->>Doc: Extraire artefacts doc (specs, glossaire)
    Orch->>Back: Extraire artefacts backend (crypto, API, workers)
    Orch->>Infra: Extraire artefacts infra (WORM, HSM, VPC)
    Orch->>PD244: Récupérer scores et gaps (INV-249-05)

    Doc-->>Orch: Sources doc
    Back-->>Orch: Sources backend
    Infra-->>Orch: Sources infra
    PD244-->>Orch: Scores / gaps sans altération

    Orch->>Orch: Rapprochement statut (DONE / En cours / Planifié) — INV-249-08
    Orch->>Orch: Consolidation / synthèse (≤30% verbatim par source) — INV-249-06
    Orch->>Doc: Production chapitres 1–10 + diagrammes Mermaid (INV-249-03)
    Orch->>Doc: Intégration glossaire SAE (INV-249-09)

Diagramme de séquence — Flux F3 + F4 : Conformité normative et publication (INV-249-04, INV-249-10)

sequenceDiagram
    participant Orch as Orchestrateur
    participant Manuel as Manuel SAE
    participant ISO as Matrice ISO 14641
    participant NF as Matrice NF Z42-013
    participant MkDocs as MkDocs Material

    Orch->>ISO: Générer matrice article par article
    Orch->>NF: Générer matrice article par article

    ISO-->>Orch: Matrice avec preuves traçables (INV-249-04)
    NF-->>Orch: Matrice avec preuves traçables (INV-249-04)

    Orch->>Manuel: Intégrer matrices + gaps + plan remédiation
    Orch->>Manuel: Vérifier exploitabilité sans code source (INV-249-07)

    Orch->>MkDocs: Intégrer dans navigation
    MkDocs-->>MkDocs: Build HTML
    MkDocs-->>MkDocs: Build PDF (plugin with-pdf)
    MkDocs-->>Orch: Rendu validé (INV-249-10)

6. Cas d'erreur

  • E-249-01 Source manquante : un document source requis n'est pas accessible -> marquage explicite "donnée manquante", chapitre non validable.
  • E-249-02 Incohérence inter-sources : deux sources se contredisent -> règle d'arbitrage PD-244 prioritaire + point de clarification.
  • E-249-03 Chapitre incomplet : un des 10 chapitres absent -> rejet du livrable (non conforme INV-249-01).
  • E-249-04 Absence de diagramme Mermaid pour composant implémenté -> non conforme INV-249-03.
  • E-249-05 Matrice normative sans preuve traçable -> non conforme INV-249-04.
  • E-249-06 Publication cassée (navigation/rendu HTML/PDF) -> non conforme INV-249-10.
  • E-249-07 Confusion implémenté vs planifié -> non conforme INV-249-08.
  • E-249-08 Glossaire incomplet -> non conforme INV-249-09.

7. Critères d'acceptation (testables)

ID Critère Observable
CA-249-01 Un manuel unique couvre les 10 chapitres ciblés. Présence de 10 sections majeures, ordre conforme.
CA-249-02 Chaque composant SAE implémenté est décrit avec diagramme(s) Mermaid. Tableau de couverture composant -> chapitre + lien diagramme Mermaid.
CA-249-03 Matrices ISO 14641 et NF Z42-013 présentes avec références de preuves. Deux matrices complètes, chaque ligne inclut référence vérifiable.
CA-249-04 Section roadmap documente composants planifiés avec horizon temporel. Tableau roadmap avec statut et horizon pour chaque composant.
CA-249-05 Intégration MkDocs valide (navigation + HTML + PDF). Entrée de navigation visible, build HTML/PDF réussi.
CA-249-06 Revue RSSI et Compliance obtenue pour publication, avec approbation via commentaire Git (MR/commit) portant les tags approved-by-rssi et approved-by-compliance sur le commit de publication. Présence des deux tags sur le commit de publication (preuve Git traçable).
CA-249-07 Glossaire SAE complet (normatif + ProbatioVault). Section glossaire avec définitions des termes utilisés dans le manuel.

8. Scénarios de test (Given / When / Then)

  • T-249-01 (CA-249-01) Given le manuel consolidé When on vérifie sa structure Then exactement 10 chapitres contractuels sont présents et ordonnés.

  • T-249-02 (CA-249-02) Given la liste des composants SAE implémentés When on contrôle leur couverture Then chaque composant a au moins un chapitre et un diagramme Mermaid associé.

  • T-249-03 (CA-249-03) Given les matrices ISO/NF When on inspecte chaque exigence listée Then chaque ligne contient une référence de preuve explicite et vérifiable.

  • T-249-04 (CA-249-04) Given la section feuille de route When on lit les composants planifiés Then chaque entrée a un statut et un horizon temporel explicites.

  • T-249-05 (CA-249-05) Given la documentation MkDocs When on génère HTML puis PDF Then le manuel apparaît dans la navigation et les deux rendus sont produits sans erreur bloquante.

  • T-249-06 (CA-249-06) Given la version candidate publication When on vérifie les validations Then des approbations explicites RSSI et Compliance sont présentes.

  • T-249-07 (CA-249-07) Given le contenu du manuel When on extrait les acronymes/termes normatifs et internes Then tous les termes sont définis dans le glossaire SAE.

  • T-249-08 (INV-249-11, transitions retour) Given l'état REVIEWED ou PUBLISHED When une demande de retour est émise Then la transition retour (REVIEWED -> DRAFT ou PUBLISHED -> REVIEWED) est possible avec conservation des données ; et depuis ARCHIVED, toute transition sortante est refusée.

9. Hypothèses explicites

ID Hypothèse Impact si faux
H-249-01 Les sources citées (infra/backend/doc) sont accessibles et versionnées. Impossible d'assurer couverture complète et preuves.
H-249-02 Les résultats PD-244 (scores/gaps) sont la référence officielle la plus récente. Risque de matrice conformité incohérente.
H-249-03 Le projet cible est ProbatioVault-doc (stack documentaire MkDocs Material + Markdown + Mermaid + plugin with-pdf). Si stack différente, CA-249-05 et §10 doivent être révisés.
H-249-04 Les validations RSSI et Compliance suivent un processus traçable. CA-249-06 non vérifiable.
H-249-05 Les stories dépendantes (PD-250, PD-251, PD-⅞, PD-33/34, PD-⅘/6) fournissent des artefacts consommables. Chapitres ¾/⅚ incomplets ou ambigus.

10. Points à clarifier

  1. Epic de rattachement : PD-217 — LEGAL & COMPLIANCE.
  2. Emplacement exact dans la navigation MkDocs : top-level ou sous "Infrastructure".
  3. Bornes numériques :
  4. Paramètre identifié : nombre de chapitres = défaut 10, min 10, max 10, unité chapitres, hors borne = rejet non conforme.
  5. En dehors de cette cardinalité, aucune borne numérique applicable.
  6. SLA temporels : Aucune transition temporelle identifiée (pas de TTL/expiration/deadline métier dans ce périmètre documentaire).
  7. Contraintes spécialisées non applicables :
  8. Invariant envelope encryption : hors périmètre (module documentaire, pas de stockage de secrets).
  9. Migration DDL : non applicable.
  10. Atomicité DB+queue/journal : non applicable.
  11. Contraintes inter-modules de type guard cross-route : aucune contrainte inter-module applicable.

Références

  • Epic : PD-217 — LEGAL & COMPLIANCE
  • JIRA : PD-249
  • Repos concernés : ProbatioVault-doc, ProbatioVault-backend, ProbatioVault-infra
  • Documents associés : PD-244 (audit), PD-250 (destruction), PD-251 (intégrité périodique), infra/overview.md, infra/storage-architecture.md, infra/storage-compliance.md, infra/worm.md, specs normatives PV-Envelope et PV-PRE