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.
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 :
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").
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.
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.
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.
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).
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.
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.
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 :
Lexique : Schéma de données
Un schéma de données est un document qui permet de décrire de manière précise et univoque les différents champs et valeurs possibles qui composent un fichier.
Il permet notamment de valider qu’un fichier est conforme à une structure communément partagée, de générer de la documentation automatiquement, de générer des jeux de données d’exemple ou de proposer des formulaires de saisie standardisés.
Ces schémas facilitent la montée en qualité et le croisement des données proposées en open data, surtout lorsque plusieurs producteurs de données sont amenés à produire un même jeu de données.
➡️ Pour plus de détails sur les schémas de données, consultez la section "Maîtriser les schémas de données"
Il est possible d'identifier un schéma de données déjà existant en consultant le site schema.data.gouv.fr, qui référence une liste de schémas de données existants. Le site offre aussi la possibilité à tout utilisateur de soumettre de nouveaux schémas de données.
Lorsque les données que vous souhaitez faire circuler correspondent à un schéma existant, il est conseillé de l’appliquer au plus près.
Si les données ne sont pas extraites d’un système d’information mais saisies manuellement, il est possible d'utiliser l’outil publier.etalab.studio qui permet, à partir d’un schéma de données sélectionné, de saisir les valeurs de chaque information et ainsi de produire un fichier exhaustif et conforme.
📖 Tutoriel : Utiliser publier.etalab.studio pour saisir, valider et publier des données de qualité
Cet outil vous permet de créer un fichier CSV en vous assurant qu'il est conforme à un schéma, c'est-à-dire que ses données sont complètes, valides et structurées.
Les étapes à suivre sont les suivantes :
Sélectionnez le schéma qui vous intéresse dans la liste déroulante (les schémas disponibles sont ceux référencés sur schema.data.gouv.fr).
Produisez vos données. Trois modes de production sont possibles :
Téléversez (uploadez) votre fichier si les données sont déjà consolidées au bon format ;
Saisissez vos données dans un formulaire à l'aide des descriptions des différents champs et des valeurs d'exemples : les champs indiqués par un astérisque rouge doivent obligatoirement être renseignés au moment de la saisie
Une fois votre formulaire valide, les valeurs apparaissent sous la forme d'une ligne dans un tableau récapitulatif
Vous pouvez alors choisir d'ajouter une ou plusieurs lignes ou télécharger le fichier CSV correspondant au tableau récapitulatif
Saisissez vos données sur un tableur en ligne
La conformité de vos données par rapport au schéma choisi est vérifiée/validée. En cas d'erreur de validation, vous pouvez les corriger.
Une fois les données conforme au schéma correspondant, publiez-les sur data.gouv.fr grâce à un formulaire de publication simplifié permettant une authentification tierce.
Pour valider la conformité d'un fichier avec un schéma de données, il est possible de :
Utiliser la solution Validata : vous pouvez valider la conformité de votre fichier à un schéma parmi la liste déroulante ou via une URL. Vous pouvez ensuite faire valider ce fichier, soit en l'important au format csv, soit en renseignant également son URL.
Sur l'interface d'administration de data.gouv.fr, il est possible d'indiquer que votre fichier correspond à un schéma.
Lorsque vous déposez ou éditez une ressource, vous pouvez sélectionner le schéma correspondant à vos données dans une liste déroulante.
Le fait d'indiquer que votre ressource est censée respecter un schéma permet de bénéficier de vérifications de la qualité des données, d'indiquer aux réutilisateurs que vos données respectent un référentiel, ainsi que de contribuer aux fichiers agrégés (i.e. pour les données IRVE).
D'autres solutions en dehors de data.gouv.fr existent : des solutions disponibles en anglais comme goodtables.io ou CSV Lint proposent des validateurs de jeux de données.
Il est aussi possible d’intégrer une fonction de validation d’un jeu directement dans la procédure de publication (exemple : les données d’adresses locales qui font l’objet d’une validation directement sur le site adresse.data.gouv.fr).
Type de données | Formats conseillés | Description | Documentation |
---|---|---|---|
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
Lexique : Base Adresse Locale Fichier géré par une collectivité locale (habituellement une commune ou un EPCI) et contenant toutes ses adresses géolocalisées. Elle respecte le schéma Base Adresse Locale et une gouvernance qui prévoit que la commune est au centre du dispositif. Depuis 2019, les Bases Adresses Locales sont prioritaires dans la Base Adresse Nationale : une commune qui publie sa Base Adresse Locale devient la seule source d'adresses sur son territoire.
Les Bases Adresses Locales correspondent à un schéma de données établi. Il est conseillé de le suivre au plus près. Le respect de ce schéma garantit une intégration réussie des Bases Adresses Locales dans la Base Adresse Nationale.
Une seule Base Adresse Locale est publiée par commune.
Toute commune peut vérifier que son fichier d'adresses est conforme au schéma et qu'il pourra être intégré à la Base Adresse Nationale grâce au validateur proposé par adresse.data.gouv.fr. Il suffit de glisser le fichier contenant toutes les adresses au format .csv pour obtenir la liste des erreurs à corriger impérativement (en rouge) et des anomalies (problèmes non bloquants mais réduisant la qualité des adresses et leur utilisation).
Si vous n'avez pas déjà votre propre outil, il est recommandé d'utiliser l'éditeur "Mes Adresses", conçu pour permettre à toutes les communes de gérer directement leurs adresses/bases adresses locales en respectant les normes et le schéma sans besoin de compétences techniques. Il permet à la fois de publier et de modifier sa Base Adresse Locale. La transmission des adresses à la Base Adresse Nationale se fait en temps réel.
L'outil est gratuit, open source et simple d'utilisation.
Pour aller plus loin, un guide des bonnes pratiques de l'adressage ("Comment constituer et établir une adresse ?") est disponible. Il détaille les règles et les normes en vigueur.