Structurer un jeu de données

Les jeux de données qui ont vocation à circuler seront réutilisés par des acteurs tiers qui ne connaissent pas l’environnement de votre organisation.

Il est nécessaire de proposer une structure de jeu de données compréhensible et appropriable par tous.

Deux approches sont possibles pour structurer un jeu de données, selon le cas de figure dans lequel la structure se situe :

  • Cas 1 : La structure de vos données ne correspond à aucun schéma de données existant : un travail de modélisation est nécessaire en amont de la création du jeu de données.

  • Cas 2 : La structure de vos données correspond à un schéma de données existant, comme par exemple s'il s'agit d'une Base Adresse Locale.

Les préconisations pour structurer une Base Adresse Locale sont détaillées sur cette page.

Cas 1 : La structure de vos données ne correspond à aucun schéma de données existant

Il est nécessaire de réfléchir en amont à la meilleure structure pour vos données.

Tant que les données de votre structure sont dans un environnement logiciel, leur usage reste adapté à des problématiques métiers spécifiques.

L’ouverture de ces données en dehors de leur environnement impose de structurer le jeu de données en fonction des attentes des réutilisateurs et non plus en fonction des besoins propres à l’organisation.

✨ Quelques bonnes pratiques vous permettront de bien structurer votre jeu de données :

Soigner le contenu du jeu de données

Les champs du jeu de données

Il est conseillé de :

  • Occulter l’ensemble des colonnes dont les champs contiennent des données couvertes par un secret légal (cf. Guide juridique) ;

  • Occulter l’ensemble des colonnes dont les champs contiennent des données à caractère personnel dont la publication n’est pas nécessaire à l’information du public (cf. Guide juridique) ;

  • Privilégier la présence de variables pivots : ces variables proposent des identifiants communs qui permettent de lier plusieurs jeux de données entre eux (ex. le numéro SIRET de la base Sirene) (cf. section "Lier des données à un référentiel").

L’entête des colonnes (pour le format tabulaire)

Dans un fichier tabulaire, la première ligne du fichier peut être utilisée pour nommer chaque colonne et donner des informations sur les données associées.

Il est conseillé de :

  • Donner un nom de colonne explicite ;

  • Donner un nom de colonne sans majuscule, abréviation, accents, ni espaces (préférez le caractère _) afin de faciliter la manipulation des fichiers.

Gestion des champs non attribués

Il est possible que certaines occurrences d’un champ d'un fichier ne soient pas attribuées.

Il convient de :

  • Laisser ces occurrences vides plutôt que d’attribuer la valeur 0 (ou une autre valeur par défaut) : le zéro correspond à une valeur, qui peut dénaturer le sens de votre fichier.

Le titre du jeu de données

Il est recommandé de choisir un titre qui doit pouvoir renseigner n’importe quel réutilisateur sur le contenu du fichier. Pour cela, il est recommandé de :

  • Ne pas donner un titre trop générique qui obligerait le réutilisateur à ouvrir le jeu de données pour comprendre son contenu (i.e. “liste.csv” ou encore “balance comptable” sans indiquer l’organisation concernée) ;

  • Ne pas donner un titre trop long qui rendrait la manipulation du fichier difficile (i.e. le titre du jeu de données “Fichiers consolidés des données essentielles de la commande publique” est suffisamment générique pour ne pas revenir sur toutes les sources de données utilisées pour agréger le jeu de données) ;

  • Ne pas donner un titre contenant des accents ou caractères spéciaux qui poseraient des problèmes d’interopérabilité des fichiers ;

  • Ne pas donner de titre trop technique issu de nomenclatures métier.

L’encodage du fichier

Lexique : Encodage

L’encodage d’un fichier est la norme utilisée pour coder chaque caractère par une suite de 0 et de 1 compréhensible par une machine.

Lorsque l’encodage est mal choisi, le réutilisateur des données est souvent contraint de convertir le fichier, notamment afin de faire apparaître les accents et caractères spéciaux.

Il est conseillé de :

  • Utiliser l’encodage UTF-8 : il permet d’encoder l’ensemble des caractères du répertoire universel de caractères codés (notamment les caractères contenant des accents ou des caractères spéciaux).

Le séparateur (pour le format tabulaire)

Dans un fichier tabulaire, le séparateur permet de structurer les données sous forme de cellules.

Il est conseillé d'utiliser la virgule comme séparateur.

Séparateurs décimaux

Dans un fichier CSV, la virgule n’est pas considérée comme un séparateur décimal. Si votre fichier contient des valeurs décimales, il est nécessaire d’encapsuler chaque champ entre des guillemets.

La plupart des tableurs (Excel, OpenOffice Calc, etc) proposent l’encapsulement des champs entre guillemets.

Une seconde solution consiste à convertir l’ensemble des virgules utilisées pour des valeurs décimales par un point.

Granularité du jeu de données

Il est important de mener une réflexion sur la granularité du jeu de données.

Faut-il proposer des données fines ou agrégées ? Faut-il proposer un export quotidien, mensuel, trimestriel ou annuel ? Ces questions doivent être posées en amont de l’automatisation des exports.

Il est conseillé de mener un dialogue avec les réutilisateurs afin de comprendre leurs besoins : certains utilisateurs peuvent souhaiter manipuler des données granulaires tandis que d’autres préfèrent disposer d’agrégats qui permettent une réutilisation simple et rapide. A minima, il est conseillé de proposer un fichier complet unique qui contient l’ensemble des données historiques.

Choisir le format du jeu de données

Afin qu'un maximum d’utilisateurs puisse s’approprier les données, il est conseillé de les faire circuler dans un format :

  • ouvert : un format ouvert n’impose pas de spécifications techniques qui entraveraient l’exploitation des données (i.e. l’utilisation d’un logiciel payant) ;

  • aisément réutilisable : un format aisément réutilisable sous-entend que toute personne ou machine peut réutiliser facilement le jeu de données ;

  • exploitable par un système de traitement automatisé : un système de traitement automatisé permet de réaliser des opérations par des moyens automatiques, relatifs à l’exploitation des données (i.e. un fichier CSV est aisément exploitable par un système de traitement automatisé contrairement à un fichier PDF).

Il est possible de choisir parmi les formats ouverts et communément acceptés suivants :

Type de donnéesFormats conseillésDescriptionDocumentation

Données tabulaires

CSV

Un fichier CSV est constitué de lignes de données, où chaque champ est séparé par une virgule. Ce format est le standard le plus réutilisable, car ouvert et facilement exploitable par une machine.

Données statiques de transport

GTFS/NeTEx

Le format GTFS est le format le plus utilisé en France par les services de mobilité d’information voyageur. Le format NeTEx est le format de référence européen qui vise l’interopérabilité des données entre États membres.

Données géographiques

GeoJSON, Shapefile, MapInfo MIF/MID, MapInfo TAB et GML, pour les vecteurs / ECW, JPEG2000 et GeoTIFF, pour les données pixelisées (raster)

Les données géographiques sont organisées sous forme d’ensemble de données hiérarchisées. Les formats proposés sont conçus spécifiquement pour être largement exploitables et être intégrés facilement dans des outils de cartographie.

Données hiérarchiques

JSON / XML / YAML

Les données hiérarchiques décrivent des relations hiérarchiques entre différentes données. Le format JSON est préconisé lorsque les données sont liées entre elles sous forme d’arbres verticaux.

indisponible

Dernière mise à jour