Aller au contenu

Lancer un contrôle de conformité à un standard via Connect

Lancer un contrôle de conformité à un standard via Connect

Section intitulée « Lancer un contrôle de conformité à un standard via Connect »

Cette recette évalue un PDF par rapport au jeu de règles d’un standard donné (par exemple PDF/A-4, un niveau de référence PAdES ou une politique d’organisation) à l’aide de l’outil de contrôle de conformité, via les transports Connect. Cet outil relève de la formule Enterprise. Il est détecté au moyen d’une sonde class_exists() et ne s’enregistre que lorsque nextpdf/premium est installé aux côtés du serveur. Sur une installation limitée à l’open source, l’outil est absent et l’appel échoue avec une erreur d’outil inconnu.

L’outil renvoie un résultat pass/fail pour chaque règle, selon les règles qu’il met en œuvre pour le standard demandé. Ce résultat correspond au contrôle effectué par l’outil, et non à une certification de conformité indépendante. Un validateur (par exemple veraPDF pour PDF/A) établit la conformité. Cette page décrit le comportement de l’outil, pas une garantie de conformité.

Fenêtre de terminal
composer require nextpdf/server

Confirme la présence de l’outil de conformité Enterprise dans le déploiement en cours d’exécution avec un appel tools/list ; voir /connect/tool-catalog/.

Un standard tel que PDF/A-4 énonce des exigences applicables au document. Un vérificateur évalue le document au regard de ces exigences (PDF/A-4 §6.2.3). La conformité est déterminée par rapport aux exigences du standard, et non affirmée par le logiciel producteur (PDF/A-4 §6.7.3). Pour les standards liés aux signatures, le contrôle vérifie si une modification est survenue après la signature, par rapport à la plage d’octets signée (ISO 32000-2 §12.8).

Le « pass » de l’outil signifie donc qu’aucune règle mise en œuvre par l’outil pour ce standard n’a échoué. Sa portée est plus restreinte qu’une certification de conformité formelle de l’ensemble du document.

Les noms d’outils se vérifient par rapport au registre en cours d’exécution via tools/list ; le catalogue de référence est /connect/tool-catalog/. Cette recette ne réénonce pas le nombre d’outils, car il s’agit d’une propriété du déploiement à l’exécution.

{
"jsonrpc": "2.0",
"id": 3,
"method": "tools/call",
"params": {
"name": "compliance_check",
"arguments": { "document_id": "<id>", "standard": "pdfa-4" }
}
}

Traite un résultat « fail » comme une information à exploiter, et distingue un échec de transport d’un statut HTTP non réussi normal sur un transport réseau :

Fenêtre de terminal
curl -sS -X POST https://connect.example.com/v1/tools/compliance_check \
-H 'Authorization: Bearer '"$NEXTPDF_CONNECT_TOKEN" \
-H 'Content-Type: application/json' \
-d '{"source":"/var/lib/nextpdf/in/report.pdf","standard":"pdfa-4"}' \
-o /tmp/check.json -w '%{http_code}' > /tmp/check-status || {
echo "transport failure invoking compliance_check" >&2; exit 1; }
Fenêtre de terminal
[ "$(cat /tmp/check-status)" = "200" ] || {
echo "compliance_check returned non-200; inspect /tmp/check.json" >&2; }

La réponse liste chaque règle évaluée, son statut pass/fail et le motif de chaque échec. Sers-toi des échecs pour effectuer les corrections. Ne considère pas un « pass » comme une certification.

  • Nom de standard inconnu. L’outil renvoie une erreur de standard inconnu avec les identifiants reconnus ; utilise l’identifiant exact (pdfa-4, un niveau de référence PAdES, un id de politique d’organisation).
  • Document introuvable. Vérifie que le document_id provient d’un appel de sortie antérieur ou transmets un chemin source valide.
  • Référence croisée corrompue. Un échec d’analyse signifie que l’entrée n’est pas un PDF valide ou qu’elle est tronquée. Régénère la source.
  • Outil absent. Sans nextpdf/premium, l’outil de conformité Enterprise n’est pas enregistré et l’appel échoue avec une erreur d’outil inconnu.

Le budget du frontmatter est un plafond documentaire, et non une garantie de niveau de service.

Ne journalise pas le chemin source ni le rapport complet à un niveau de journalisation expédié à l’extérieur. Journalise le nom de l’outil, l’id de requête et le résultat pass/fail global. Un « pass » décrit le jeu de règles que l’outil met en œuvre, et non une garantie de sécurité ou une garantie juridique.

AffirmationClausereference_id
Le standard énonce des exigences ; un vérificateur les évaluePDF/A-4 §6.2.3
La conformité est déterminée par rapport aux exigences, et non affirmée par le producteurPDF/A-4 §6.7.3
Une modification après la signature est détectable par rapport à la plage d’octets signéeISO 32000-2 §12.8

La prise en charge d’un contrôle de conformité à un standard n’est pas une certification de conformité. Un validateur indépendant établit la conformité.

L’outil de contrôle de conformité relève de la formule Enterprise et ne s’enregistre que lorsque nextpdf/premium est installé aux côtés du serveur.

L’outil s’invoque de la même façon via MCP tools/call, le point de terminaison d’outil REST et le service gRPC, à travers l’exécuteur d’outils partagé.

Le contrôle est en lecture seule et n’est pas approval_required par défaut. Une dérogation d’opérateur peut élever son niveau de risque. La dérogation ne peut qu’élever ce niveau, jamais l’abaisser. Voir /connect/hitl-risk-tiers/.

L’outil ne déclenche la barrière que si une dérogation d’opérateur l’élève à approval_required. Le contrat de l’enveloppe de défi et du jeton à usage unique est documenté dans /connect/hitl-risk-tiers/.

  • /cookbook/connect/batch-compliance/ — lancer ce contrôle sur de nombreux documents.
  • /cookbook/connect/ai-ready-certification/ — le contrôle plus large de préparation à l’IA.
  • /connect/tool-catalog/ — calculer le jeu d’outils par formule.
  • /connect/hitl-risk-tiers/ — le modèle de risque et la barrière.