DPAC T2 Generator
Le AerariumChain DPAC T2 Generator est une application de bureau (macOS et Windows, sous licence) qu'AerariumChain met à la disposition des prestataires de numérisation et de la Digital Library. Elle construit les paquets de mise à jour T2 des objets 3D et des gigapixels, les vérifie avant la compression, les écrit sur un disque externe et délivre un certificat de vérification avec le journal de tous les contrôles et les documents de paradonnées en annexe.
Un paquet T2 est un delta sur le paquet T1 déjà ingéré par DPAC : il contient le METS mis à jour (RECORDSTATUS="UPDATE_3D", ID d'en-tête égal à l'UUID de la ressource attribué par DPAC), le dossier des paradonnées (le rapport de configuration de l'acquisition et le rapport de traitement) et le dossier RAW_3D avec les données brutes d'acquisition. Les images déjà présentes dans le T1 (la vignette et les vues de rendu) sont remises aussi dans le T2, copiées octet par octet depuis le paquet T1 et vérifiées avec les sommes de contrôle du METS ; master et dérivé restent des références (option : images seulement, tous les fichiers du T1, aucun).
L'outil a deux parties : un constructeur (une procédure guidée) et un vérificateur (l'interface de contrôle avec les panneaux des paquets générés et échoués). Tout ce que fait la fenêtre peut aussi être piloté par une API HTTP locale, afin qu'un prestataire puisse intégrer le packager à son propre système et garder l'interface pour le travail manuel sur le PC.
Installation, connexion et licence
L'application ne fonctionne qu'avec un compte du Hub AerariumChain et une licence active. Le titulaire de la licence (pour la Digital Library, AerariumChain) décide quels comptes peuvent l'utiliser et sur combien d'ordinateurs.
Télécharger l'installateur. Sur le Hub, menu DPAC → DPAC T2 Generator, la page affiche la licence du compte et les boutons pour macOS (Apple Silicon ou Intel) et Windows. Le téléchargement est enregistré au nom du compte. Sans licence active, les boutons sont désactivés.
macOS. Ouvrir le fichier .dmg et faire glisser l'application dans Applications. L'application est signée et notarisée par Apple : elle s'ouvre sans avertissement. Si macOS affiche quand même un message d'application non vérifiée (par exemple pour un fichier copié depuis une clé USB), ouvrir Réglages Système → Confidentialité et sécurité et choisir Ouvrir quand même, ou faire un clic droit sur l'application → Ouvrir.
Windows. Lancer AerariumChain DPAC T2 Generator Setup <version>.exe et suivre l'installation (le dossier peut être choisi). Tant que l'installateur n'est pas signé avec le certificat de signature de code Windows, l'un de ces messages peut apparaître :
| Message | Que faire |
|---|---|
| « Windows a protégé votre ordinateur » (Microsoft Defender SmartScreen) | cliquer sur Informations complémentaires, vérifier que l'application est « AerariumChain DPAC T2 Generator », puis Exécuter quand même |
| Le navigateur signale le fichier comme « rarement téléchargé » | dans la liste des téléchargements choisir Conserver (Edge : … → Conserver → Afficher plus → Conserver quand même) |
| « Contrôle intelligent des applications a bloqué une application » | avec le Contrôle intelligent des applications actif, Windows n'ouvre pas les applications non signées : contactez-nous pour la version signée. L'état se trouve dans Sécurité Windows → Contrôle des applications et du navigateur → Contrôle intelligent des applications |
| L'antivirus de l'entreprise met le fichier en quarantaine | demander à l'administrateur informatique d'autoriser l'installateur et le dossier de l'application |
Premier lancement. L'application affiche le contrat de licence (EULA) à accepter, puis demande la connexion avec le compte du Hub : la même session lit les données du Hub, sans seconde connexion. Le code de licence, le titulaire et l'échéance apparaissent en haut ; le même code figure sur le certificat et dans le paquet de vérification de chaque paquet construit.
Licence. Chaque ordinateur sur lequel on se connecte occupe une installation de la licence (rouvrir l'application sur le même ordinateur n'en consomme pas d'autre). La licence est renouvelée en ligne toutes les 30 minutes ; sans réseau, l'application fonctionne jusqu'à 72 heures. À l'échéance, ou si elle est suspendue, l'application se bloque et indique qui contacter.
Mises à jour. Les nouvelles versions se téléchargent seules et s'installent au redémarrage (voir plus bas).
Ce que l'outil produit
Pour chaque paquet, le disque de destination reçoit un dossier portant le nom de la livraison, de sorte que la liste se lit une ligne par œuvre :
<destination>/CANTIERE_LOTTO_PK_T2/
CANTIERE_LOTTO_PK_T2.zip la livraison pour la Digital Library
CANTIERE_LOTTO_PK_T2_CERTIFICATO.pdf certificat de vérification
CANTIERE_LOTTO_PK_T2_VERIFICA.zip le lot de vérification pour le contrôle qualité (voir ci-dessous)
CANTIERE_LOTTO_PK_T2/ la livraison non compressée, du même nom que le ZIP (sur laquelle tournent les contrôles)
<prefixe>.xml METS T2 (UPDATE_3D, UUID DPAC, SIZE et MD5 réels)
<prefixe>_PARADATA_3D/ configuration d'acquisition / fiche de relevé et rapport de traitement (PDF)
<prefixe>_RAW_3D/ données brutes : export Artec (PLY + photos), fichiers, conteneur .acraw ou projet original
<prefixe>_Thumbnail_3D/ vignette déjà dans le T1, remise dans le T2
<prefixe>_6ViewImages_3D/ vues de rendu déjà dans le T1, remises dans le T2
CANTIERE_LOTTO_PK_T2_VERIFICA/ le lot de vérification non compressé, du même nom que son ZIP
Le ZIP de livraison ne contient que le contenu du dossier CANTIERE_LOTTO_PK_T2/. Tout le reste reste hors de la livraison.
Pour un gigapixel (matériel HQ de D.PaC), le T2 a la même forme : le METS du T1 gigapixel avec le statut de mise à jour (UPDATE_HQ, ou UPDATE_2D si la Digital Library le demande : à choisir dans les Paramètres), les dossiers <préfixe>_PARADATA_HQ et <préfixe>_RAW_HQ, et comme données brutes les images d'entrée du photomosaïque en RAW DNG avec au moins une prise de vue avec le ColorChecker, comme le demande le Ministère. Le rapport de traitement décrit l'assemblage, l'alignement, la calibration des couleurs et l'image maître.
La structure du paquet, la transformation du METS et les règles de somme de contrôle sont celles du pipeline du Hub AerariumChain : un paquet construit avec l'outil est identique à un paquet produit par le Hub.

Construire un paquet à la main
La section Créer un paquet T2 est une procédure en cinq étapes.
- METS T1 : le METS exact ingéré avec le T1, depuis un fichier local, une URL, ou lu directement sur le Hub AerariumChain (connexion avec les identifiants du Hub, choix de la hive et de l'œuvre : l'outil télécharge le METS T1, l'UUID DPAC, la fiche de relevé du Site Manager et l'état du dérivé). Avec le T1 arrive aussi son paquet (depuis le hub seules les entrées nécessaires sont lues), d'où la vignette et les vues de rendu sont remises dans le T2.
- Identification : code de chantier, code de lot et PK (ils nomment le ZIP), le préfixe du paquet (il nomme le METS et les dossiers), l'UUID de la ressource attribué par DPAC après l'ingestion du T1, titre et numéro d'inventaire.
- Paradonnées : les deux rapports peuvent être générés à partir des formulaires (l'outil reproduit les modèles MiC) ou joints comme PDF prêts ; d'autres documents peuvent être ajoutés.
- RAW 3D : les données brutes d'acquisition sous l'une de quatre formes :
- l'export depuis le projet Artec Studio avec la CLI
aec_artecViewer, le même outil que le nœud GPU AerariumChain exécute : un PLY brut par scan (chaque frame tel qu'enregistré) plus les photos des scans (les images de la caméra de texture, PNG sans perte,<prefixe>_RAW_NN_INP_NNNN.png) listées dans le METS comme images d'entrée. Les filtres sont ceux de la CLI (kind,scan-geometry,target-total,max-size,on-oversize) : un scan exclu ou refusé pour sa taille ne laisse ni PLY ni photos, un fichier fusionné ou incomplet fait échouer l'export (garde de provenance du serveur DPAC). Le projet peut être un dossier ou un ZIP local, ou celui enregistré sur le hub, téléchargé avant l'export ; - des fichiers bruts (un PLY par scan, images, E57 ...), copiés et hachés ;
- le format ouvert
.acraw(AerariumChain Raw) : au lieu de fichiers épars, un seul conteneur avec manifeste, SHA-256 de chaque fichier et root hash, vérifiable par quiconque sans logiciel propriétaire ; il s'applique aux fichiers bruts sélectionnés comme à l'export Artec (PLY par scan + photos) ; spécification sur github.com/aerariumchain/acraw-spec ; - le format original du logiciel d'acquisition : le dossier du projet zippé sans recompression, ou une archive copiée octet par octet.
- l'export depuis le projet Artec Studio avec la CLI
- Destination : le disque externe (les volumes montés et l'espace libre sont listés), vérification automatique, ZIP (ZIP64 si nécessaire) et certificat.

Depuis le Hub, l'outil peut aussi demander au Hub lui-même de construire le T2 : les PLY bruts sont exportés du projet du scanner sur un nœud GPU et le paquet y est assemblé.

Vérifier un paquet
La section Vérifier les paquets accepte le dossier du paquet (avant la compression) ou un ZIP déjà créé. Les contrôles portent sur :
- le METS : XML bien formé,
PROFILE,OBJID, en-tête (RECORDSTATUS, UUID,CREATEDATE, agents), sections descriptive et administrative, les champs obligatoires des métadonnées techniques 3D, les identifiants en double ; - la section des fichiers : vocabulaire
USE, le groupeFG_3Ddu T1, les groupesSTORAGEetRAW_3D, les noms des documents de paradonnées ; - chaque fichier déclaré dans les groupes du T2 : présence,
SIZE,MD5,MIMETYPE,CREATED,ADMID; la signature des PDF ; l'en-tête des PLY ; les conteneurs.acraw(règles du conteneur, manifest, hachages, root hash, structure) ; - la sémantique du delta : aucun fichier du T1 dans le paquet, aucun fichier non déclaré ;
- la comparaison avec le METS T1, lorsqu'il est fourni ;
- au choix, le validateur public METS ECO-MiC de l'ICDP.
Deux panneaux gardent l'historique : paquets générés (vérification réussie) et paquets échoués, chacun avec les problèmes relevés. Chaque règle a un identifiant stable (HDR-ID, FSEC-STORAGE, FILE-MD5 ...) qui figure aussi dans le certificat et dans les réponses de l'API.
Le lot de vérification pour le contrôle qualité
À côté de chaque livraison, l'outil écrit un lot de vérification : le dossier CANTIERE_LOTTO_PK_T2_VERIFICA/ et sa copie CANTIERE_LOTTO_PK_T2_VERIFICA.zip (les dossiers non compressés peuvent être désactivés dans les paramètres). Il est destiné au contrôle qualité de la Digital Library : qui reçoit le ZIP de livraison peut vérifier qu'il est arrivé intact, lire le journal des contrôles et retracer comment il a été construit, sans ouvrir le paquet. Pour le paquet 3D03CE01_LDIG013_PK0000002_T2 il contient :
| Fichier | Ce que c'est et à quoi ça sert |
|---|---|
3D03CE01_LDIG013_PK0000002_T2_CERTIFICATO.pdf |
le certificat de vérification (voir ci-dessous), copie de celui à côté du ZIP |
3D03CE01_LDIG013_PK0000002_T2.zip.md5 |
l'empreinte MD5 du ZIP de livraison au format md5sum : le hachage, deux espaces, le nom du fichier. Depuis le dossier contenant le ZIP : md5sum -c 3D03CE01_LDIG013_PK0000002_T2.zip.md5 (Linux), md5 -r 3D03CE01_LDIG013_PK0000002_T2.zip (macOS), certutil -hashfile 3D03CE01_LDIG013_PK0000002_T2.zip MD5 (Windows). Si le hachage correspond, le ZIP reçu est octet par octet celui produit |
3D03CE01_LDIG013_PK0000002_T2.zip.sha256 |
la même empreinte en SHA-256 (sha256sum -c … sous Linux, shasum -a 256 -c … sous macOS) : plus robuste que MD5, c'est aussi celle imprimée dans le certificat |
rapporto.json |
le journal complet des contrôles, lisible par machine : ok, errors, warnings, la liste items[] (chaque contrôle a un id stable comme HDR-ID, FSEC-STORAGE, FILE-MD5, T1-FILES, un level `error |
build.json |
comment le paquet a été construit : la spécification de build (identifiants, source du T1, paradonnées, mode RAW, options), d'où vient le T1, les fichiers produits avec taille et MD5, l'outil d'export et sa version |
t1.xml |
le METS T1 ingéré par DPAC dont dérive le T2 : nécessaire pour refaire la comparaison delta (chaque fichier du T1 cité dans le T2 doit garder les mêmes SIZE et CHECKSUM) ; l'application le réutilise d'elle-même quand quelqu'un vérifie le ZIP |
METS_<prefixe>.xml |
copie du METS T2 livré |
METS_<prefixe>_RELAZIONE_SETUP-ACQUISIZIONE.pdf, METS_<prefixe>_RELAZIONE_ELABORAZIONE.pdf |
copies des documents de paradonnées, pour les lire sans ouvrir le paquet |
artec-manifest.json |
(mode Artec) le manifeste de la CLI : pour chaque PLY brut le scan d'origine, frames totaux et utilisés, HD/SD, MD5, et la liste des photos |
inventario.txt |
une ligne par fichier du paquet : MD5, taille, groupe METS (STORAGE, RAW_3D, LOW, PREVIEW…), chemin |
LEGGIMI.txt |
ce qu'est le dossier, verdict et identifiants du paquet, les problèmes relevés et la liste ci-dessus |
Une erreur bloque le ZIP ; un avertissement non. Le lot de vérification est aussi produit lorsqu'un paquet est seulement vérifié (un dossier ou un ZIP reçu d'un prestataire), à côté du fichier contrôlé.
Le certificat de vérification
Lorsqu'un paquet réussit la vérification, l'outil écrit un PDF hors du paquet : l'identité du paquet, SHA-256 et MD5 du METS et du ZIP, le journal complet des contrôles avec leur résultat, l'inventaire des fichiers avec leurs hachages. Les PDF de paradonnées ne sont pas joints : ils sont dans le paquet livré et dans le lot de vérification. C'est le document à conserver avec la livraison.
L'API locale
La fenêtre et l'API partagent le même code. L'API n'écoute que sur le PC (http://127.0.0.1:47821/api/v1, port et jeton facultatif dans les réglages) et est décrite par un document OpenAPI 3.0 servi par l'application sur /api/v1/openapi.json et téléchargeable ici : dpac-t2-openapi.json.


| Méthode | Route | Rôle |
|---|---|---|
| GET | /health |
état de l'application |
| GET | /openapi.json |
le contrat de l'API |
| GET | /disks |
volumes montés et espace libre |
| GET | /artec/status |
la CLI aec_artecViewer est-elle utilisable ? (chemin, Node, version) |
| POST | /artec/list |
liste les scans, frames et photos d'un projet Artec |
| POST | /build |
construit un paquet T2 (job) à partir d'une BuildSpec |
| POST | /check |
vérifie un dossier ou un ZIP (job, ou synchrone avec wait: true) |
| POST | /zip |
vérifie et compresse le dossier d'un paquet (job) |
| POST | /acraw |
enveloppe des fichiers bruts dans un conteneur .acraw (job) |
| POST | /pdf/setup, /pdf/elaborazione |
génère les deux rapports de paradonnées |
| GET | /jobs, /jobs/{id} |
état, résultat et événements d'un job |
| GET | /jobs/{id}/events |
les mêmes événements en Server-Sent Events |
| GET, DELETE | /packages, /packages/{id} |
le registre des paquets générés et échoués |
Authentification : aucune par défaut ; lorsqu'un jeton est défini dans les réglages, il doit être envoyé en X-Api-Token ou comme bearer token. Chaque chemin dans les requêtes est un chemin sur le PC où tourne l'application.
La requête de construction
{
"identity": {
"codiceCantiere": "3D03CE05", "codiceLotto": "LDIG003", "pk": "PK0000002",
"objid": "M489_XXXX",
"dpacUuid": "6f1c2a3e-4b5d-4e6f-8a9b-0c1d2e3f4a5b",
"title": "Titre de l'œuvre", "inventory": "INV-1", "catalogId": "XXXX"
},
"t1": { "source": "file", "path": "/donnees/t1/M489_XXXX.xml" },
"paradata": {
"setup": { "mode": "generate", "data": { "id_oggetto": "...", "setup_acquisizione": "SETUP_#1" } },
"elaborazione": { "mode": "generate", "data": { "operator": "...", "derivFile": "M489_XXXX_DRV.glb", "derivSoftware": "Blender" } }
},
"raw": { "mode": "folder", "folder": "/donnees/raw/M489_XXXX", "extensions": ["ply"], "acraw": { "enabled": false } },
"options": { "overwrite": true },
"output": { "dir": "/Volumes/DISQUE/T2", "zip": true, "keepStaging": true }
}
t1.sourcevautfileouurl(avecheaders).paradata.*.modevautgenerate(à partir des données),file(un PDF existant,path) ounone.raw.modevautartec(avecraw.artec:projectPathouprojectS3Key,kind,scanGeometry,targetTotal,maxSize,onOversize,maxTotalSize,photos),files,folder,original(avecoriginalPathetoriginalVendor) ounone;raw.acraw.enabledactive le conteneur ouvert. Le manifeste de la CLI Artec est conservé dansverifica/artec-manifest.json.
Le déroulement d'un job
POST /build -> 202 { "jobId": "..." }
GET /jobs/{jobId} -> { "job": { "status": "running|done|failed", "result": ... }, "events": [...] }
GET /jobs/{jobId}/events -> text/event-stream: progress, done, error
Les événements de progression portent step, percent et message ; le résultat d'une construction porte les chemins du dossier, du ZIP (avec taille et MD5), du rapport de vérification et du certificat. Une vérification synchrone :
POST /check { "target": "/Volumes/DISQUE/T2/3D03CE05_LDIG003_PK0000002_T2.zip", "wait": true }
-> 200 { "report": { "ok": true, "errors": 0, "warnings": 0, "items": [...], "certificatePath": "..." } }
Les mêmes opérations sont disponibles en ligne de commande (dpac-t2 build, check, zip, acraw, pdf-setup, pdf-elab), avec le même code.
Guide et support IA
Cette page est le guide de l'application : le menu Guide l'ouvre dans le navigateur. Le même guide en Markdown, conçu comme contexte pour un assistant IA, se télécharge ici : dpac-t2-guida.md (en italien).
Le menu Connecter à l'IA rassemble tout ce qui permet à un assistant (Claude Code, Claude Desktop, ChatGPT) ou à l'équipe AerariumChain d'aider quand quelque chose ne va pas :
- Exporter le diagnostic pour l'IA : un fichier Markdown (ou une copie dans le presse-papiers) avec l'environnement, les paramètres sans secrets, les paquets échoués et leurs problèmes, le rapport de vérification du paquet choisi, une note de l'opérateur, les dernières lignes du journal et le guide. Jamais les fichiers des paquets. Le même bouton se trouve sur chaque paquet échoué.
- Connecteur MCP : l'application est un serveur MCP (Model Context Protocol) local. En un clic elle se connecte à Claude Code ou Claude Desktop, qui peuvent lire l'état, les paquets, les rapports et le journal, lancer une vérification ou une construction et résoudre le problème en direct avec l'opérateur. ChatGPT exige un serveur public : on utilise l'export de diagnostic.
- Guide (lien et téléchargement) et Demander de l'aide (requête à l'équipe avec le contexte de l'application).

Mises à jour, suivi et assistance
L'application dialogue avec le manager AerariumChain (manager.aerariumchain.com) via le Hub, avec un identifiant d'installation et, si l'opérateur est connecté, avec sa session :
- Mises à jour : au démarrage et toutes les six heures, elle vérifie si une version plus récente a été publiée ; si oui, elle la télécharge en arrière-plan et la barre latérale affiche « Mise à jour X » avec la progression et le bouton Redémarrer et mettre à jour (l'installation se fait aussi à la fermeture). AerariumChain peut marquer une version comme obligatoire ou forcer la mise à jour d'une installation depuis le manager : l'application l'installe d'elle-même dès qu'aucun travail n'est en cours.
- Suivi : pour chaque paquet construit, elle envoie un rapport avec les identifiants (paquet, préfixe, UUID DPAC, œuvre, hive), le résultat de la vérification avec les problèmes relevés, hachage et taille du ZIP, décomptes (paradonnées, PLY, photos, images du T1), outil d'export et durées. Jamais les fichiers du paquet. Les événements sont mis en file hors ligne et partent à la première connexion ; désactivable dans Paramètres → Suivi.
- Assistance : « Demander de l'aide » dans la barre latérale ouvre une demande à l'équipe AerariumChain avec la version de l'application, le système, l'état de la CLI et les dernières lignes du journal ; la réponse arrive à l'email indiqué.
Prérequis et distribution
- macOS 11 ou ultérieur (Apple Silicon ou Intel) ou Windows 10/11 64 bits ; aucun autre logiciel n'est nécessaire (les PDF de paradonnées sont générés par l'outil).
- De l'espace sur le disque de destination pour les données brutes et pour le ZIP.
- Un compte du Hub AerariumChain avec une licence active, et une connexion internet au moins une fois toutes les 72 heures.
- La CLI
aec_artecViewerpour l'export depuis les projets Artec est intégrée à l'application (prise dans son propre dépôt à la compilation) et s'exécute sur le runtime de l'application : rien à installer.
L'installateur se télécharge depuis le Hub avec un compte qui dispose de la licence. Pour une licence ou de l'assistance contactez-nous.