Open data

Introduction :

L’open data est une philosophie et une pratique de partage de données ouvertes, apparue avec le récent essor de la quantité et de la variété de données disponibles au format numérique.

Nous allons dans un premier temps situer l’apparition de l’open data parmi les données massives du big data, et préciser son intérêt et son développement dans le contexte français. Nous nous intéresserons ensuite aux principales caractéristiques des données ouvertes. Nous réaliserons enfin une étude de cas afin d’illustrer différentes manières d’accéder à des données ouvertes.

Données massives

L’accroissement de la puissance des machines et de leurs capacités de stockage, conjugué à la baisse des coûts des matériels informatiques, ont permis une accumulation de plus en plus massive de données de toutes sortes. Ce phénomène s’est grandement accéléré à partir des années 2000, jusqu’à atteindre des volumes tels que les outils traditionnels de stockage et d’analyse se sont révélés inadaptés.

Big data

L’expression big data, souvent traduite en français par données massives ou par mégadonnées, désigne l’accroissement inédit du nombre et de la variété d’informations disponibles, ainsi que la vitesse de leur mise à disposition sous forme numérique.

bannière definition

Définition

Big data (mégadonnées) :

Données de différents types disponibles rapidement et en quantités importantes.

Le big data se caractérise généralement par trois propriétés, appelés 3V en référence à la première lettre de chacune des caractéristiques qui sont :

  • le volume : une quantité souvent massive de données ;
  • la variété des formats : textes, images, sons, vidéos ;
  • la vélocité, qui indique la vitesse à laquelle ces différentes données peuvent être collectées, stockées et diffusées, parfois en temps réel.

Ces données sont regroupées en ensembles partageant des caractéristiques communes, que l’on appelle des jeux de données.

bannière definition

Définition

Jeu de données :

Ensemble structuré de données formant un tout cohérent.

La structuration du jeu dépend du type de données : selon leur nature, elles peuvent être organisées sous différentes formes. On les trouve en général sous forme tabulaire ou hiérarchique.

  • L’interconnexion des systèmes et la puissance des machines modernes permet de disposer d’un accès toujours plus vaste à des jeux de données toujours plus importants.

Si certaines données restent privées, comme les données confidentielles des entreprises et des administrations sur les citoyens, une tendance au partage massif de certaines données non personnelles s’est progressivement développée.

Open Data

Certaines des données du big data sont mises à disposition du plus grand nombre. On parle dans ce cas d’open data ou de données ouvertes.

bannière definition

Définition

Open data (données ouvertes) :

L’open data consiste à mettre à disposition du public des données utilisables et réutilisables par tout un chacun.

Les données ouvertes sont volontairement mises en ligne publiquement par leur producteur afin de permettre leur consultation, leur partage et leur réutilisation. Le format technique de ces données est en général un format ouvert afin de faciliter leur utilisation.

bannière definition

Définition

Format ouvert :

Un format ouvert est un protocole d’échange dont les spécifications techniques sont rendues publiques, sans restriction d’accès ni de mise en œuvre.

Les producteurs de données ouvertes peuvent être des administrations, des entreprises, des organisations à but non lucratif ou même des individus.

Intérêt de l’open data

Le partage des jeux de données contribue à rendre l’information accessible et à développer la connaissance citoyenne sur toutes sortes de sujets. L’open data peut en effet aussi bien toucher la vie politique, économique, sociale, que l’environnement, la santé ou les loisirs.

Quand les jeux de données sont proposés par des administrations gouvernementales, cela participe à la transparence de la vie publique et encourage les citoyens à s’intéresser activement aux sujets liés aux données partagées. La production et la mise à disposition des jeux de données n’est cependant pas réservée aux administrations, et de nombreuses organisations de toutes sortes (entreprises, associations) produisent et proposent leurs propres jeux de données ouvertes.

La réutilisation des données est permise par le producteur et facilitée par l’emploi de formats ouverts. Ces conditions juridiques et techniques favorables encouragent l’innovation et la création de valeurs, économiques ou sociétales.

Formats des données ouvertes

Les jeux de données ont la plupart du temps une forme tabulaire : ce sont des données regroupées en lignes dans un tableau, dont les colonnes en représentent les différentes caractéristiques.

Le format le plus approprié pour proposer des données tabulaires en open data est le format CSV.

bannière definition

Définition

Format CSV :

Format ouvert de fichier en texte brut où les valeurs sont généralement séparées par des virgules, des points virgules ou des tabulations. Le nom CSV est l’abréviation de « Comma Separated Values ».

bannière exemple

Exemple

Voici un exemple de données stockées au format CSV.

nom,âge,ville
Jeanne,18,Toulouse
Victor,33,Le Havre
Malik,26,Bondoufle
Steve,55,Nantes

Les données au format CSV sont organisées en lignes dont la première peut éventuellement être un en-tête contenant le nom des caractéristiques individuelles, appelées champs dans le langage des bases de données.

La notion de texte brut renvoie au fait qu’il est possible de lire directement le fichier sans décodage, contrairement à d’autres formats de fichiers. Toutefois les fichiers CSV sont en général consultés depuis un tableur, ou avec des programmes spécialisés, si le volume de données est trop important pour pouvoir être manipulé par un logiciel tableur.

Il existe également des formats permettant de stocker des informations et des ensembles de données avec une composante hiérarchique : parmi les plus répandus figurent JSON (JavaScript Object Notation) et XML (Extensible Markup Language).
Des formats spécialisés existent par ailleurs pour certains types de données : on peut notamment citer pour les données géographiques les formats dérivés geoJSON (basé sur JSON) et KML (basé sur XML).

bannière exemple

Exemple

Voici un exemple de données stockées au format XML.

<bibliotheque>

<ouvrage langue="fr">

<titre>Les Misérables</titre>

<auteur>Victor Hugo</auteur>

<nb_tomes>3</nb_tomes>

</ouvrage >

<ouvrage langue="fr" >

<titre>L'Assommoir</titre>

<auteur>Émile Zola</auteur>

</ouvrage >

<ouvrage langue="en">

<titre>David Copperfield</titre>

<auteur>Charles Dickens</auteur>

<nb_tomes>3</nb_tomes>

</ouvrage >

</bibliotheque>

Données ouvertes publiques françaises

Les données publiques françaises sont administrées par l’organisme public Etalab. Rattaché à la DINSIC (Direction interministérielle du numérique et du système d’information et de communication de l’État), Etalab coordonne la politique d’open data des données publiques françaises et gère notamment la plateforme officielle data.gouv.fr.

bannière à retenir

À retenir

La plateforme officielle des donnés publiques françaises en ligne est accessible à l’adresse https://www.data.gouv.fr.
Cette plateforme répertorie globalement l’ensemble des jeux de données publiques rendues disponibles par l’administration française.

Certains de ces jeux de données spécifiques sont également regroupés par catégories, et accessibles par des plateformes dédiées rattachées à la plateforme principale data.gouv.fr. C’est notamment le cas pour :

  • les données géographiques,
  • les données liées aux transports et à la mobilité,
  • les données cadastrales,
  • les données liées aux valeurs foncières,
  • les adresses postales du territoire national,
  • les informations publiques sur les entreprises et les associations.

La plateforme data.gouv.fr répertorie non seulement des données, mais aussi les codes sources ouverts par les organismes publics. On peut y trouver toutes sortes de codes informatiques.

bannière exemple

Exemple

La plateforme data.gouv.fr rend notamment disponibles les codes informatiques suivants :

  • le calcul de l’impôt sur le revenu,
  • un code du travail numérique,
  • un kit de développement autour du géoportail de l’IGN,
  • le code source de la plateforme d’apprentissage en ligne fun-mooc.fr.

Nous avons situé l’open data dans la perspective du big data et dans le contexte public français. Nous allons maintenant préciser ce qui caractérise les données ouvertes, à la fois sur le plan juridique et sur le plan technique.

Caractéristiques des données ouvertes

Nous nous appuierons sur un exemple, le ficher des prénoms attribués aux enfants nés en France de 1900 à 2018, afin d’illustrer concrètement les différentes caractéristiques d’un jeu de données ouvertes.

Ce jeu de données est présenté sur la page suivante de la plateforme data.gouv.fr : https://www.data.gouv.fr/datasets/5bf42c958b4c4144b0110ce8

Cette page nous fournit un certain nombre d’informations juridiques et techniques sur le jeu de données et sur son producteur.

Informations fournies par le producteur

La page précise en marge droite le producteur du jeu de données, il s’agit ici d’un service public certifié : l’INSEE (Institut national de la statistique et des études économiques). Un logo de certification figure sur la fiche des producteurs certifiés, et sur les jeux de données produits.

  • Licence

C’est le producteur qui fixe par l’intermédiaire d’une licence les conditions d’utilisation du jeu de données proposé.

bannière definition

Définition

Licence :

Une licence définit les conditions dans lesquelles des données ou un code informatique peuvent être ou non utilisés.

Pour les données publiques françaises, Etalab a conçu et mis en place une licence appelée « licence ouverte ». Cette licence accorde une grande liberté dans les possibilités d’exploitation et de réemploi des données, y compris pour des usages commerciaux, en contrepartie d’une exigence de transparence, matérialisée par l’obligation de mentionner la paternité des données, c’est-à-dire leur source.

Les producteurs non gouvernementaux peuvent proposer d’autres types de licence, notamment les licences Creative Commons, dont le cadre est assez similaire à la licence ouverte.

  • Descripteurs

Les données sont décrites globalement, pour préciser notamment le producteur, sa licence, la date de production du jeu de données et son éventuelle périodicité d’actualisation.

Un descriptif documentaire accompagne généralement les jeux de données : il peut préciser le périmètre des informations collectées, en indiquant ce qui a été inclus ou éventuellement exclu du jeu de données.

Les jeux de données sont souvent accompagnés d’un descriptif technique, précisant le format informatique employé, détaillant les noms des variables utilisées, ou encore les unités de valeurs caractérisant les informations contenues dans les jeux de données.

  • Réutilisations communautaires

La page présentant le jeu de données des prénoms mentionne un certain nombre de contributions communautaires basées totalement ou partiellement sur la réutilisation de ce jeu de données.

bannière exemple

Exemple

On trouve une visualisation graphique sous forme d’histogrammes des prénoms donnés aux enfants nés en France sur l’ensemble de la période, des vidéos montrant de manière animée l’évolution au fil des années des 20 prénoms de filles et de garçons les plus donnés par an à la naissance, ou des nuages de mots pour représenter graphiquement les prénoms les plus fréquents à une période donnée.

Examen du jeu de données

Dans notre cas d’illustration, les données sont de type tabulaire. Elles sont proposées, ainsi qu’il est d’usage, au format ouvert CSV. Ce format permet généralement la consultation des données à l’aide d’un outil de bureautique de type tableur.

Toutefois dans le cas présent, le volume de données représente un obstacle : le fichier comporte en effet plus d’un demi-million de lignes individuelles. Même si les logiciels tableurs récents sont en théorie capables de traiter des fichiers jusqu’à un million de lignes, c’est en pratique au prix de grandes lenteurs.

  • Les données les plus volumineuses nécessitent donc un traitement par d’autres outils : des bases de données ou programmes informatiques adaptés.

La qualité des jeux de données peut s’avérer très variable d’un producteur à l’autre. Certains jeux de données comportent un nombre plus ou moins importants de fautes de frappe et autres erreurs humaines, ainsi que des formatages de données non conformes aux pratiques usuelles.

La présence éventuelle de doublons peut également nuire à la qualité des données.

bannière definition

Définition

Doublon :

Un doublon désigne la présence d’une même donnée saisie par erreur plus d’une fois dans un jeu de données.

On peut également être confronté à des inconstances dans la manière dont les données ont été saisies : il peut arriver que des entités individuelles n’aient pas été saisies à l’identique d’une entrée à l’autre.

bannière exemple

Exemple

Si pour un humain « Toulouse », « toulouse » et « TOULOUSE » désignent sans ambiguïté la même ville, ce sont pour un ordinateur, trois chaînes de caractères différentes. En l’absence de traitement préalable, un programme informatique considérera ces trois chaînes de caractères comme distinctes.

  • Par conséquent, si on demande une totalisation de valeurs par ville, « Toulouse », « toulouse » et « TOULOUSE » auront chacune un total distinct.

De la même manière « PALAVAS LES FLOTS » et « PALAVAS-LES-FLOTS » ne sont pas deux chaînes de caractères identiques, ni « PERIGUEUX » et « PÉRIGUEUX ».

Là encore un humain fera sans difficulté le lien entre ces écritures différentes, mais pas un ordinateur.

  • Il est donc nécessaire d’analyser le jeu de données avant de l’exploiter.

Dans la plupart des cas, l’analyse conduit à effectuer un certain nombre de traitements, pour corriger les problèmes rencontrés et pour adapter le jeu de données à nos besoins spécifiques.

  • Traitements courants sur les données ouvertes

Même si la qualité d’origine d’un jeu de données ouvertes est correcte, il est assez rare que les données soient d’emblée formatées exactement comme on le souhaite : un pré-traitement est donc souvent nécessaire pour adapter le jeu de données à nos besoins spécifiques avant de pouvoir effectuer le traitement envisagé proprement dit.

Dans le cas des données tabulaires, on peut notamment être amené à :

  • supprimer d’éventuels doublons ;
  • harmoniser des données (convertir tous les textes en minuscules ou en majuscules, supprimer ou remplacer certains caractères) ;
  • supprimer des colonnes dont on n’a pas l’usage ;
  • transformer des données (arrondir des valeurs numériques, réduire une date complète à sa seule année, extraire le département d’un code postal).
bannière à retenir

À retenir

L’utilisation de données ouvertes nécessite de respecter le cadre de la licence concédée par le producteur du jeu de données, et aussi de bien prendre en compte les caractéristiques précises du jeu de données, parmi lesquelles sa qualité et son formatage.

Analyse d’un jeu de données : les prénoms

Dans cette partie nous allons illustrer le fait qu’un même jeu de données peut être examiné avec différents outils informatiques.

Nous ne pouvons pas utiliser le jeu de données décrit en exemple dans la partie précédente, car il est trop volumineux pour être manipulé avec certains des outils. Nous travaillerons avec un jeu de données ouvertes beaucoup plus réduit, celui intitulé « Les prénoms des petits Français ».

Ce jeu de données est téléchargeable à l’adresse suivante :

Sa description indique qu’il contient les prénoms donnés aux enfants nés dans les communes de Rennes, Strasbourg, Nantes et Toulouse, de 2002 à 2012. Le jeu de données inclut seulement les prénoms dont l’occurrence est supérieure à 5. C’est un fichier au format CSV qui comporte un peu moins de 6000 lignes.

Nos possibilités de traitement de ce jeu de données dépendent des outils avec lesquels nous accédons à ces données.

Consulter des données avec un éditeur de texte

Le format CSV étant un format de texte brut, n’importe quel éditeur de texte basique peut l’ouvrir pour nous donner accès à son contenu.

ANNAISS;MNAISS;CODCOM;LBCOM;SEX;PRN;NRB
2007;;35238;RENNES;FEMME;Emma;50
2007;;35238;RENNES;FEMME;Manon;45
2007;;35238;RENNES;FEMME;Jade;44
2007;;35238;RENNES;FEMME;Camille;41
2007;;35238;RENNES;FEMME;Léa;37
2007;;35238;RENNES;FEMME;Clara;34
2007;;35238;RENNES;FEMME;Louise;33
2007;;35238;RENNES;FEMME;Chloé;30
2007;;35238;RENNES;FEMME;Enora;30
2007;;35238;RENNES;FEMME;Jeanne;29
2007;;35238;RENNES;FEMME;Mathilde;29
2007;;35238;RENNES;FEMME;Lola;27
2007;;35238;RENNES;FEMME;Romane;27
2007;;35238;RENNES;FEMME;Zoé;27
2007;;35238;RENNES;FEMME;Inès;26
2007;;35238;RENNES;FEMME;Juliette;24
2007;;35238;RENNES;FEMME;Lucie;24
2007;;35238;RENNES;FEMME;Sarah;21
2007;;35238;RENNES;FEMME;Lilou;20
2007;;35238;RENNES;FEMME;Maëlys;20
2007;;35238;RENNES;FEMME;Rose;20
2007;;35238;RENNES;FEMME;Louna;19
2007;;35238;RENNES;FEMME;Célia;17
2007;;35238;RENNES;FEMME;Julie;17
2007;;35238;RENNES;FEMME;Léna;17
2007;;35238;RENNES;FEMME;Océane;17
2007;;35238;RENNES;FEMME;Salomé;17

La page du jeu de données ne fournissant pas d’indications précises sur les caractéristiques des données, l’ouverture du fichier avec l’éditeur de texte nous apporte un premier éclairage. Nous relevons la présence d’une première ligne d’en-tête :

ANNAISS;MNAISS;CODCOM;LBCOM;SEX;PRN;NRB

Nous pouvons identifier le caractère « ; » comme le caractère utilisé pour séparer les différents champs qui constituent la donnée stockée dans une ligne.

Pour comprendre la signification des champs, nous pouvons consulter les données des premières lignes :

2007;;35238;RENNES;FEMME;Emma;50
2007;;35238;RENNES;FEMME;Manon;45
2007;;35238;RENNES;FEMME;Jade;44

Nous pouvons en déduire que :

  • « ANNAISS » désigne l’ANnée de NAISSance,
  • « MNAISS » désigne le Mois de NAISSance,
  • « CODCOM » désigne le CODe de la COMmune,
  • « LBCOM » désigne le LiBellé de la COMmune,
  • « SEX » désigne le SEXe du prénom,
  • « PRN » désigne le PRéNom,
  • « NRB » désigne le NomBRe de prénoms donnés par année.

Nous constatons que le mois de naissance n’est renseigné nulle part.

Nous pouvons également parcourir le long fichier de près de 6000 lignes et en déduire qu’il est trié par année, puis par ville, par sexe, et enfin par nombre décroissant de prénoms. Sans nous attarder sur les lignes individuelles, nous pouvons facilement confirmer que le fichier couvre les 4 villes annoncées dans le descriptif des données. Nous pouvons également observer qu’il semble manquer des années pour plusieurs des villes.

Les possibilités de l’éditeur de texte sont toutefois limitées. Nous ne pouvons par exemple pas effectuer de calcul ou de tri.

Manipuler des données avec un tableur

L’emploi d’un tableur est bien plus adapté à la manipulation de données tabulaires. N’importe quel logiciel tableur est capable d’ouvrir un fichier au format ouvert CSV.

open data tableur fichier données ouvertes Capture d’écran d’un fichier CSV ouvert avec un tableur

  • Le tableur nous permet aisément de trier les données par prénom, puis par ville et par année.

open data tableur fichier données ouvertes tri Capture d’écran lors du tri par prénom, ville et année

Notre opération de tri révèle que toutes les années ne sont pas disponibles pour toutes les villes et pour tous les prénoms. Un examen rapide des données ainsi triées met en évidence des plages temporelles différentes selon les villes. On observe aussi l’emploi non harmonisé de minuscules et de majuscules pour les libellés des prénoms.

bannière astuce

Astuce

On peut également filtrer les données selon plusieurs critères : CODCOM=31555 et SEX=FEMME par exemple, pour n’avoir que les prénoms féminins donnés à Toulouse.

Mettre en forme les données avec un grapheur

Nous pouvons exploiter l’outil grapheur intégré à la plupart des tableurs afin de réaliser des visualisations.

Nous pouvons par exemple créer un histogramme montrant le nombre d’occurrences du prénom Aaron sur la ville de Toulouse de 2004 à 2012.

open data tableur fichier données ouvertes histogramme Capture d’écran d’un histogramme produit à partir de données CSV

Pour aller plus loin

Nous pourrions importer le fichier CSV dans un système de gestion de base de données, afin de réaliser différemment des tris et des recherches assez proches de ce qu’il est possible de réaliser avec un tableur.

Nous pourrions également utiliser un langage informatique et, le cas échéant, un module dédié pour faciliter l’accès aux données contenues dans le fichier.
Avec le langage Python, nous pourrions utiliser le module nommé csv, spécialement conçu pour la manipulation de données enregistrées dans ce format.

Il existe aussi différents outils en ligne (c’est-à-dire accessibles sur Internet) capables de traiter d’une manière ou d’une autre des fichiers CSV, pour effectuer des opérations de tri, de sélection, et de représentation graphique des données.

Dans le cas présent, le panorama effectué avec les différents outils nous a permis de constater des disparités dans les plages temporelles pour lesquelles les données sont effectivement disponibles. Nous avons également pu remarquer que l’orthographe des prénoms variait du fait de l’emploi de minuscules et de majuscules. Cela nous montre qu’il ne faut pas se fier aveuglement au descriptif fourni à l’appui d’un jeu de données ouvertes, dont la qualité peut se révéler assez variable.

  • Il convient d’effectuer un certain nombre d’analyses et de contrôles sur les données que l’on souhaite utiliser.

Conclusion :

L’open data est une composante du big data qui reflète une philosophie et une pratique d’ouverture des données au plus grand nombre. Nous avons défini l’open data et précisé sa mise en œuvre publique en France. Nous avons ensuite défini les caractéristiques de l’open data, puis nous avons illustré avec un cas concret différentes manières d’accéder à un même jeu de données, dont nous avons pu évaluer les contenus et la qualité.
Cette récente ouverture des données suscite de nombreux espoirs de bénéfices économiques et sociétaux. Ceux-ci reposent en grande partie sur la capacité des usagers à s’emparer de ces données ouvertes, et à les réemployer de manière utile et pertinente.