Le paysage des normes
Spec: ISO 32000-2 ISO 32000-2 Spec: ETSI EN 319 142-1 ETSI EN 319 142-1 Spec: RFC 3161 RFC 3161 Spec: WCAG 2.2 WCAG 2.2 Evidence: Standard-backed
Un moteur PDF ne se conforme pas à un seul document. Il dépend d’une petite fédération de documents, rédigés par des organismes différents, qui se renvoient les uns aux autres. Cette page cartographie cette fédération telle que NextPDF la suit. Elle décrit aussi le chemin qu’emprunte une clause, de « la norme l’exige » à « le moteur l’applique, et un test le prouve ».
Elle s’adresse aux ingénieures et ingénieurs chevronnés qui doivent savoir quel document régit un comportement avant de décider si l’interprétation qu’en fait NextPDF est défendable.
Pourquoi c’est important
Section intitulée « Pourquoi c’est important »« Prise en charge du PDF » est une affirmation qui masque une question : prise en charge de quoi, exactement ? La syntaxe de base, c’est ISO 32000-2. Les signatures passent par l’ETSI. Les horodatages sont un protocole de l’IETF. Le HTML et le CSS rendus par le moteur relèvent du W3C. Le chiffrement sous-jacent relève du NIST. L’accessibilité de la sortie relève à nouveau du W3C.
Si une bibliothèque traite tout cela comme un bloc indifférencié, tu ne peux pas raisonner correctement sur une défaillance. Quand un validateur rejette une facture signée, la première question utile n’est pas « le PDF est-il corrompu ». C’est « la clause de quelle norme n’a pas été respectée, et dans quelle couche ». Pour poser cette question, il te faut une carte qui nomme les organismes et une explication honnête de la façon dont une clause devient un comportement.
En résumé
Section intitulée « En résumé »- NextPDF suit cinq organismes de normalisation. L’ISO fait autorité sur le format. L’ETSI fait autorité sur les profils de signature européens. L’IETF fait autorité sur les protocoles de transport (horodatages, primitives cryptographiques par référence). Le W3C fait autorité sur le HTML, le CSS et les critères d’accessibilité. Le NIST fait autorité sur les algorithmes cryptographiques approuvés.
- Ces documents forment des pistes, et non une simple liste : une seule capacité de PDF signé parcourt ISO → ETSI → IETF → NIST, chaque couche renvoyant normativement à la suivante.
- Une clause ne devient pas un comportement parce qu’on la lit. Elle devient un comportement parce qu’elle est paraphrasée et citée, rattachée à une exigence, implémentée, puis figée par un test. La page qui décrit le comportement l’indique par son niveau de preuve.
- Lorsqu’une clause est obligatoire, elle porte un mot-clé normatif (un
shall, unmust). NextPDF traite ces mots-clés comme le contrat. Unshouldest une recommandation qu’il documente comme telle, et non comme une garantie.
Comment NextPDF l’aborde
Section intitulée « Comment NextPDF l’aborde »La fédération, pas un bloc
Section intitulée « La fédération, pas un bloc »ISO 32000-2 est le centre. Il définit ce qu’est un fichier conforme. Un fichier conforme doit respecter chaque exigence du document, tout en pouvant omettre toute fonctionnalité que le document n’exige pas explicitement Spec: ISO 32000-2, §6 ISO 32000-2 §6 . Il fixe aussi l’obligation du producteur : tout ce que NextPDF crée ou modifie dans un fichier doit être conforme au format et rester cohérent avec les éléments déjà présents Spec: ISO 32000-2, §6 ISO 32000-2 §6 . À elle seule, cette clause explique pourquoi le moteur refuse d’émettre une mise à jour incrémentale structurellement incohérente. Ce n’est pas une préférence de NextPDF. C’est la règle propre au format.
Depuis ce centre, ISO 32000-2 renvoie vers l’extérieur. Le traitement des signatures y est défini « par renvoi » à la série ETSI EN 319 142 pour PAdES. L’ETSI, à son tour, renvoie à l’IETF RFC 3161 pour le jeton d’horodatage, et à la série NIST FIPS pour les algorithmes de hachage et de signature. Une capacité est donc un chemin à travers plusieurs documents, dont chacun est normatif pour sa propre couche.
- Step 1 of 5: ISO 32000-2 §12.8 signatures
- Step 2 of 5: ETSI EN 319 142-1 PAdES baseline
- Step 3 of 5: RFC 3161 timestamp token
- Step 4 of 5: NIST FIPS 180-4 hash strength
- Step 5 of 5: WCAG 2.2 tagged output
Comment une clause devient un comportement
Section intitulée « Comment une clause devient un comportement »La manière risquée de travailler avec les normes consiste à lire une clause puis à écrire du code de mémoire. Le chemin suivi par NextPDF est délibérément plus long, parce que c’est celui que tu peux auditer :
- Retrieve The clause is read from the standard, not from memory.
- Cite It is paraphrased and pinned with a chunk digest, never quoted.
- Classify Its keyword (shall / should / may) sets whether it is a contract or a recommendation.
- Map The obligation becomes a concrete engine requirement.
- Implement The requirement is built into the pipeline.
- Pin A test holds the behaviour against drift.
- Tag The page that describes it declares its evidence level.
C’est à l’étape « classer » que se règle l’essentiel de l’ambiguïté. Les spécifications encodent leurs niveaux d’exigence dans des mots-clés : la famille bien connue MUST, SHALL, SHOULD, MAY. Le sens de ces mots-clés est fixé par la convention IETF des mots-clés d’exigence, mise à jour pour préciser que seules les formes en majuscules sont normatives, puis appliquée à la prose descriptive de chaque spécification
Spec: RFC 2119 RFC 2119 Spec: RFC 8174 RFC 8174 .
NextPDF lit un shall comme une frontière stricte que le moteur ne franchit pas, et un
should comme une recommandation qu’il suit et documente comme une recommandation —
jamais comme une promesse. Cette distinction est la différence entre un
énoncé de capacité honnête et une promesse excessive.
La conformité est graduée, pas binaire
Section intitulée « La conformité est graduée, pas binaire »« Conforme » se résume rarement à un seul bit. Les normes de signature sont graduées — le profil européen à validité long terme avec archivage, par exemple, existe précisément pour ajouter des jetons d’horodatage qui maintiennent une signature validable longtemps après sa création Spec: ETSI EN 319 122-1, §6 ETSI EN 319 122-1 §6 . C’est une affirmation strictement plus forte qu’une simple signature de référence. La norme d’accessibilité a la même forme : un niveau de conformité n’est atteint qu’en satisfaisant chaque critère de succès de ce niveau, et une déclaration énonce le niveau réellement atteint Spec: WCAG 2.2, §5.2.1 WCAG 2.2 §5.2.1 . NextPDF énonce donc le profil et le niveau, et non un « conforme » sans qualification.
Ce que dit la preuve
Section intitulée « Ce que dit la preuve »Cette page est Evidence: Standard-backed : chaque affirmation est ancrée à une clause, paraphrasée et citée avec une empreinte, afin que la personne suivante chargée de la revue puisse la revérifier par rapport à la source.
| Couche | Organisme | Clause d’ancrage (paraphrasée) | Ce qu’elle régit dans NextPDF |
|---|---|---|---|
| Format | ISO | Les éléments créés ou modifiés par un producteur doivent être conformes et rester cohérents Spec: ISO 32000-2, §6 ISO 32000-2 §6 | Le PDF émis par le moteur |
| Conformité | ISO | Un fichier conforme satisfait toutes les exigences ; les fonctionnalités supplémentaires sont facultatives Spec: ISO 32000-2, §6 ISO 32000-2 §6 | Le sens de « sortie valide » |
| Profil de signature | ETSI | Le niveau à validité long terme avec archivage ajoute des horodatages en vue d’une validation ultérieure Spec: ETSI EN 319 122-1, §6 ETSI EN 319 122-1 §6 | Le profil PAdES que vise une signature |
| Temps de confiance | IETF | Un service d’horodatage prouve qu’une donnée existait avant un instant donné Spec: RFC 3161, §2 RFC 3161 §2 | Le jeton d’horodatage du document |
| Chiffrement | NIST | Les hachages approuvés diffèrent par la force de sécurité qu’ils confèrent Spec: NIST FIPS 180-4, §1 NIST FIPS 180-4 §1 | L’algorithme de condensé sous une signature |
| Accessibilité de la sortie | W3C | Un niveau de conformité exige chaque critère de ce niveau Spec: WCAG 2.2, §5.2.1 WCAG 2.2 §5.2.1 | Les déclarations d’accessibilité sur les PDF rendus |
Les empreintes citées sont consignées dans le frontmatter citations de cette page. Aucun texte des normes n’est reproduit ici. La règle qui régit ce choix fait l’objet d’une page dédiée. Voir Discipline de citation.
Exemple concret
Section intitulée « Exemple concret »Tu n’exécutes pas le paysage des normes ; tu le lis pour décider quoi demander au moteur. Concrètement, un appel de signature à validité long terme est un énoncé sur le point de la piste dont tu as besoin :
<?php
declare(strict_types=1);
use NextPDF\Core\Document;use NextPDF\Security\Signature\CertificateInfo;use NextPDF\Security\Signature\DigitalSigner;use NextPDF\Security\Signature\SignatureLevel;
// The signature level is a coordinate on the ISO -> ETSI -> RFC trail.// PAdES B-B is the ETSI baseline CMS SignedData the Core engine produces;// B-T adds an RFC 3161 timestamp, and B-LT/B-LTA add the DSS and document// timestamps that keep a signature validatable after the certificate// expires. The level you name is the point on the trail you are asking for.$certInfo = CertificateInfo::fromFiles( certPath: 'signer-cert.pem', keyPath: 'signer-key.pem',);
// The functional signing path is the direct two-phase signing engine.// (Document::setSignature() records intent but its writer seam is not yet// wired and fail-fasts on output — see the PadesOrchestrator docblock.)$signer = new DigitalSigner( certInfo: $certInfo, level: SignatureLevel::PAdES_B_B,);
$result = $signer->sign(file_get_contents('agreement.pdf'));
printf( "PAdES %s CMS: %d bytes, timestamp=%s\n", SignatureLevel::PAdES_B_B->value, $result->getSize(), $result->hasTimestamp() ? 'yes' : 'no',);Nommer PAdES_B_LTA plutôt qu’une simple signature de référence n’est pas un réglage de performance. C’est une décision sur la distance que parcourt l’obligation le long de la piste de normes. B-LT et B-LTA font intervenir les couches DSS et d’horodatage d’archivage, et requièrent le paquet LTV entreprise à l’exécution. Plutôt que de se dégrader silencieusement, le moteur refuse de faire croire qu’un niveau inférieur en fournit un supérieur.
Idée reçue courante
Section intitulée « Idée reçue courante »Le piège consiste à lire « NextPDF est conforme aux normes » comme une garantie unique et totale. Ce n’est pas le cas, et aucune promesse honnête d’un moteur ne peut l’être. La conformité s’évalue par norme, par clause et par niveau. NextPDF vise la base PDF 2.0, des profils PAdES nommés et des niveaux d’accessibilité déclarés — chacun délimité, chacun cité. Une affirmation qui n’a pas une clause et un niveau derrière elle, c’est du marketing, et Insider_ ne la publie pas.
Le second piège, plus subtil, consiste à supposer qu’un should normatif est une promesse. C’est une recommandation. NextPDF documente les recommandations comme des recommandations. Les garanties du moteur sont bâties à partir des clauses shall, et cette différence compte.
Limites et frontières
Section intitulée « Limites et frontières »Cette page est la carte, pas le territoire. Elle n’énumère pas chaque clause qu’implémente NextPDF, et ce n’est pas un certificat de conformité. La preuve comportementale se trouve sur la page thématique qui porte le comportement, avec le niveau de preuve propre à cette page — par exemple PDF 2.0 : ce qui a changé pour le delta de format.
Le paysage des normes évolue lui aussi. De nouvelles éditions paraissent. Les renvois sont mis à jour. Une clause citée ici est rattachée à l’instantané du corpus consigné dans le frontmatter citations de cette page. Quand une norme amont est révisée, la citation est revalidée par rapport à la nouvelle clause, et non supposée toujours valable. Lorsque cette page nomme une capacité de la formule Premium, elle le fait au niveau de la norme à laquelle elle répond, jamais au niveau du mécanisme interne.
Documents liés
Section intitulée « Documents liés »- PDF 2.0 : ce qui a changé — le delta concret d’ISO 32000-2 visé par la couche format de cette carte.
- La documentation comme produit — pourquoi la discipline qui rattache les clauses aux comportements est traitée comme de l’ingénierie.
- Discipline de citation — la règle qui décide comment une clause est citée ici, et ce que signifie un niveau de preuve.
Glossaire
Section intitulée « Glossaire »- Organisme de normalisation — une organisation qui publie une spécification (ISO, ETSI, IETF, W3C, NIST). Chacune couvre une couche différente de la pile PDF.
- Clause normative — une exigence formulée par une norme, identifiée par son mot-clé (
shall/mustpour obligatoire,shouldpour recommandé,maypour facultatif). - Piste de normes — une chaîne ordonnée de spécifications que traverse une seule capacité, où chaque document renvoie normativement au suivant.
- Niveau de conformité — un palier de conformité gradué (un profil de référence ETSI, un niveau WCAG). Une déclaration énonce le niveau réellement atteint, et non un « conforme » sans qualification.
- PAdES — PDF Advanced Electronic Signatures, la famille de profils de signature ETSI EN 319 142 à laquelle ISO 32000-2 renvoie pour la signature PDF.