3. PASTIS STANDALONE
3.1. Résumé
3.1.1. Documents de référence
Document |
Date de la version |
Remarques |
---|
3.1.2. Présentation du document
Le présent document présente l’application Pastis Standalone, qui est une version de l’application Profils Documentaire indépendante de la plateforme VITAM.
3.2. Présentation, installation, et lancement de Pastis Standalone
3.2.1. Présentation de Pastis Standalone
TODO
3.2.2. Installation de Pastis Standalone
L’application Pastis Standalone est téléchargeable sur le site internet du programme Vitam à l’adresse suivante : https://download.programmevitam.fr/pastis-standalone/
Le fichier Zip a un unique répertoire contenant :
un environnement d’exécution Java 17, nécessaire si vous n’avez pas Java installé sur votre poste
un fichier
readme.txt
décrivant succintement la procédure pour lancer l’applicationun fichier de configuration
PASTIS-APP.url
un fichier .exe, qui contient l’application devant être lancée
3.2.3. Lancement de Pastis Standalone
Le lancement de Pastis Standalone se fait via un double-clic sur le fichier .exe cité précédemment.
3.2.4. Extension du modèle du SEDA par des métadonnées externes
Depuis la version 8.1 de Vitam, il est possible d’enrichir le modèle des Profils d’Archives et des Profils d’Unité Archivistique en ajoutant des champs personnalisés, qui viendront enrichir les informations des unités archivistiques.
Pour cela, il conviendra de créer un fichier de configuration nommé external-schema-definition.json
placé dans le même répertoire que le fichier .exe
Le contenu du fichier est au format JSON, avec la syntaxe suivante :
[
{
"FieldName": "MyText",
"Path": "Invoice.Provider.MyText",
"ShortName": "Mon champ texte",
"Type": "TEXT",
"Cardinality": "ONE",
"Description": "Extension au SEDA. Elément de type texte"
},
...
]
Les champs attendus sont les suivants :
Champ |
Description |
---|---|
FieldName |
Nom du champ, tel qu’il sera présent dans le contenu de l’Unité Archivistique |
Path |
Nom complet, depuis la racine. Les différents parents seront séparés par des “.” |
ShortName |
Libellé court du champ |
Type |
Type du champ. Voir plus bas pour les différentes valeurs possibles |
Cardinality |
Cardinalité du champ. Voir plus bas pour les différentes valeurs possibles |
Description |
Description longue du champ |
Valeurs possibles pour le champ « Type » :
OBJECT : le champ sera un objet contenant des sous-champs
DATE : le champ sera de type date
KEYWORD ou ENUM : champ de type énuméré, sous forme d’une chaîne de caractères
LONG : champ de type numérique entier
DOUBLE : champ de type numérique décimal
TEXT : chaîne de caractère
BOOLEAN : champ de type booléen (vrai / faux, ou oui / non)
Valeurs possibles pour le champ « Cardinality » :
ONE : le champ peut avoir zéro ou une seule occurrence
ONE_REQUIRED : le champ est obligatoire et n’a qu’une seule occurrence
MANY : le champ est répétable plusieurs fois, mais peut ne pas être présent
MANY_REQUIRED : le champ est répétable plusieurs fois, mais doit apparaître au moins une fois
Il est possible de regrouper les métadonnées en arbre, en utilisant des métadonnées de type OBJECT, qui vont elle-même contenir d’autres métadonnées. L’organisation de l’arbre des métdonnées se fera avec la propriété Path
de chaque métadonnée.
Par exemple, si nous avons créé une métadonnée A
de type objet, on pourra créer une métadonnée B
de type texte imbriquée dans A
si pour B
on défini la valeur Path
à A.B
. Attention, il faut bien s’assurer que tous les parents d’une métadonnée, tels que définis dans son Path
existent bien.
Si, par exemple, nous souhaitons créer la structure suivante :
Invoice - Informations de facture (objet, optionnel, répétable)
+--- FactDate - date de la facture (date, obligatoire, non répétable)
+--- FactNum - numéro de facture (texte, obligatoire, non répétable)
+--- FactDetail - détail de la facture (objet, obligatoire, répétable)
+--- ItemName - Nom de l'article (texte, obligatoire, non répétable)
+--- ItemQty - Nombre d'articles (entier, obligatoire, non répétable)
+--- ItemUnitPrice - Prix unitaire de l'article (décimal, obligatoire, non répétable)
Le fichier de configuration external-schema-definition.json
devra avoir le contenu suivant :
[
{
"FieldName": "Invoice",
"Path": "Invoice",
"ShortName": "Informations de facture",
"Type": "OBJECT",
"Cardinality": "MANY",
"Description": "Informations de facture, avec le détail des articles"
},
{
"FieldName": "FactDate",
"Path": "Invoice.FactDate",
"ShortName": "Date de la facture",
"Type": "DATE",
"Cardinality": "ONE_REQUIRED",
"Description": "Date d'émission de la facture"
},
{
"FieldName": "FactNum",
"Path": "Invoice.FactNum",
"ShortName": "Numéro de facture",
"Type": "TEXT",
"Cardinality": "ONE_REQUIRED",
"Description": "Numéro unique de la facture"
},
{
"FieldName": "FactDetail",
"Path": "Invoice.FactDetail",
"ShortName": "Détails de la facture",
"Type": "OBJECT",
"Cardinality": "ONE_REQUIRED",
"Description": "Détails des articles de la facture"
},
{
"FieldName": "ItemName",
"Path": "Invoice.FactDetail.ItemName",
"ShortName": "Nom de l'article",
"Type": "TEXT",
"Cardinality": "ONE_REQUIRED",
"Description": "Nom de l'article tel qu'indiqué sur la facture"
},
{
"FieldName": "ItemQty",
"Path": "Invoice.FactDetail.ItemQty",
"ShortName": "Nombre d'articles",
"Type": "LONG",
"Cardinality": "ONE_REQUIRED",
"Description": "Nombre d'articles de ce type"
},
{
"FieldName": "ItemUnitPrice",
"Path": "Invoice.FactDetail.ItemUnitPrice",
"ShortName": "Prix unitaire",
"Type": "DOUBLE",
"Cardinality": "ONE_REQUIRED",
"Description": "Prix unitaire de l'article"
}
]