Aller au contenu

Politique des formats de préservation SAE

Document : preservation-format-policy.md
Statut : FINAL
Version : 1.0
Date : 2026-03-11
Story : PD-252
Projet : ProbatioVault-doc
Tracabilité : GAP-FINAL-004 — ISO 14641 §10.1.1 (voir §8)
Référencé depuis : Manuel SAE ch08 — Conformité normative


Sommaire

  1. Contrats de données (source de vérité unique)
  2. Paramètres numériques contractualisés
  3. Catalogue des formats acceptés
  4. Règles de conversion à l'ingestion
  5. Validations à l'ingestion
  6. Matrice formats × durées légales
  7. Modèle d'états et transitions
  8. Références normatives et tracabilité
  9. Règles non testables
  10. Cas d'erreur

1. Contrats de données

INV-252-06 : Les contraintes de format et de validation de toutes les données structurées utilisées dans cette policy sont définies une seule fois dans cette section. Toutes les autres sections référencent ces contraintes sans les redéfinir.

1.1 Champs contractualisés

Champ Format / Encodage Longueur / Taille Jeu de caractères Sensibilité casse Regex Comportement si invalide
formatName String canonique 1..32 caractères ASCII imprimable case-sensitive ^[A-Z0-9/+.-]{1,32}$ Rejet de l'entrée de policy
mimeType RFC 6838 type/subtype (normalisation lowercase obligatoire avant validation) 3..127 caractères ASCII lowercase + symboles RFC comparaison et stockage en lowercase après normalisation ^[a-z0-9!#$&^_.+-]+/[a-z0-9!#$&^_.+-]+$ (après normalisation) Rejet
preservationLevel Enum 1 valeur COMPLETE\|BITSTREAM case-sensitive ^(COMPLETE\|BITSTREAM)$ Rejet
retentionDuration ISO 8601 durée (sous-ensemble mono-composant) 2..16 caractères ASCII uppercase + chiffres case-sensitive ^P(\d+Y\|\d+M\|\d+D)$ Rejet
conversionPriority Enum 1 valeur P1\|P2\|P3 case-sensitive ^P[1-3]$ Rejet
normativeReference String NORME §section 8..128 caractères UTF-8 case-sensitive ^[A-Z0-9 .:_-]+ §[0-9.]+$ Rejet
integrityHashAlgorithm Constante SHA3-384 ASCII case-sensitive ^SHA3-384$ Rejet

1.2 Notes contractuelles

  • Durées combinées : Les durées multi-composant (ex : P1Y6M) sont explicitement hors scope de ce contrat v1. Seul le sous-ensemble mono-composant ^P(\d+Y|\d+M|\d+D)$ est autorisé.
  • Canonicalisation des labels de formats : Le nom canonique est celui utilisé dans ISO 19005 et les standards respectifs. Aucun alias n'est autorisé.
  • Distinction normativeReference vs citations documentaires : Le champ normativeReference (regex ^[A-Z0-9 .:_-]+ §[0-9.]+$) s'applique aux références structurées avec section spécifique (ex : ISO 14641 §10.1.1, NF Z42-013 §6.2.4). Les mentions de normes sans section (ex : ISO 19005-1, RFC-PV-PACK) sont des citations documentaires et ne sont PAS des valeurs du champ normativeReference. Les citations documentaires n'ont pas de regex contractuelle ; leur présence est vérifiée par existence textuelle dans la policy.
  • Normalisation mimeType : Toute valeur mimeType est normalisée en lowercase avant validation (ex : Application/PDFapplication/pdf). Un mimeType valide après normalisation n'est pas rejeté.

2. Paramètres numériques contractualisés

Référence contrats de données : voir §1 (retentionDuration, integrityHashAlgorithm).

Paramètre Valeur par défaut Min Max Unité Contexte Hors bornes
Taille fichier catégorie DEFAULT 100 0 100 MB Validation ingestion backend (valeur définie dans DocumentCategoryConfig, hors périmètre PD-252 — rappel informatif uniquement) Rejet ingestion
Durée « contrats commerciaux » 10 10 10 ans Matrice légale §6 Rejet de la policy
Durée « factures » 10 10 10 ans Matrice légale §6 Rejet de la policy
Durée « documents probatoires » 30 30 30 ans Matrice légale §6 Rejet de la policy
Durée « preuves numériques (mineurs) » 30 30 30 ans Matrice légale §6 Rejet de la policy
Durée « données techniques » 5 5 5 ans Matrice légale §6 Rejet de la policy

SLA temporels : Aucune transition temporelle identifiée au sens SLA d'exécution applicative. Les durées de conservation ci-dessus sont des contraintes de contenu de policy (pas un moteur d'expiration implémenté par PD-252).


3. Catalogue des formats acceptés

INV-252-02 : La liste des formats de préservation est exhaustive pour les catégories définies dans PD-252.
INV-252-03 : Chaque format est associé à un niveau de préservation unique (COMPLETE ou BITSTREAM) — voir §1 pour la définition de l'enum.

3.1 Définitions des niveaux de préservation

  • COMPLETE : Préservation de la lisibilité et de l'interprétabilité du document — structure, rendu et métadonnées selon le format sont conservés et vérifiables dans la durée.
  • BITSTREAM : Préservation de l'intégrité binaire uniquement, sans garantie de lisibilité future. La fidélité du rendu dépend de la disponibilité des outils de lecture appropriés.

3.2 Catalogue par catégorie

Les champs formatName, mimeType et preservationLevel sont soumis aux contraintes définies en §1.

Catégorie 1 — Documents textuels

formatName mimeType preservationLevel Notes
PDF/A-1B application/pdf COMPLETE ISO 19005-1 — archivage long terme niveau B
PDF/A-2B application/pdf COMPLETE ISO 19005-2 — archivage long terme niveau B
PDF/A-3B application/pdf COMPLETE ISO 19005-3 — archivage avec pièces jointes
FACTUR-X application/pdf COMPLETE PDF/A-3B avec facture XML embarquée (CII ou UBL, conforme EN 16931)

Note de discrimination FACTUR-X / PDF/A-3B : Ces deux formats partagent le même mimeType=application/pdf. La discrimination repose sur la détection d'un flux XML embarqué conforme CII ou UBL (EN 16931). Cette détection est couverte par la validation PDF/A (PLANIFIÉ, PD-NEW — voir §5). En attendant l'implémentation, la classification repose sur le formatName déclaré par l'utilisateur à l'ingestion.

Catégorie 2 — Images

formatName mimeType preservationLevel Notes
JPEG image/jpeg BITSTREAM Compression avec perte — intégrité binaire uniquement
PNG image/png BITSTREAM Compression sans perte — intégrité binaire
TIFF image/tiff BITSTREAM Format raster non compressé ou LZW

Catégorie 3 — Données structurées

formatName mimeType preservationLevel Notes
JSON application/json COMPLETE Structure sémantique et lisibilité préservées
XML application/xml COMPLETE Structure sémantique et lisibilité préservées

Catégorie 4 — Texte brut

formatName mimeType preservationLevel Notes
TXT text/plain BITSTREAM Encodage UTF-8 recommandé ; pas de garantie de rendu
CSV text/csv BITSTREAM Séparateur et encodage à documenter à l'ingestion

Catégorie 5 — Audio/Vidéo

formatName mimeType preservationLevel Notes
MP4 video/mp4 BITSTREAM Conteneur MPEG-4 — dépendance codec
WAV audio/wav BITSTREAM Audio non compressé PCM
MOV video/quicktime BITSTREAM Conteneur QuickTime — dépendance codec

3.3 Récapitulatif — Liste canonique des 14 formats

Référence spec §5.4b. Cette liste est la référence normative immuable pour PD-252 v1.

PDF/A-1B, PDF/A-2B, PDF/A-3B, JPEG, PNG, TIFF, JSON, XML, FACTUR-X, TXT, CSV, MP4, WAV, MOV.

Contrainte d'unicité : Le champ formatName est unique dans cette liste (voir §1 — regex ^[A-Z0-9/+.-]{1,32}$). Aucun alias n'est autorisé.

Périmètre : Les catégories backend DEFAULT et B2C_EVIDENCE_MINOR définies dans DocumentCategoryConfig (ProbatioVault-backend) ne sont pas des catégories de policy et ne sont pas redéfinies ici.


4. Règles de conversion à l'ingestion

INV-252-04 : Les règles de conversion à l'ingestion sont documentées comme recommandations non bloquantes en v1.
Le champ conversionPriority suit l'enum P1|P2|P3 défini en §1.

Ces règles décrivent les conversions souhaitables vers un format de préservation supérieur. Aucune conversion n'est bloquante en v1 : un document au format source est accepté tel quel si le format figure dans le catalogue §3.

Format source Format cible conversionPriority Statut Story
DOCX PDF/A-2B P1 PLANIFIÉ (PD-NEW) Story non encore créée dans le backlog. Sera créée lors de la planification du sprint suivant.
ODT PDF/A-2B P1 PLANIFIÉ (PD-NEW) Story non encore créée dans le backlog. Sera créée lors de la planification du sprint suivant.
HTML PDF/A-2B P2 PLANIFIÉ (PD-NEW) Story non encore créée dans le backlog. Sera créée lors de la planification du sprint suivant.
JPEG (document scanné) PDF/A-2B P2 PLANIFIÉ (PD-NEW) Story non encore créée dans le backlog. Sera créée lors de la planification du sprint suivant.
PDF (non PDF/A) PDF/A-2B P1 PLANIFIÉ (PD-NEW) Story non encore créée dans le backlog. Sera créée lors de la planification du sprint suivant.

Caractère non bloquant v1 : En l'absence d'implémentation des conversions automatiques, les documents aux formats sources ci-dessus sont soit refusés à l'ingestion (format non listé en §3), soit acceptés dans leur format d'origine si ce format figure au catalogue §3. L'implémentation des conversions est déléguée aux stories PD-NEW listées ci-dessus.


5. Validations à l'ingestion

INV-252-05 : Les validations d'ingestion minimales suivantes sont toutes obligatoires.
L'algorithme d'intégrité est SHA3-384 (voir §1 — integrityHashAlgorithm).

Validation Règle contractuelle Statut implémentation
MIME déclaré vs contenu réel Obligatoire — le type MIME déclaré par l'utilisateur est comparé à la signature binaire (magic bytes) du fichier IMPLANTÉ
Validation PDF/A Obligatoire pour tout format basé PDF/A (PDF/A-1B, PDF/A-2B, PDF/A-3B, FACTUR-X) — vérification de conformité au profil ISO 19005 via outil dédié PLANIFIÉ (PD-NEW)
Hash intégrité SHA3-384 Obligatoire — calcul et stockage du hash SHA3-384 du fichier ingéré avant tout traitement IMPLANTÉ
Contrôle taille Obligatoire selon catégorie backend — la taille du fichier est vérifiée contre les limites de DocumentCategoryConfig (100 MB pour DEFAULT — rappel §2) IMPLANTÉ
Scan malware Obligatoire avant stockage — le fichier est analysé par un moteur antivirus avant toute écriture en stockage WORM PLANIFIÉ (PD-NEW)

Note statuts planifiés : PD-NEW = Story non encore créée dans le backlog. Sera créée lors de la planification du sprint suivant.

Clause de non-conformité technique : Les validations en statut PLANIFIÉ (PD-NEW) sont des exigences cibles documentées, et non des déclarations de conformité technique. La policy reconnaît explicitement le gap entre l'exigence documentée et l'implémentation effective. Ce tracking constitue une mesure compensatoire de gouvernance au sens ISO 14641 §10.3 (plan d'actions correctives). En audit, la présence du statut PLANIFIÉ avec suivi backlog atteste de la prise en charge du gap, pas de sa résolution.


6. Matrice formats × durées légales

Les champs retentionDuration et preservationLevel suivent les contraintes définies en §1.
Les valeurs de durée sont celles de §2 — aucune valeur implicite ou interpolation n'est autorisée.

Type documentaire retentionDuration Formats acceptés (formatName) preservationLevel Référence normative
Contrats commerciaux P10Y PDF/A-1B, PDF/A-2B, PDF/A-3B COMPLETE NF Z42-013 §6.2.4
Factures P10Y PDF/A-1B, PDF/A-2B, PDF/A-3B, FACTUR-X COMPLETE NF Z42-013 §6.2.4
Documents probatoires (textuels) P30Y PDF/A-1B, PDF/A-2B COMPLETE ISO 14641 §10.1.1
Documents probatoires (images) P30Y TIFF BITSTREAM ISO 14641 §10.1.1
Preuves numériques (mineurs) P30Y JPEG, PNG, TIFF, MP4, WAV, MOV BITSTREAM ISO 14641 §10.1.1
Données techniques (structurées) P5Y JSON, XML COMPLETE NF Z42-013 §6.2.4
Données techniques (texte brut) P5Y CSV, TXT BITSTREAM NF Z42-013 §6.2.4

Note durée « Preuves numériques (mineurs) » : P30Y est la durée plafond conservatrice couvrant la majorité de la minorité de l'enfant (18 ans) augmentée du délai de prescription légale (Code civil art. 2235). Alignée sur les documents probatoires. Hypothèse H-03 : durées validées juridiquement — si fausse, révision de cette matrice requise.


7. Modèle d'états et transitions

INV-252-07 : Le modèle d'états de classification est explicite, avec toutes les transitions autorisées et interdites.

7.1 États de classification

Un document reçoit un état de classification à l'issue de son ingestion dans le SAE.

État Description
UNCLASSIFIED État initial avant validation — document en cours d'ingestion
COMPLETE Document classifié avec niveau de préservation complet (lisibilité + interprétabilité garanties)
BITSTREAM Document classifié avec niveau de préservation binaire (intégrité garantie, lisibilité non garantie)
REJECTED Document rejeté à l'ingestion (format non autorisé, validation échouée, ou autre erreur §10)

7.2 Transitions autorisées

De Vers Statut Condition
UNCLASSIFIED COMPLETE AUTORISÉE Format dont le preservationLevel est COMPLETE dans §3
UNCLASSIFIED BITSTREAM AUTORISÉE Format dont le preservationLevel est BITSTREAM dans §3
UNCLASSIFIED REJECTED AUTORISÉE Validation échouée (voir §10)

7.3 Transitions interdites

INV-252-07 : Toute reclassification post-ingestion est hors périmètre PD-252 et nécessiterait une story dédiée.

De Vers Statut Motif
COMPLETE BITSTREAM INTERDITE Immutabilité de classification post-ingestion — reclassification hors périmètre PD-252
COMPLETE UNCLASSIFIED INTERDITE Retour arrière interdit
COMPLETE REJECTED INTERDITE Reclassification hors périmètre PD-252
BITSTREAM COMPLETE INTERDITE Requalification hors périmètre PD-252
BITSTREAM UNCLASSIFIED INTERDITE Retour arrière interdit
BITSTREAM REJECTED INTERDITE Reclassification hors périmètre PD-252
REJECTED UNCLASSIFIED INTERDITE Nouvelle ingestion requise
REJECTED COMPLETE INTERDITE Nouvelle ingestion requise
REJECTED BITSTREAM INTERDITE Nouvelle ingestion requise

7.4 Transitions inverses — synthèse explicite

Les transitions inverses suivantes sont explicitement et irrévocablement interdites :

  • COMPLETE → BITSTREAM : INTERDITE — immutabilité de classification post-ingestion.
  • BITSTREAM → COMPLETE : INTERDITE — requalification hors périmètre PD-252.
  • COMPLETE/BITSTREAM → UNCLASSIFIED : INTERDITE — pas de retour à l'état non classifié.
  • REJECTED → UNCLASSIFIED : INTERDITE — une nouvelle ingestion est requise.

8. Références normatives et tracabilité

INV-252-08 : La mention GAP-FINAL-004 et le lien de tracabilité sont obligatoires dans cette section.

8.1 Références structurées (champ normativeReference)

Les références ci-dessous sont conformes à la regex ^[A-Z0-9 .:_-]+ §[0-9.]+$ définie en §1.

Référence normative Usage dans cette policy
ISO 14641 §10.1.1 Exigence de définition formelle des formats de préservation acceptés — source du GAP-FINAL-004
NF Z42-013 §6.2.4 Exigence de validation des formats et des durées de conservation pour les archives numériques

8.2 Citations documentaires

Les citations ci-dessous sont des normes référencées sans section spécifique. Leur présence est vérifiée par existence textuelle. Elles ne sont pas soumises à la regex normativeReference (voir §1 — note de distinction).

  • ISO 19005-1 — Gestion de documents — Format de fichier de document électronique pour une conservation à long terme — Partie 1 (PDF/A-1).
  • ISO 19005-2 — Gestion de documents — Format de fichier de document électronique pour une conservation à long terme — Partie 2 (PDF/A-2).
  • ISO 19005-3 — Gestion de documents — Format de fichier de document électronique pour une conservation à long terme — Partie 3 (PDF/A-3).
  • RFC-PV-PACK — RFC interne ProbatioVault — Spécification du paquet de préservation (enveloppe de preuve, hash SHA3-384, ancrage blockchain).

8.3 Tracabilité GAP-FINAL-004

Lien de tracabilité : Cette policy a été produite pour combler le gap GAP-FINAL-004 — « Politique de formats de préservation non formalisée » — identifié lors de l'audit de conformité ISO 14641 / NF Z42-013 (story PD-244).

  • Identifiant du gap : GAP-FINAL-004
  • Exigence source : ISO 14641 §10.1.1 — obligation de définir formellement les formats de préservation acceptés par le SAE.
  • Story de résolution : PD-252 (Q1 2026)
  • Statut : DONE — la présente policy constitue le livrable documentaire de résolution de GAP-FINAL-004.
  • Vérification : La présence du présent document à docs/sae-manual/preservation-format-policy.md et son référencement depuis le chapitre ch08 (docs/sae-manual/ch08-conformite.md, §8.4) constituent la preuve documentaire de résolution du gap lors d'un audit ISO 14641.

NON TESTABLE (Q-252-05) : La modalité exacte du lien tracable vers GAP-FINAL-004 (URL d'audit, identifiant structuré, annexe formelle) n'est pas figée en v1. La mention textuelle ci-dessus constitue la forme minimale. Voir §9 pour le détail.


9. Règles non testables

INV-252-09 : Toute règle non objectivement vérifiable dans cette version est marquée NON TESTABLE avec justification.

Règle Statut Raison Impact
Modalité de lien tracable vers GAP-FINAL-004 (URL, identifiant audit, annexe structurée) NON TESTABLE — Q-252-05 La forme de tracabilité attendue par un auditeur ISO 14641 (mention textuelle vs URL vs identifiant d'audit structuré) n'est pas spécifiée en v1. La présence de la mention GAP-FINAL-004 est testable ; la forme exacte du lien ne l'est pas. Mineur — risque faible en audit si la mention textuelle est explicite et le lien ch08 résolvable

10. Cas d'erreur

Règle de granularité : Chaque cas d'erreur s'applique au niveau de l'entrée concernée (ligne / format). La policy dans son ensemble est déclarée non conforme tant qu'au moins un cas d'erreur non résolu subsiste.

ID Cas Règle de réponse
ERR-252-01 Format non listé dans la policy (§3) Rejet de l'entrée concernée ; policy non conforme tant que non corrigé
ERR-252-02 mimeType non conforme RFC/regex (après normalisation lowercase) — voir §1 Rejet
ERR-252-03 preservationLevel hors enum COMPLETE\|BITSTREAM — voir §1 Rejet
ERR-252-04 retentionDuration non ISO 8601 (sous-ensemble mono-composant ^P(\d+Y\|\d+M\|\d+D)$) ou hors valeurs autorisées de la matrice §6 — voir §1 et §2 Rejet ; aucune interprétation implicite autorisée
ERR-252-05 normativeReference absente ou mal formée (sans §section) — regex §1 non satisfaite Rejet
ERR-252-06 Conversion documentée sans conversionPriority — voir §1 Rejet
ERR-252-07 Transition d'état appliquée ou supposée sans être documentée dans §7 Rejet ; statut non conforme jusqu'à correction
ERR-252-08 Référence manquante à GAP-FINAL-004 Rejet ; aucun verdict GO ne peut être prononcé

Mécanisme de validation : La conformité de la policy est vérifiée par revue documentaire structurée (checklist) lors de l'audit ISO 14641. Aucun moteur applicatif de validation n'est introduit par PD-252. Les erreurs ci-dessus sont détectables via cette revue.


Hypothèses

ID Hypothèse Impact si fausse
H-01 Les 5 catégories de formats et les 14 formats de §3.3 sont stables pour v1 Révision de la policy, des critères d'acceptation et des tests TC-NOM-02, TC-NR-01
H-02 L'algorithme d'intégrité de référence reste SHA3-384 Mise à jour de §1 (integrityHashAlgorithm), §5 (validation hash), et tous les tests référençant SHA3-384
H-03 Les durées légales du §6 sont validées juridiquement (P30Y pour mineurs, P10Y pour factures/contrats, P5Y pour données techniques) Risque de non-conformité réglementaire — révision de §6 et TC-NOM-08, TC-NR-03
H-04 Le chapitre ch08-conformite.md est modifiable sans blocage (pas de protection de branche) Tracabilité documentaire incomplète — CA-08 non satisfait
H-05 La policy documente les validations attendues y compris celles non encore implémentées (PLANIFIÉ PD-NEW) et ne constitue pas une déclaration de conformité technique Si interprété comme déclaration de conformité → risque d'écart d'audit
H-06 La mention textuelle GAP-FINAL-004 est suffisante pour l'audit en v1 (Q-252-05 NON TESTABLE) Si l'auditeur exige un URL ou un identifiant structuré → non-conformité partielle CA-09

Document produit dans le cadre de la story PD-252 — Gouvernance IA ProbatioVault — 2026-03-11

```


Matrice de couverture Test-ID → contenu du document

Test ID Section(s) du document Couvert
TC-NOM-01 En-tête (chemin cible) + §8.3 (lien ch08)
TC-NOM-02 §3.2 (5 catégories) + §3.3 (14 formats)
TC-NOM-03 §3.1 (définitions COMPLETE/BITSTREAM) + §3.2 (colonne preservationLevel)
TC-NOM-04 §4 (tableau conversions source/cible/priorité/story)
TC-NOM-05 §5 (5 validations + SHA3-384 + statuts + clause non-conformité)
TC-NOM-06 §1 (source unique) + §3–§7 (référencent sans redéfinir)
TC-NOM-07 §7 (modèle d'états + §7.3 transitions interdites + §7.4 inverses)
TC-NOM-08 §6 (matrice 7 lignes avec valeurs exactes §5.7 spec)
TC-NOM-09 §8.1 (ISO 14641 §10.1.1, NF Z42-013 §6.2.4) + §8.2 (ISO 19005-½/3, RFC-PV-PACK) + §8.3 (GAP-FINAL-004)
TC-NOM-10 §2 (paramètres numériques + SLA mention)
TC-MEC-01 §10 (mécanisme = revue documentaire structurée, aucun moteur applicatif)
TC-ERR-01..08 §10 (cas d'erreur ERR-252-01 à ERR-252-08)
TC-INV-09 §9 (règles non testables — Q-252-05)
TC-NR-01..04 §3.3 (liste canonique stable) + §6 (matrice stable) + §8 (références stables)
TC-NEG-01..06 §1 (regex formatName/mimeType) + §7.4 (BITSTREAM→COMPLETE interdite) + §1 (regex retentionDuration/conversionPriority/normativeReference)