DE FR IT

CSV et SIARD

[10-02-2020] Les fichiers CSV doivent-ils être convertis au format SIARD ?

Les fichiers CSV sont des fichiers texte structurés sous forme de tableaux ; les valeurs individuelles, les champs ou les colonnes sont séparés par un séparateur spécial ; les lignes sont générées par des sauts de ligne. Il s'agit d'un format de base de données très simple, mais pour lequel il existe une connexion ODBC à Microsoft Jet Database Engine, qui permet d'effectuer des requêtes en SQL : https://en.wikipedia.org/wiki/Microsoft_Jet_Database_Engine

Le CSV est l'un des plus anciens formats d'échange de bases de données et est donc relativement courant dans les archives. Cependant, CSV présente quelques aspects problématiques :

  • Le jeu de caractères n'est pas spécifié dans le format, ou était à l'origine ASCII, mais aujourd'hui il peut aussi être ANSI ou UTF-8
  • Le choix du séparateur (delimiter) est libre, bien que la virgule, la tabulation et le point-virgule soient courants
  • L'inclusion des champs entre guillemets (quotation marks) est facultative
  • Le nombre de champs par ligne dans un tableau CSV ne doit pas nécessairement être le même
  • Il n'y a pas d'informations d’intégrité (sommes de contrôle, etc.) qui pourraient être utilisées pour détecter un changement dans un fichier CSV

Faut-il convertir les fichiers CSV en SIARD ?

Tous ces problèmes pourraient être résolus en convertissant en SIARD. Toutefois, la conversion correcte ne sera réussie que si tous les aspects énumérés ci-dessus sont connus. Ces informations peuvent ensuite être stockées sous forme de métadonnées dans la collection de fichiers CSV sans qu'il soit nécessaire d'effectuer une conversion. Avec CSV Validator, les National Archives (UK) fournissent un outil (http://digital-preservation.github.io/csv-validator/), qui peut être utilisé pour vérifier ces spécifications ou hypothèses.

Une conversion peut toutefois être nécessaire si une base de données ou un schéma de base de données doit être archivé dans SIARD, mais il n'est pas possible de lire le contenu de la base de données avec un outil correspondant pour des raisons techniques ou d’organisation. Dans ce cas, CSV est généralement choisi comme format d'échange de données entre la base de données et l'outil SIARD.

À notre connaissance, seuls deux outils sont disponibles pour la conversion CSV -> SIARD : la solution open source csv2siard v1.9 du CECO et la solution commerciale Full Convert v7 de Spectral Core, https://www.fullconvert.com/databases/siard.

csv2siard

  • Livré avec une interface graphique modeste et modérément intuitive, il peut également fonctionner en mode batch
  • Des droits d'administration sont nécessaires pour utiliser l'interface graphique
  • Pour convertir, il faut spécifier dans un fichier de préférences le jeu de caractères, les séparateurs, les guillemets, l'extension de fichier, etc., mais ceux-ci peuvent ensuite être réutilisés pour des conversions ultérieures
  • Crée des fichiers SIARD Version 1.0 sans prendre en charge les BLOB
  • Lors de la conversion, les colonnes de texte CSV sont mises en correspondance avec les types de champs de la base de données selon l'approche la mieux adaptée
  • À partir de ce mappage, un modèle de données conforme à la norme Apache Torque 4.0 est généré, mais un modèle de données prédéfini peut également être utilisé
  • Dans le modèle de données, le format des champs et les commentaires peuvent être saisis au niveau du champ et la structure de la base de données peut être définie ; lors de la conversion avec un modèle de données déterminé, les informations de structure et les formats de champ sont appliqués et le contenu du champ est validé en fonction du format (integer doit être un nombre, date doit être un format de date)
  • csv2siard permet également les requêtes ODBC avec des requêtes SQL enregistrées comme source, de sorte qu'en principe toutes les sources de données compatibles ODBC (Microsoft Excel, Access etc.) peuvent être converties en SIARD
  • Une vérification du jeu de caractères est effectuée lors de la conversion, mais il n'y a pas de reconnaissance automatique du jeu de caractères ou des séparateurs.

Full Convert

  • convertit aussi les fichiers CSV au format SIARD 2.1 en plus de nombreux formats de base de données
  • Le contrôle de l'interface graphique est intuitif et actuel
  • Il n'y a pas de détection automatique des séparateurs
  • La reconnaissance automatique du codage des caractères ne fonctionne pas de manière fiable
  • Les fichiers CSV doivent impérativement être nommés *.csv
  • Lors de la conversion, les colonnes de texte CSV sont mises en correspondance avec les types de champs de la base de données selon l'approche la mieux adaptée
  • Il n'y a aucun moyen de vérifier les types de données des colonnes et la structure des tableaux lors de la conversion (comme cela est possible en csv2siard ou avec CSV Validator)
  • Full Convert est rapide, c'est-à-dire environ deux fois plus rapide que csv2siard
  • Les préférences pour une conversion peuvent être enregistrées et réutilisées ultérieurement, ce qui rend le programme de l’interface graphique en principe compatible au mode batch
  • Prend en charge les BLOB pour les grands champs de données, Full Convert décidant lui-même s’il utilise BLOB ou inline XML
  • Après la conversion, un simple navigateur de données est disponible pour le fichier SIARD généré.