DataFair : Enrichissez et publiez facilement vos données pour les utiliser dans des applications dédiées.

Mis à jour le 30/01/2018 par Nicolas Bonnel

Lorsque l'on possède des données sous forme de fichiers, il n'est pas forcément facile de naviguer dedans, ou de les réutiliser hors de l'application qui les a produites. DataFair permet de mêler facilement ses propres données à des données de référence opendata, pour pouvoir ensuite les utiliser dans des applications les mettant en valeur.

Le projet, opensource, est maintenant installable et suffisamment mature pour que nous puissions le présenter dans cet article de blog. Il est également possible de tester le service en ligne en vous inscrivant sur notre site.

DataFair

Le nom du projet DataFair est basé sur un acronyme et un jeu de mots : en français, data-fair peut être traduit comme "foire aux données" (d'où l'illustration du bandeau), et l'acronyme FAIR veut dire : Faciles à trouver, Accessible, Intéroperable et Réutilisable. Quand les données sont interopérables, il est facile de les enrichir ou de faire des traitements dessus. Quand elles sont en plus accessibles et réutilisables, on peut construire des applications qui les consomment.

DataFair permet d'utiliser ses propres données dans des applications dédiées au métier qu'elles représentent. Mais vous gardez le contrôle sur vos données : ce n'est pas à vous de les pousser vers l'application, c'est elle qui les tire. Si vous possédez des données sensibles que vous ne voulez pas voir dans le cloud, vous pouvez les exposer vous même en installant le service, et ainsi bénéficier du confort du SaaS pour les mises à jour d'applications, tout en gardant la maîtrise de vos données.

DataFair est au centre de 3 concepts : les jeux de données et les services distants en entrée, et les applications en sortie.

Jeux de données

Les jeux de données sont des fichiers (tabulaires pour le moment) chargés par les utilisateurs pour leur compte ou le compte d'une organisation à laquelle ils appartiennent. Ces fichiers sont indexés et exposés par le service sous forme d'API, ce qui les rend Faciles à trouver et Accessibles. L'utilisateur peut ensuite compléter les métadonnées et les rendre plus précises, en donnant plus de sens aux différentes colonnes grâce à un vocabulaire sémantique. Cela permet de rendre ces données plus Interopérables et plus Réutilisables. Par exemple, en indiquant qu'une colonne est un code commune, on peut projeter la donnée sur une carte des divisions administratives.

A partir du moment où les données sont exposées, il est vital de bien pouvoir en contrôler les accès. DataFair permet de définir des permissions à différents niveaux (utilisateur, organisation, public) sur différentes opérations possibles avec les jeux de données. On peut par exemple rendre les métadonnées accessibles à tout le monde, pour communiquer largement, et rendre les données accessible uniquement à certains partenaires privilégiés. Grâce à ce système de permissions, DataFair permet donc de faire aussi bien du private-data que de l'opendata.

Services distants

Les services distants sont des briques métier externalisées et accessibles par des programmes, c'est à dire qu'ils sont exposés sous forme d'API. Plus précisément, pour être utilisable par DataFair, ils doivent avoir une description formelle (spécification Open API 3.0) et être annotés sémantiquement, ce qui permet au programme de comprendre leur valeur métier. Par exemple un service qui fournit un point d'accès avec une action de type recherche et une entrée de type numéro SIREN va pouvoir être utilisé pour faire de l'enrichissement de données sur les entreprises.

Ces services distants peuvent être publics et gratuits, ou au contraire privés et payants. DataFair permet de rentrer des codes d'accès à ces services dans une zone utilisateur, puis de contrôler qui va pouvoir utiliser cette nouvelle re-exposition du service. Les contrôles d'accès se font de la même manière que pour les jeux de données. Cela permet par exemple de prendre un abonnement à un service et d'en faire profiter ses propre clients. Les services distants peuvent être utilisés directement par les application ou pour compléter les informations des jeux de données. Un service de géocodage (transformation d'une adresse en coordonnées GPS) peut par exemple être utilisé pour faire de l'enrichissement d'un fichier d'adresses de contact, ou permettre à une application de faire une recherche sur une carte par adresse.

L'objectif de Koumoul est de rendre compatibles tous nos services de données avec DataFair et d'illustrer plusieurs combinaisons possibles entre ces services et des jeux de données exemples.

Applications

La sémantisation des données permet de les réutiliser dans des applications spécifiques, plutôt que dans des visualisations génériques. Il est facile de concevoir une application générique qui affiche des données géolocalisées sur une carte, mais c'est plus compliqué d'afficher des données qui contiennent uniquement un code d'une entité localisée : comment par exemple afficher des données d'une parcelle cadastrale ou d'une commune ?

Grâce aux données de références accessibles sous forme de service, on peut concevoir une application qui connaît le type de données code parcelle cadastrale et qui affiche les information de parcelles directement sur la carte. Grâce à la sémantisation du jeu de données dans DataFair l'application est en mesure de faire la jointure avec les données de référence. Un tel exemple d'application est accessible ici.

Et après ?

La feuille de route est assez claire, et le périmètre fonctionnel ne devrait plus trop évoluer. Il est prévu, dans l'ordre :

  • Fonctionnalité d'enrichissement des jeux de données (très prochainement).
  • Internationalisation (anglais dans un premier temps).
  • Interopérabilité avec d'autres services opensource comme uData ou OpenRefine.

Le reste de nos efforts se portera sur la création de nouvelles applications, et l'amélioration des services distants que nous proposons.