CSV Validator, le XML du pauvre ?

Les Archives Anglaises ont défini un format  pour faciliter la récupération d’informations à archiver depuis une application source.

Le constat était simple : « it was recognised that it was too difficult and/or expensive for many suppliers to produce the desired metadata in XML »

Le format CSV, quant à lui, est un bon candidat, car facile à générer. En revanche, il est trop laxiste et trop limité.

D’où la notion d’un fichier CSV (ce n’est donc pas un nouveau format) qui suivrait un « schéma CSV » permettant de définir des règles de formattage.
Un schéma CSV permettra par exemple de :

  • Définir des informations générales que doit respecter le fichier (séparateur de colonnes, nombre de colonnes)
  • Indiquer le type de colonne : entier, date, chaîne…
  • Indiquer une contrainte plus forte sur le contenu d’une colonne : liste de valeurs autorisées, expression régulière, nombre de caractères,chemin de fichier valide…

« CSV validator » est l’outil qui valide un fichier .csv par rapport à un schéma CSV. Il sort une log d’erreur si une règle n’est pas respectée.

Ce fichier schéma CSV (extension .csvs) est,fichier texte ayant une syntaxe relativement simple pour exprimer les règles que le fichier CSV doit suivre.

Par exemple, le schéma (csv avec 3 colonnes : un nom, un age et le genre) :

version 1.0
@separator ‘;’
@totalColumns 3
name: notEmpty
age: range(0, 120)
gender: is(« m ») or is(« f ») or is(« t ») or is(« n »)

L’utilisation de ce format pour l’archivage est effectivement à étudier. Bien qu’il soit préférable de gérer du XML, le CSV Validator pourrait être une solution alternative intéressante. Mais plutôt que d’archiver directement ce fichier CSV (dans ce cas avec son fichier .csvs), il serait plus intéressant d’avoir un préprocesseur en entrée du système d’archivage qui prendrait ces fichiers CSV et les transformerait en fichiers XML.

 

PS : cet outil fait partie de la liste des outils Open Source identifiés par le NARA (The U.S. National Archives and Records Administration) dans le document Open Source Tools for Records Management Report de mars 2015

Archivage & Open Source font-ils bon ménage ?

Un mois de mars 2015 riche dans le domaine des archives :

  • La publication le 18 mars 2015 par le NARA (The U.S. National Archives and Records Administration) d’une liste d’outils autour du Records Management
  • L’annonce faite le 10 mars 2015 par le gouvernement du lancement officiel du programme VITAM (Valeurs Immatérielles Transmises aux Archives pour Mémoire)
  • Un nouveau module RM pour Maarch annoncé le 24 mars 2015

Ces 3 événements ont un lien commun car ils parlent tous d’Open Source. Est-ce une tendance de fond ? Est-ce une « bonne » idée d’introduire de l’Open Source dans un système d’archivage ?

Pour moi la question n’est pas là : le système doit répondre aux besoins exprimés et standards du marché avec une gestion de la durée de la conservation, une écriture en Y des contenus, une réversibilité, la gestion des empreintes pour garantir l’intégrité des données et les fonctions habituelles autour du document (accès, métadonnées, recherche…).

Dans le cadre de VITAM,  des briques Open Source seront utilisées  pour fournir un service de dépôt et consultation à base d’API. Pour certains composants, on peut penser qu’ils vont suivre le SILL (Socle Interministériel de Logiciels Libres dont la dernière version est sortie au début du mois de mars)  avec Apache, Tomcat, OpenLDAP, MangoDB (plutôt que PostgreSQL), ElasticSearch…

Mais cela ne concerne que les composants techniques. Il y aura donc des développements autour des spécificités de l’archivage pour implémenter les principes de l’OAIS, de MEDONA, de la 42-013 de MOREQ…

Développements qui seront eux-mêmes proposés en Open Source.

Bref, un beau projet qui n’est pas sans risques notamment au niveau de la capacité à proposer un modèle assez générique pour répondre au versement des différentes applications sources…

PS : Concernant la liste du NARA, j’y reviendrai dans d’autres articles en détaillant certaines solutions intéressantes.