Capitaine Train libère les gares

par Tristram Gräbener, le 23 avril 2015 | 10 commentaires

Photo de flickr/sixteen-miles CC BY-SA

Gare de Liège Guillemins — Photo de sixteen-miles CC BY-SA

En 2009, Sir Tim Berners-Lee lance un appel : Raw data, now. La même année, Capitaine Train est fondé. Ce n’est peut-être qu’une coïncidence, mais nous partageons ces valeurs. Nous pensons que les institutions et les entreprises sont gagnantes si elles s’ouvrent et partagent leurs ressources.

En décidant d’ouvrir l’accès à ses serveurs de réservation, la SNCF a facilité la vente de billets de train par des tiers (dont Capitaine Train). En autorisant d’autres revendeurs à distribuer ses billets, la SNCF donne du choix. Elle enlève ainsi un obstacle à l’achat, qui peut du coup faire revenir les voyageurs vers le train, et lui permettre de vendre davantage de billets. Cercle vertueux donc.

Lorsque la Deutsche Bahn, Trenitalia, italo et les autres transporteurs s’ouvrent à nous, c’est l’Europe qui s’unifie. Acheter son billet de train à travers l’Europe devient alors une évidence.

Depuis nos humbles débuts, nous mettons à profit l’ouverture du rail européen pour faciliter la vie des voyageurs. Nous souhaitons aujourd’hui renvoyer l’ascenseur, en publiant une partie des nombreuses données que nous avons compilées avec le temps, parfois dans la douleur.

Notre base de données des gares

Nous sommes au centre des opérateurs ferroviaires européens. Il va sans dire que ces opérateurs ont tous des offres qui leurs sont propres, des langues qui leurs sont propres, et des données qui sont leurs propres. Pour réussir à combiner toutes ces offres, nous avons dû faire un effort d’harmonisation. Il nous a fallu recenser un nombre fabuleux de gares, pour permettre à notre application de les identifier dans toutes les langues et dans tous les systèmes de réservation.

Ce travail d’unification ne se limite pas à un simple rangement de données préalablement éparpillées. Il ressemble en de nombreux points à celui du restaurateur d’œuvres d’art oubliées. Pièce par pièce, nous avons donc retapé, réparé, nettoyé, dépoussiéré, ajusté et redressé des données parfois abimées. Ici, ce fut le nom d’un gare qui devait être rafistolé. Là, nous avons dû retrouver les bonnes coordonnées géographiques d’une autre gare, quand nous ne devions pas aussi séparer tous les homonymes les uns des autres. Tout un programme en somme.

Hélas, la publication de ces données améliorées et soignées n’est jamais arrivée. Nous avons rapidement trouvé des excuses pour justifier notre refus de publier :

  • Trop de travail (rejoignez-nous !) ;
  • Nos données ne sont pas de la qualité attendue chez Capitaine Train ;
  • Sous quelle licence sont les données utilisées ?
  • Comment les publier ?

Et puis finalement, zut ! Des données brutes, maintenant. Mais quand même pas tout de suite tout de suite. Car nous n’étions pas encore tout-à-fait en règle. Dans la mesure où nous avons utilisé des données de OpenStreetMap ou encore de l’open data de la SNCF. Or les licences qui se rapportent à ces jeux de données (ODbL ou assimilée) nous imposent de publier la base de données créée à partir de ces données. La nécessité de publier est donc venue de l’extérieur, mais elle est arrivée.

Du coup, la donnée, la veux-tu ? La voilà : https://github.com/captaintrain/stations

S’ouvrir en grand

Nous en avons profité pour faire une belle page avec tous nos projets ouverts.

J’anticipe déjà l’avalanche de commentaires, demandant plus de données, plus de code, des API… Nous avons de nombreux partenaires, des contraintes techniques, des contraintes juridiques et la réponse se réduira probablement à un énigmatique « nous y réfléchissons ».

Nous allons cependant continuer à publier d’autres éléments — non pas pour proposer le hackathon de trop — mais par envie de partager notre travail et notre amour de la donnée bien structurée.


10 commentaires

Bravo et merci !
Vous comptez publier la donnée sur data.gouv.fr ?
Vincent

par Vincent, le 23 avril 2015 à 11h40. Répondre #

Comptez vous aussi mettre en ligne vos process de création de la base, pour permettre les mises à jour ?

par Vincent, le 23 avril 2015 à 11h41. Répondre #

Pour être tout à fait honnête, on n’a pas de process solide.
Ça dépend du format dans lequel on reçoit les données d’un transporteur (script adhoc), ça peut être une correction manuelle suite à la remontée d’un client ou l’annonce de la ré-ouverture d’une ligne.
Parfois on fait des moulinettes spécifiques pour corriger un problème étalé sur plusieurs gares.

Concrètement, on n’a pas d’autre code qui est versionné en interne pour gérer cette base. C’est toujours du one-shot

par Tristram, le 23 avril 2015 à 11h49. Répondre #

C’est ce que j’imaginais mais on sait jamais 😉

Du coup si ce n’est pas automatisable, pour avoir une donnée à jour régulièrement, il faudrait carrément une plateforme d’édition collaborative et diffusion dynamique.
J’imagine que ça dépasse vos priorités d’investissement actuelles, mais ça pourrait être un sujet intéressant à travailler avec RFF, l’UIC ou data.gouv.fr … Pas hésiter à nous contacter si ça vous intéresse.

PS : rien à voir mais vous avez jeté un oeil sur tempus pour le CI ?

par Vincent, le 23 avril 2015 à 15h28. Répondre #

Excellent ! Merci Capitaine Train !

par Michaël, le 23 avril 2015 à 11h49. Répondre #

Bravo CapitaineTrain!

Si l’on couple ces adresses de stations avec les événements d’OpenAgenda, il devient possible de générer un agenda automatique avec les événements à proximité de chaque gare.

http://public.opendatasoft.com/explore/dataset/evenements-publics-cibul/?tab=map

Et bien devinez quoi!
« Nous y réfléchissons. »

par Romain Lange, le 23 avril 2015 à 19h40. Répondre #

Web de données o/

par X3N, le 24 avril 2015 à 9h10. Répondre #

Bonjour,

Quelles sont les petites améliorations apportées à Gitlab CE ? Et sont t-elles en voie d’être intégrées dans Gitlab CE ?

Cordialement,

par NosCandidats, le 24 avril 2015 à 10h55. Répondre #

Alors, la plupart de nos améliorations tournent autour des notifications par email. On a pas mal retravaillé les en-têtes et le contenu de ces emails, pour avoir le plus d’infos possible, présentées d’une manière plus lisible.

La plupart de ces changements ont été intégrés dans GitLab CE (liste incomplète pour donner une idée : http://bit.ly/1zTH7OT).

D’une manière générale on essaye toujours d’apporter des changement suffisamment bien écrits pour qu’ils puissent être intégrés dans le projet principal. Le reste, ce sont surtout de petites modifications spécifiques à notre installation.

par Pierre, le 24 avril 2015 à 11h17. Répondre #

Merci pour les datas 🙂
Du coup j’ai pu faire une carte pour voir quelle était la gare la plus près du mariage d’un pote :
http://pas-bien.net/divers/train-stations-map/

par mini, le 8 mai 2015 à 23h24. Répondre #

Ajoutez votre commentaire

Requis

Requis (caché)

Facebook

Twitter