Commentaires (31)

Par définition, les données ouvertes doivent être sous le format le plus brut possible, le moins traitée possible. On penserait donc au format natif dans lequel elles sont récoltées, sinon au Raw Data Format qui est une pratique généralisée pour l'Open Data.
Selon le mécanisme de mise à disposition des données: téléchargement ponctuel du dataset, query sur les datasets actualisés en permanence, API, ces formats peuvent aussi varier.

Stéphane
Stéphane

Stéphane

translation missing: fr.activerecord.attributes.user.level
1
Score
16
Custom field 1
Ingénieur logiciel
Custom field 2
Android

Comme je l'avais signalé, deux formats sont à définir:

  • Données statiques: Télécharger un fichier contenant les données. Le fichiers peut être un fichier XML ou tout autre format exploitable/
  • Données dynamiques: Une API bien réalisée fournissant un accès aux données. Le format des échanges peut être Thrift, Json ou tout autre.
  • La création de l'API sera un point majeur dans lequel il faudra absolument intégrer les développeurs.

Mourad
Mourad

Mourad

translation missing: fr.activerecord.attributes.user.level
0
Score
0
Custom field 1
Ingénieur d'études et développement
Custom field 2
Java / JEE

Pourquoi ne pas rester sur un seul format de données pour les deux types données (statique et dynamique) ?

La création d'une API est un élément crucial lorsqu'on cherche à ouvrir son service aux développeurs.
L'implication des développeurs est essentielle car ce sont eux, avec leurs idées auxquelles l'entreprise fournissant ses APIs n'avait pas pensé, qui mènent les évolutions du produit API.
Lier une relation de confiance avec la communauté de développeur est un élément essentiel à la réussite d'un tel projet.

Mourad
Mourad

Mourad

translation missing: fr.activerecord.attributes.user.level
0
Score
0
Custom field 1
Ingénieur d'études et développement
Custom field 2
Java / JEE

Je pense que le format XML est un bon format à envisager. Même si il est plus "lourd" que le Json par exemple, il n'e reste pas moins un standard exploitable par n'importe quel communoté de développeurs (Java/.Net/C/ObjectiveC/Python etc)

L'un des services que pourrais fournir cette API serait aussi d'offrir des mécanismes de rendering au choix, dans des formats exploitable par le grand public. Exemple: http://api.sncf.com/gares/Stationnements/idf pourrait retourner un flux XML des stationnements régies par la SNCF en Ile de france
http://api.sncf.com/gares/Stationnements/idf/csv le même flux en fichier csv etc...

Il faut différencier deux types de données, les données statiques d'une part dont la mise à jour est faite périodiquement mais avec une périodicité potentiellement longue, de quelques heures à quelques jours/semaines/mois, et les données dynamiques qui évoluent en temps réel.

Pour les premières, peu importe le format dès lors que celui-ci est documenté. J'ai pour ma part tendance à écarter le XML qui est verbeux, mais c'est un choix personnel.

Pour les données dynamiques, avant d'envisager un mode de distribution il faut clairement identifier les données, en effet selon le volume de celles-ci et la fréquence de mise à jour, la mise à disposition pourra aller d'une URL toute bête renvoyant les dernières valeurs à une API plus élaborée, mais ne pas mettre la charrue avant les bœufs.

Je partage les différents avis concernant le format :

  • Données de référence en "raw data" : .CSV et peut être tout de même XML (+ facile à requêter/filtrer)
  • Données opérationnelles accessibles unitairement via une API : XML et Json

Une question complémentaire se pose : pour des données de type "évènement" (ex: un retard sur un train) un mécanisme de push serait plus approprié : avez-vous des idées sur une implémentation envisageable ? Par exemple, une API REST qui renvoie les x derniers messages pourrait-elle convenir selon vous ?

Je ne suis pas un grand fan de l'API REST, malgré ses qualités propres. A l'heure actuelle, je me base sur du CSV et du RDF. Le SPARQL permet d'interroger directement les données (je pense aux données dynamiques). En aucun, je suis pour l'utilisation des fichiers, techniquement on peut très bien s'en passer quelque soit les données. Pour les développeurs, un SPARQL-Endpoint permet à chacun d'utiliser son format de prédilection.

Je ne connaissais pas le SPARQL...intéressant.
En revanche, quand on voit ce qui existe (en France), on retrouve surtout des API REST avec des réponses XML et JSON, ainsi que (beaucoup) de fichiers aux différents formats.
Le dernier exemple en date est le portail open data de Nantes (data.nantes.fr).
J'ai quand même l'impression que ces formats sont en train de devenir des standards de fait...

La France n'est pas encore un exemple dans ce domaine. Pour moi, c'est une erreur la multiplication des fichiers, même en qualité de développeur, même si je peux faire les extractions nécessaires. En fait, ce que je propose c'est que la technique soit totalement transparente pour l'utilisateur final de l'application. L'API REST donne une URL complexe et visible, même si techniquement nous pouvons faire une réécriture d'URL. J'ai simplement donné des formats de base reconnus dans l'écosystème opendata en cours. A ma connaissance la SNCF sera la première entreprise et donc se doit de proposer une approche innovante par rapport aux pratiques en cours.

Mourad
Mourad

Mourad

translation missing: fr.activerecord.attributes.user.level
0
Score
0
Custom field 1
Ingénieur d'études et développement
Custom field 2
Java / JEE

Concernant la multiplication des fichiers en fait ça dépend des usages. D'ailleurs il faut prendre en compte les usages potentiels des données ainsi que le profil des utilisateurs qui vont les importer/utiliser. Je suis d'accord avec toi Vincent sur le fait qu'un développeur préfère avoir affaire à une API, plutôt que de traiter un fichiers et en faire une extraction nécessaire. Sauf que le public visé par un projet Open Data est large, et pour une grande partie d'entre eux une API est quelque chose d'abstrait, de compliqué, etc...

J'ai parlé hier avec une amie qui fait de la recherche dans le domaine de l'analyse spatiale, cartographie des risque, sciences du sol etc. Elle utilise beaucoup des données de géolocalisation, issue de l'Open data, qu'elle importe et traite. Pour elle, il est important que les données de géolocalisation soient disponibles avec un large choix, parmi les formats les plus utilisés (qui de facto deviennent des standards comme la dit VincentD)

Voici en gros son retour d'expérience (Et du coups l’approche de data.nantes.fr me paraît très logique)

"(...) Pour les données de géolocalisation:

  • Je préfèrerai un CSV. Pas de XLS de toutes les manières CSV tout le monde peut le lire et on peut l'importer dans tt les logiciels de traitement si besoin est.
  • SHP ou DWG formats propriétaires n'arrangent que ceux qui ont payé pour la suite ESRI ou Autocad. Or certaines organisation on fait ce choix là et sont plus interessé par ces formats de données. SHP est utilisé pour les données vecteurs (ex: Carte d'occupation du sol en France)
  • KML ça peut être intéressant si c'est un layer a afficher sur google earth, google maps ou Bing map.
  • ECW et MrSID formats très compressés utilisés pour les images matricielles géoréférencées. ils peuvent être importés un peu partout comme Adobe Photoshop, ArcGis, Autocad, etc...
  • Il est rare de voir des données de géoloc en Web feed. Ça concerne plus les données de géolocalisation actualisés c'est des données que tu importes directement dans ton logiciel favori style esri ou grass (si tu es open source ) ou pour suivre le parcours d'un bus par exemple et encore généralement elles sont obtenue aussi par des API. Ça c'est plus un truc pour vous "développeurs" :) Nous on n'utilise pas ça (...)"

Donc voilà , ça reste un point de vu issue d'un domaine bien spécifique. Néanmoins, l'approche de data.nantes.fr permet de répondre à des besoins différents et de couvrir un champs plus large où le développeur, le partenaire commercial, la SS2I, les ONG et les chercheurs, trouverons leur bonheur :)

Tout ça pour dire, que multiplier les fichiers n'est pas forcement une erreur Vincent, mais plutôt un avantage si on prend la chose d'un angle différent.

Mourad,

Désolé de te répondre tardivement. Une API n'est pas nécessaire, un format ouvert avec SPARQL permet de s'en passer, en tant que développeur je travaille là-dessus. Je ne connais pas les formats ouverts pour les applications de géolocalisation, mais je suis d'accord sur le fait qu'il faut pouvoir donner cette possibilité. En dehors de ce domaine très particulier, les formats CSV et RDF me semble suffisant. A la limite, il faut pouvoir offrir une solution où la question du format ne se pose plus quelque soit l'utilisateur des données opendata. C'est génial de bosser là-dessus. A titre perso, c'est cela que je recherche.

Mathias Herberts
Mathias Herberts

Mathias Herberts

translation missing: fr.activerecord.attributes.user.level
0
Score
0
Custom field 1
Custom field 2

Il existe tout un tas de bibliothèques permettant de lire les shapefiles (.SHP), nul besoin d'avoir une licence ESRI.

Je prône une approche itérative, déterminons les données, mettez les à disposition simplement sous forme de fichiers dans un premier temps (même pour des données qui à terme seront temps réel), observons ce qu'il en est fait et itérons.

Un peu d'agilité que diable !

Mathias, c'est pour cela que le format CSV est quasi un standard à ce niveau et que je l'inclu toujours dans ma démarche. Le grand avantage de ce format, c'est que l'on a réellement les données brutes et donc pour faire une application sur-mesure, c'est très pratique. En plus pour récupérer les données c'est très simple et léger.

Sur la question de la publication des "raw data" au format CSV : je vois bien l'usage pour une plateforme tierce de récupérer cet ensemble de données, et le croiser (par exemple sur une map) pour une visualisation. En revanche, il me semble tout de même nécessaire qu'un projet open data puisse publier des données plus unitaires pour une utilisation "directe" dans un mahsup client (en situation de mobilité notamment).

Vincent, tu as tout à fait raison. C'est pour cela que j'utilise indifféremment CSV et RDF comme format de données. Il faut pouvoir proposer les deux.

Thomas VAILLIER
Thomas VAILLIER

Thomas VAILLIER

translation missing: fr.activerecord.attributes.user.level
0
Score
0
Custom field 1
Custom field 2

Une bonne idée serait d'exposer les données sous la forme de flux OData (http://www.odata.org). C'est agnostique en terme de clients possibles et permet d'exposer ce qu'on veut, comme on veut.

Pierre

Pierre

translation missing: fr.activerecord.attributes.user.level
1
Score
26
Custom field 1
Directeur Marketing
Custom field 2
Logiciels moteur de recherche et traitement de données

Je rejoins Ferdinand : Il faut absolument publier des données non seulement ouvertes mais pleinement réutilisables : à cet égard, on ne saurait se contenter de proposer de sous forme d'une collection, aussi riche soit-elle, de fichiers XLS, PDF ou même CSV qui vont nécessiter beaucoup de travail pour que les données qu'ils renferment soient vraiment exploitées.


Le W3C a défini des standards pour l'accès aux données brutes, via l'approche du "web sémantique" ou "web des données" qui seul permet une réutilisation généralisée des données, par la mise en réseau massive des silos de données ouvertes où qu'ils se trouvent sur le web. 
Ces standards s'appellent XML, RDF, OWL et SPARQL, ils sont désormais matures et de nombreux outils existent pour les mettre en œuvre.

C'est notamment le cas de ceux proposés par Antidot - chez qui je travaille - et déjà utilisés par des clients comme le CNRS, EDF R&D ou encore LexisNexis (*) : les solutions Antidot Information Factory et Antidot Finder Suite permettent, de manière industrielle, de mailler très largement des données de provenance et de nature très diverses, de les exploiter et de les valoriser.

Pour ceux qui ne connaîtraient pas et souhaiteraient découvrir l'approche ouverte du "web des données" je conseille ce blog dont l'approche est très pédagogique : http://www.lespetitescases.net/petite-histoire-du-web-sem.... 


Vous pouvez aussi consulter les différentes présentations d'Antidot sur Slideshare : http://www.slideshare.net/antidotNet


Je me permets d'insister : la donnée brute en RDF, publiée dans le nuage du LOD - voir http://punktokomo.abes.fr/2011/09/21/lactu-du-web-de-donn... pour mesurer la croissance fantastique du LOD cloud - est la seule vraie façon pérenne de permettre une réexploitation massive des données.

Espérer que des APIs associées à chaque jeu de données vont être vraiment utiles est illusoire, et pour une raison très simple : si pour bâtir une appli exploitant 13 jeux de données différents il faut se coltiner 13 APIs de fournisseurs différents, alors le résultat du développement sera un monstre totalement impossible à maintenir et à faire évoluer dans le temps, et donc au final inutile.

(*) Le rapprochement et la normalisation de données issues de silos différents pour ensuite construire un graphe RDF "propre" permettant des requêtes SPARQL d'une puissance inimaginables, cela peut se faire industriellement, notamment avec notre outil Antidot Information Factory. Lire ce doc de 4 pages pour comprendre ce que fait cette solution : http://bit.ly/doc-AIF

Pour information, Antidot a permis au CNRS de le faire sur 1,5 millions de documents scientifiques avec pléthore de méta-données, avec lesquelles on a construit un triple store renfermant environ 40 millions de triplets. Voir ce doc de 4 pages pour tout comprendre : http://bit.ly/CasClientISIDORE
Le résultat utilisable par tous c'est http://rechercheisidore.fr

Depuis, on a aussi fait la même chose sur 4 millions de documents juridiques chez LexisNexis France, pour le nouveau portail d'information destiné à leurs clients. Le triple store généré sur les métadonnées de ces documents (textes de lois, décrets, jugements, avis de cours d'appel etc etc) contient environ 90 millions de triplets...

Bref aujourd'hui RDF et SPARQL cela marche, reste à imaginer ce que l'on veut en faire :-)

Topinambeur
Topinambeur

Topinambeur

translation missing: fr.activerecord.attributes.user.level
0
Score
0
Custom field 1
Custom field 2

@vincent ODATA n'est pas un format ouvert. En effet, comme le rappelle la commission européenne pour être un format ouvert il faut que la gestion du format et de ses évolutions soit réalisé par une organisation à but non lucratif dont la gouvernance est ouverte. Ce n'est pas le cas pour les initiateurs de l'ODATA.

De plus, l'ODATA est contrairement à ce que vous dite pas très agnostique en terme de technologie.

RDF et SPARQL sont de vrais formats ouverts, ils sont des déjà bien utilisés et existent depuis plus longtemps que l'ODATA.

Pourquoi donc vouloir réinventer la roue ?

Julien
Julien

Julien

translation missing: fr.activerecord.attributes.user.level
0
Score
0
Custom field 1
Custom field 2

Bonjour,

Une initiative a déjà été prise par le CETE en collaboration avec le LIRMM pour la publication des données de transport sur le Web de données en RDF.

Vous pourrez trouver plus d'information sur cette étude sur ce site :

http://www.cete-mediterranee.fr/tt13/www/article.php3?id_...

A propos de SNCF Open Data - CGU - Contactez-nous - Mode d'emploi - Mentions légales - Imagine Cup 2012 © 2012