L’Open Data, l’ouverture des données pour de nouveaux usages
1. L’ouverture des données
Les données : une mine d’or
Jusqu’à très récemment, l’Informatique évoquait surtout l’activité de conception de logiciels. Mais avec la baisse continue des coûts de développement, la standardisation de modules logiciels permettant de rendre de nombreux services en quelques clics, la part de valeur du logiciel a diminué pour céder la place aux données : données personnelles, données issues des systèmes d’information des entreprises (fréquentation des magasins, performance économique), données de capteurs (température du domicile, hygrométrie), etc. La donnée brute, une fois interprétée, devient une information qui a une valeur double.
Elle a tout d’abord une valeur stratégique, car elle permet la prise de décision. Par exemple, la campagne menée par le ministère de la santé pour détecter au plus vite les signes d’un AVC prend son origine dans l’analyse de la donnée brute « nombre d’AVC en France », révélant l’information « l’AVC est la troisième cause de décès en France ».
La donnée possède aussi une valeur économique. Ainsi, les données générées par une personne, une communauté d’utilisateurs ou une entreprise sont une source d’indications précieuses sur leurs comportements. Les réseaux sociaux comme Facebook ou Google déploient des trésors d’ingéniosité pour déterminer les profils de leurs utilisateurs (leurs préférences) qui pourront ensuite être vendus à prix d’or aux régies publicitaires.
Ce changement de perspective, mettant les « données au centre » (data centrality), se traduit également dans la structure des logiciels contemporains, dont la base de données constitue le noyau et autour de laquelle gravitent de nombreux services d’interrogation et d’analyse, interconnectés par Internet.
Données ouvertes
De très grands gisements de données existent d’ores et déjà, comme ceux fournis par les administrations publiques (statistiques publiques, comme les chiffres du chômage évoqués en introduction, données cadastrales, …) ou par les établissements ou associations à visée scientifique (comptes-rendus d’expériences, tests de nocivité, …). Le croisement des données et leur analyse peuvent permettre à chacun de contribuer à la vie publique, en produisant par exemple de nouveaux jeux de données. C’est pour faciliter ces démarches que s’est structurée la notion de données ouvertes (open data). Une donnée ouverte est une « donnée librement utilisable, réutilisable et pouvant être redistribuée par tous » (cf. définition). La volonté du public d’accéder aux données n’est pas une idée nouvelle. Elle a pris naissance aux États-Unis où le freedom of information act (FOIA), voté en 1966, facilite l’accès aux données administratives pour les citoyens américains. Cette notion est d’ailleurs bien antérieure à celle du logiciel libre établie en 1985.
L’ouverture de données administratives peut aussi traduire une vision politique de la société : plus de transparence, moins d’inter-médiation, plus de participation et d’innovation, pour et via la société civile. On assiste à l’ouverture de plates-formes de données ouvertes gouvernementales, d’abord aux États-Unis et dans les pays anglo-saxons puis actuellement en Europe. En France, de nombreuses villes comme Bordeaux, Lyon, Nantes, Paris, Rennes et bien d’autres, publient des données issues des services administratifs et des statistiques sur les usages publics (les horaires des transports en commun, les chiffres de fréquentation des piscines publiques…). La mission Etalab coordonne notamment la politique d’ouverture des données publiques au niveau national.
Difficultés juridiques
S’il est tentant de rendre publique des données, ce processus doit être réalisé dans le respect d’un certain nombre de règles juridiques. Par exemple, un jeu de données public doit au préalable être anonymisé, afin que les données relatives à une personne précise ne soient pas identifiables. Cette tâche est difficile. En effet, il a été montré que la connaissance du code postal, de la date de naissance et du sexe d’une personne permet de l’identifier avec précision dans 85% des cas, en croisant cette information avec d’autres données publiques comme les registres électoraux [1].
De plus, la volonté de publier ses données est plus ou moins grande selon les propriétaires d’autant plus que ces données ont vocation à être combinées, réutilisées et republiées. Ainsi des licences de données, similaires aux licences de logiciels, ont vu le jour, avec des niveaux d’exigence et d’ouverture différents. On peut citer les licences de type Creative Commons, ou la Licence ouverte proposée par Etalab en 2011.
2. Des données ouvertes… si on en prend la peine !
Des données sont donc aujourd’hui en accès libre, permettant à tous de les consulter et de les exploiter. Néanmoins, la simple tâche de consultation de la donnée n’est pas toujours aisée. De plus, il faut parfois la croiser avec d’autres données et/ou l’analyser pour lui donner du sens.
Mettons-nous par exemple à la place de Fred, un Rennais ayant appris que sa ville met à disposition des statistiques concernant la fréquentation de la bibliothèque des Champs Libres. Il se demande comment le temps (au sens météo) influence la fréquentation de la bibliothèque : « quand il pleut, allons-nous plus à la bibliothèque ? ». Pour répondre à son interrogation, il va devoir s’attaquer à plusieurs défis. Tout d’abord, il part à la recherche de données sur la fréquentation de la bibliothèque et de données sur la météorologie.
Accéder aux données
La recherche de données météorologiques effectuée par Fred va le confronter à un premier obstacle. Dans un effort louable de lisibilité, certains organismes publient uniquement des résumés de leurs données, sous forme de comptes-rendus au format PDF (Portable Document Format) ou de graphiques. C’est le cas des données de Météo France. Les relevés météorologiques, lorsqu’ils sont libres d’accès, sont présentés selon différents formats : PDF, tableaux HTML, graphiques, images comme sur le site de météo Bretagne et celui de freemeteo. La figure qui suit donne un extrait du relevé horaire d’indicateurs météorologiques effectué à Rennes. Ces données sont accessibles au cas par cas, après avoir renseigné la ville et la journée de son choix. Cette information du Web, accessible uniquement au travers de formulaire est à juste titre appelée « Web caché ».
Si ces approches ont l’avantage de donner au public un accès simple aux données, elles ne permettent pas la réutilisation directe de ces données par des applications informatiques dédiées au traitement, à l’agrégation et à l’analyse des données. Ainsi, de nombreuses données sont lisibles mais non exploitables, ce qui va à l’encontre du processus d’ouverture.
Lorsqu’un format compréhensible directement par un ordinateur est proposé, de nombreux obstacles subsistent encore. En effet, une véritable jungle de formats est disponible : format plein texte, données séparées par une virgule (CSV), feuilles de tableurs (LibreOffice Calc, Excel), tableaux RTF, fichiers XML, JSon, etc. Une autre difficulté provient de l’encodage des données. Le jeu de caractères est choisi parmi un vaste choix de formats comme Latin1, UTF8… Se tromper de jeu de caractères engendre à titre d’exemple des erreurs d’accentuation sur les mots. Il n’est pas simple non plus d’identifier les intitulés de colonnes dans une feuille de tableur complexe, et ce encore moins lorsque le volume de données à traiter est important. Si ces aspects peuvent paraître triviaux, ils ne restent pas moins un casse-tête lorsqu’on cherche à automatiser par un programme informatique le processus d’extraction des données.
Mais par chance, les fréquentations de la bibliothèque de 2013 et de 2014 sont rendues disponibles par la Métropole de Rennes grâce à un fichier au format CSV. Fred doit maintenant trouver les logiciels aptes à la lecture de ce format. Son ordinateur est équipé d’un éditeur plein texte (donc sans fonction de mise en forme), ce qui lui permet de consulter les données CSV directement. Il obtient le résultat suivant :
site;code insee;période;heure;zone;comptage – entrées Rennes les champs libres;35238;02/01/13;12:00;1er étage vie du citoyen, 1er etage vie du citoyen;10 Rennes les champs libres;35238;02/01/13;12:00;RdC champs libres, rdc 2;5 Rennes les champs libres;35238;02/01/13;12:00;RdC champs libres, rdc 3;207 Rennes les champs libres;35238;02/01/13;12:00;RdC champs libres, rdc 4;45 Rennes les champs libres;35238;02/01/13;12:00;RdC champs libres, rdc retour;11 Rennes les champs libres;35238;02/01/13;12:00;RdC vie du citoyen, rdc vie du citoyen;76 Rennes les champs libres;35238;02/01/13;13:00;1er étage vie du citoyen, 1er etage vie du citoyen;18 Rennes les champs libres;35238;02/01/13;13:00;RdC champs libres, rdc 2;5 Rennes les champs libres;35238;02/01/13;13:00;RdC champs libres, rdc 3;231 Rennes les champs libres;35238;02/01/13;13:00;RdC champs libres, rdc 4;65 Rennes les champs libres;35238;02/01/13;13:00;RdC champs libres, rdc retour;9 … |
Parfait ! Fred connaît ainsi les fréquentations de la bibliothèque « Les Champs Libres » heure par heure.
Concernant les données météorologiques, Fred cherche plus avant sur le site de Météo-France. Il trouve un onglet « Données publiques », à partir duquel il peut télécharger les données de pluviométrie au format CSV, archivées pour différents mois. Il ne reste plus à Fred qu’à consulter l’archive de 2013 de la station 07130 (Rennes Saint-Jacques). Le fichier s’ouvre avec un éditeur plein texte. Un traitement sera nécessaire pour extraire les données concernant la pluviométrie contenues dans le champ RR1.
POSTE;DATE;RR1;TN;HTN;TX;HTX
31069001;2002010100;0;-0,6;2354;0,1;2302
31069001;2002010101;0;-1,3;48;-0,6;1
31069001;2002010102;0;-1,5;153;-1,2;101
31069001;2002010103;0;-1,6;211;-1,2;223
31069001;2002010104;0;-1,6;353;-1,2;325
31069001;2002010105;0;-1,6;401;-1,4;459
31069001;2002010106;0;-1,7;546;-1,4;532
31069001;2002010107;0;-1,7;601;-1,4;647
31069001;2002010108;0;-2,1;723;-1,3;738
31069001;2002010109;0;-1,7;801;0;856
31069001;2002010110;0;0;901;2,2;959
31069001;2002010111;0;2,4;1001;6;1059
31069001;2002010112;0;5,9;1101;6,8;1159
Intégrer les données
Fred a pour objectif de vérifier l’influence de la météorologie sur la fréquentation de la bibliothèque. Pour croiser ses deux jeux de données, il peut se servir de la colonne PERIODE d’un côté et DATE de l’autre, pour mettre en regard fréquentation et pluviométrie, ce qui va permettre de vérifier s’il y a une corrélation entre ces deux phénomènes. Par ailleurs, étant donné la quantité d’informations dont il dispose, il préfère se contenter d’un relevé quotidien plutôt que d’un relevé horaire.
Les deux jeux de données doivent être réorganisés de sorte que les fréquentations et les précipitations soient agrégées par jour et non plus par heure. La réorganisation des données est une tâche assez classique dès lors que l’on souhaite présenter les données d’une façon différente, par agrégation, comme c’est le cas dans notre exemple, ou par concaténation de champs pour reconstituer par exemple un champ adresse à partir du nom de la rue, du code postal et de la ville.
Pour corréler les informations météorologiques quotidiennes aux fréquentations quotidiennes de la bibliothèque, Fred devra lier les données des deux sources sur le champ date, c’est-à-dire créer une nouvelle ligne à partir de deux lignes, chacune issue d’un des jeux de données, si elles ont la même valeur sur le champ date (DATE d’un côté, PERIODE de l’autre). Cette opération, plus communément appelée jointure dans le domaine des bases de données, est également classique dès que l’on souhaite croiser plusieurs jeux de données afin par exemple de compléter des informations à partir d’autres sources. Parfois, les sources de données comportent plusieurs champs, éventuellement nommés de façons différentes, qui peuvent servir de points de liaison.
Ces opérations ne sont pas simples puisque la récupération et la réorganisation des données ne suivent pas une procédure commune, automatisable. Néanmoins, il existe des outils informatiques, appelés ETL (Extract, Transform, Load), à l’image de Pentaho, capables d’extraire les données, issues de sources différentes, à condition d’effectuer un paramétrage assez fin pour élucider les éventuels problèmes d’encodage des valeurs et de disposer des données stockées dans un fichier suivant un format standard comme CSV, XLS, ou stockées dans une base de données connue. Après définition de plans de transformation des données, les ETL peuvent transformer et rassembler les données afin d’alimenter d’autres systèmes informatiques ou de construire de nouveaux fichiers, et ainsi favoriser d’autres usages. Ce problème de transformation et de fusion de données issues de sources différentes est plus communément appelé intégration de données.
Fred utilise un ETL pour regrouper les données des fréquentations et de pluviométrie de façon journalière, puis pour appliquer l’opération de jointure entre deux jeux selon les attributs date et période. L’ETL génère un nouveau tableau donnant la pluviométrie et la fréquentation du public par jour. Il ne lui reste plus qu’à construire une courbe avec ces deux mesures.
Analyser les données
Une fois l’étape technique de l’intégration des données passée, il reste néanmoins une phase plus complexe qui consiste à rendre intelligibles ces données. Plusieurs niveaux de lecture sont possibles, allant de la visualisation, suggérée par exemple dans les contenus éditoriaux des quotidiens ou dans des blogs d’information, jusqu’à l’utilisation d’outils avancés, issus du domaine de recherche appelé « découverte des connaissances ». Parmi ces traitements, on peut citer la recherche de critères statistiques comme des moyennes ou des agrégats (fréquentations annuelles ou mensuelles d’un lieu). Egalement des modèles statistiques représentant au mieux la distribution des données numériques (par exemple l’Analyse en Composantes Principales ou ACP). Ou encore des outils pour rechercher des propriétés communes dans les données étudiées, en utilisant des techniques de clustering et des techniques de recherche de caractéristiques fréquentes dans les données [2,3]. Des logiciels, comme Weka, Knime, R et Orange, implémentent tout ou partie de ces différents traitements. Un niveau intermédiaire de lecture de la donnée est possible pour des utilisateurs initiés grâce à des outils libres (par exemple Google Fusion Tables) permettant de rassembler des données distantes et de les présenter sous la forme de graphiques (histogrammes, diagrammes circulaires, courbes, cartes). Ainsi, avec Google Fusion Tables, Fred réalise un graphique à partir de ses données (il aurait aussi pu faire directement l’étape d’intégration des données avec cet outil) :
Sur l’histogramme précédent, Fred peut enfin croiser, grâce aux données publiques, la fréquentation de la bibliothèque des Champs libres et la météorologie. On voit par exemple sur le graphique précédent qu’il ne pleut pas le 02/01, qu’il y a même un certain ensoleillement, et que la bibliothèque est fréquentée ! Le plus dur reste à faire bien sûr : proposer une hypothèse (« j’ai l’impression que pluie et fréquentation sont indépendantes » ou « il me semble que la pluie augmente la fréquentation de la bibliothèque »), utiliser les outils statistiques appropriés (corrélations…), et analyser les données sur de longues fenêtres de temps pour avoir un résultat significatif. Fred est donc sur la bonne voie.
Pour réaliser son scénario, Fred a exploité ses connaissances en bases de données et a utilisé les logiciels suivants : Pentaho et Google Fusion Tables.
Conclusion
Les « données ouvertes » n’en sont qu’à leurs débuts, et déjà de très nombreuses applications voient le jour pour les exploiter. Ces applications sont programmées par des professionnels et des citoyens passionnés, et les bénéfices potentiels sont nombreux : information de très grande qualité, meilleure gestion des villes pour et par les citoyens, prévisions, etc. À terme se dessinent de véritables espaces d’analyse et d’intégration de données [4], accessibles à tous. Pour l’heure, les données ouvertes ne sont pas encore intelligibles par tous. Deux tendances s’observent actuellement pour pallier ce problème. Le premier mouvement à visée éducative milite pour un apprentissage au plus jeune âge de l’informatique et pour l’intégration, dès le collège, de cours d’informatique. Le second mouvement, à visée plus technologique, s’intéresse à la définition d’environnements simples d’accès, pour mettre en lumière des connaissances à partir des données. Pour arriver à une véritable démocratisation de l’usage et de la production de données ouvertes, il reste des difficultés à surmonter :
- l’hétérogénéité des données : faciliter le franchissement de la barrière des formats pour interconnecter des jeux de données, aider à découvrir des connexions entre jeux de données distincts ;
- l’incertitude sur la qualité des données : d’où proviennent les données, quand ont-elles été produites, que signifient-elles exactement ? La prise en compte de la provenance des données dans les systèmes informatiques n’en est encore qu’à ses débuts ;
- la difficulté d’accès aux outils d’analyse : ces derniers existent mais sont encore très techniques. De plus, les données devenant massives, ces outils doivent être déployés sur de grandes plates-formes de calculs, souvent payantes. En attendant, de nouveaux métiers sont venus combler le besoin d’accès à une donnée analysée [5]. C’est le cas du journalisme de données qui consiste à analyser des données brutes pour identifier des phénomènes intéressants puis à les rendre lisibles, le plus souvent de façon graphique. Cette nouvelle activité s’est fortement développée au sein des rédactions (The Guardian, Le Monde, Rue89). Elle s’est accompagnée de la création de sociétés spécialisées dans le domaine de l’analyse et de la visualisation de données (dataveyes, Data Publica) ;
- les menaces sur la vie privée : s’il est tentant de tout rendre public (ses déplacements, ses achats, ses sorties…), il faut se souvenir que toute donnée publiée ne sera plus effacée mais à jamais disponible (quelque part). Garantir qu’un jeu de données, même anonymisé, ne révèle rien de personnel est une opération très délicate.
The state of open data, Limits of current data platforms, Katrin Braunschweig, Julian Eberius, Maik Thiele and Wolfgang Lehner, in WWW 2012.
[1] Sweeney, Latanya. « k-anonymity: a model for protecting privacy ». Int. J. Uncertain. Fuzziness Knowl.-Based Syst. 10, no 5 (octobre 2002): 557 70. doi:10.1142/S0218488502001648.
[2] Apprentissage Artificiel, concepts et algorithmes, Antoine Cornuéjols et Laurent Miclet, Ed. Eyrolles, 2003
[3] Data Mining: Concepts and Techniques, Second Edition, Jiawei Han and Micheline Kamber, Morgan Kaufmann Publishers
[4] Towards an ecosystem of structured data on the web. Halevy. EDBT 2012
[5] Alon Y. Halevy, Susan McGregor: Data Management for Journalism. IEEE Data Eng. Bull. 35(3): 7-15 (2012)
Newsletter
Le responsable de ce traitement est Inria. En saisissant votre adresse mail, vous consentez à recevoir chaque mois une sélection d'articles et à ce que vos données soient collectées et stockées comme décrit dans notre politique de confidentialité
Niveau de lecture
Aidez-nous à évaluer le niveau de lecture de ce document.
Votre choix a été pris en compte. Merci d'avoir estimé le niveau de ce document !
David Gross-Amblard
Professeur à l'Université de Rennes 1 et membre du département Gestion des données et de la connaissance de l'IRISA.