Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce...

87
@alexiskinsella #DevoxxGTFS INTÉGRER ET EXPLOITER LE FORMAT DE DONNÉES OUVERT GTFS. FAILS ET SUCCÈS, CE QUI MARCHE ET CE QUI NE MARCHE PAS ! @alexiskinsella Xebia, http://blog.xebia.fr Alexis Kinsella

Transcript of Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce...

Page 1: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

INTÉGRER ET EXPLOITER LE FORMAT DE DONNÉES OUVERT GTFS. FAILS ET SUCCÈS, CE QUI MARCHE ET CE QUI NE MARCHE PAS !

@alexiskinsellaXebia, http://blog.xebia.frAlexis Kinsella

Page 2: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Plan

1. Présentation

2. Intégration

3. Exploitation

Page 3: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

Présentation du standard GTFS

Page 4: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Signification

General Transit Feed Specification

Page 5: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Normalisation

Normalisé par en 2005

Page 6: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Définition

Format commun pour les informations d’horaires de transports publics et données géographiques associées.

Page 7: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Objectifs

Les flux de données GTFS permettent:

1. Aux agences de transport public de publier leur données.

2. Aux développeurs d’écrire des applications qui les consomment.

Page 8: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Horaires théoriques

La norme GTFS concerne les données théoriques c’est à dire les horaires planifiés.

Page 9: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Le format GTFS

Un jeu de données est composé d’une série de fichiers textes (au format CSV) rassemblés au sein d’un fichier zip.

Page 10: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Horaires temps réel

Le format de données est basé sur protobuf … Oui, c’est :)

La norme GTFS-realtime complète la norme GTFS.

Elle vient amender les données théoriques par des données temps réel.

Le format de données est basé sur protobuf … Oui, c’est Google :)

Page 11: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Qui ?

Les données GTFS sont fournies par les agences de transport:

Page 12: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Pourquoi ?

Intérêt citoyen

Mouvance Open Data

Volonté politique (Etalab, …)

Page 13: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Licences

Elles sont multiples …

• Open Database License (ODbL) v1.0• SNCF Open Data• …

Et certaines réservent des surprises !

Page 14: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Licences

Droit d’audit

Comme prévu à l’article 15, la Communauté urbaine de Lyon dispose d’un droit d’audit sur le système d’information du Licencié.

« Oups ! »

Page 15: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Disparité de l’accès aux données

Certains jeux de données sont en accès libre …

D’autres sont accessibles après inscription et authentification :/

Pour d’autres, il faut déjà les trouver !

Page 16: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Disparité des jeux de données

Problèmes d’interprétation de la norme

Maturité des jeux de données assez inégale

Données sous forme de zip … Parfois même un zip

dans un zip …

Page 17: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

Un zip dans un zip ?

Page 18: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

Intégration de données GTFS

Page 19: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Facts

Entre 550Mo et 750Mo

Soit entre 11.866.989 et 15.747.594 lignes

Page 20: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Intégration

Mieux vaut être efficace …

Mais comment intégrer toutes ces lignes ?

Page 21: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Le temps de l’innocence

+ =

Page 22: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Le temps de l’innocence

Ok, Google, tu me trouves un script d’import ?

Page 23: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !
Page 24: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Avantages

Facile et rapide à mettre en place !

Fonctionne Out of the Box

Page 25: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Inconvénients

Mais ce n’est pas très rapide tout ça …

Page 26: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Benchmark simpliste …

Date Node.js MongoDBMongoDB

DriverDurée

Juin 2014

0.10.22 2.6.1 1.3.19 22m41s

Page 27: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Inconvénients

Ah Oui, Node.js fonctionne sur 1 core …

Dommage ma machine en a 8 !Ah ! Et mongo n’utilise qu’1 seul core pour

écrire !

Page 28: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Benchmark simpliste …

Au fait, ça donne quoi sur un serveur ?

Page 29: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Serveur rack 6U ?

Page 30: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Ou plutôt un Raspberry PI ?

Page 31: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Benchmark, la suite …

Sur un VPS 3 Cores, 4Go OVH

Page 32: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Benchmark, la suite …

Environs 55 minutes

Page 33: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Benchmark, la suite …

Malheureusement, ce n’est pas viable :/

Page 34: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Benchmark, la suite …

Alors, peut-on faire mieux ?

Page 35: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Benchmark, la suite

Clusteriser l’import et répartir le travail d’insertion ?

Page 36: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Benchmark, la suite

Pourquoi pas, mais pas forcement trivial :/

On utilise bien tous les cores mais l’amélioration de performance n’est pas

vraiment au rendez-vous …

ou

Page 37: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

Premature optimization

is the root of all evil

Page 38: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Résultat

Beaucoup de temps perdu …

N’y a-t-il pas plus simple ?

Page 39: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Benchmark, la suite

Finalement,le vrai point de contention est l’écriture en base de

données

MongoDB occupe le core d’écriture à 100%

Page 40: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Alternative …

Alors quelle solution ?

Page 41: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Alternative …

Sharder MongoDB ?

Pas une solution si on a qu’un seul serveur à disposition …

Page 42: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !
Page 43: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Alternative …

Réfléchissons à nouveau !

Page 44: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Alternative …

Relationnel, comme les bases de données SQL ?

GTFS -> Export de données relationnelles …

Page 45: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Une alternative à MongoDB …

Page 46: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Des atouts …

• Base de données relationnelle

• Insertion multi cores

• Support géo-spatial fortement amélioré

avec InnoDB en 5.7

• Très bonnes performances

Page 47: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Des défauts …

• Version 5.7 en Beta

• Support géo-spatial incomplet …

• Création coûteuse des index

Page 48: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Contourner les défauts

• Créer les index en fin de traitement

• Un schéma par dataset GTFS

• Utiliser la fonctionnalité: LOAD DATA

INFILE !

Page 49: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Une alternative à Node.js …

Remplacer Node.js par Golang

Page 50: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Des avantages …

• Ultra performant

• Gestion de la concurrence efficace

Page 51: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Des inconvénients …

• Un IDE plutôt spartiate

• Un driver MySQL encore jeune

Page 52: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Le résultat ?

Temps de traitement:

9m10s en local20m15s sur serveur

Index & structures de données complémentaires compris …

Page 53: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

Exploitation de données GTFS

Page 54: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Exploiter les données

Pour en faire quoi ?

Page 55: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Objectif

Trouver les stations les plus proches d’un point géographique

et afficher les prochains horaires de passage

Page 56: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !
Page 57: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Problème

Chercher toutes les informations en base est très

coûteux.

Page 58: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Problème

Entre 3 secondes et 6 secondes pour une zone

dense dans Paris avec un rayon de 1000 mètres

Page 59: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Optimisations

Optimiser l’accès aux données ?

Oui, mais comment ?

Page 60: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Optimisations MySQL

Avec InnoDB, 2 paramètres influent

essentiellement les performances:

• innodb_buffer_pool_size = 6442450944

• max_connections = 512

Page 61: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Optimisations MySQL

• Travailler la performance des requêtes

• Utiliser des structures de données spécialisées

• Dénormaliser

• Mais surtout …

Page 62: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

MySQL - Types des données

Réécrire les fichiers de données GTFS pour changer les

clés « varchar » ou « char » en clés de type « int »

Page 63: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Une solution complémentaire ?

Utiliser un cache ?

Page 64: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Pour quelles données ?

Page 65: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

La solution ?

Mise en place de Redis en tant que cache mémoire

Page 66: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Problème

Le serveur utilisé dispose de resources mémoire

limitées

Page 67: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Solution

LevelDB & dérivés

Page 68: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Solution

SSDB est une base de données en mode client /

serveur compatible avec le protocole Redis !

Replicable & load balançable

Avec un jeux d’instructions compatibles !

Page 69: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

SSDB - Performance

Page 70: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Le code

Et le code source alors ?

Page 71: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Node.js & Express

L’API a été codée initialement avec Node.js & Express

Particulièrement intéressant

pour la construction d’API avec Express …

Page 72: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Node.js - Inconvénients

Néanmoins, Node.js n’aime pas les traitements coûteux en

mémoire et CPU …

Par ailleurs, les différents drivers MySQL apparaissent peu

performants

Page 73: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Node.js

Après diverses optimisations, les temps de traitement

varient toujours fortement.

Entre 780 ms et 1450 ms, ils restent long et coûteux

Page 74: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Node.js

Les solutions …

Page 75: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Node.js

Recoder l’API avec Golang !

Page 76: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Résultat

Temps de traitement réduits et plus réguliers

entre 550 ms et 770 ms

Page 77: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Golang - Avantages

Driver MySQL performant

Langage très performant pour la manipulation de

données

Page 78: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Golang - Inconvénients

Dans un style très impératif,

il est peu adapté à la manipulation de données

Page 79: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@YourTwitterHandle@YourTwitterHandle@alexiskinsella#DevoxxGTFS

Q & A

Page 80: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

Pour aller plus loin

Page 81: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Performances & Structures des données

Améliorer les structures de données

exploitées.

Par exemple: Utiliser une taille fixe des structures de données en

base, pour cela il faut calculer la taille nécessaire à la création des

tables

Page 82: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Performances & Structures des données

Supprimer les données inutiles ou en doublon

Page 83: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Base de données

Explorer les capacités de PostgreSQL vs

MySQL

Performance, PostGIS, …

Page 84: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Fouiller le web

Le web regorge de resources sur le sujet …

GitHub en particulier !

Page 85: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Quelques sources de données …

• Data.gouv.fr: https://www.data.gouv.fr/fr/search/?q=gtfs

• GTFS Data Exchange :

http://www.gtfs-data-exchange.com/agencies

• Navitia.io : http://navitia.io/datasets

• The Transit App: http://thetransitapp.com/wishlist

Page 86: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Xebia France

http://blog.xebia.fr/

Page 87: Devoxx france 2015 - Intégrer et exploiter le format de données ouvert GTFS. Fails et succès, ce qui marche et ce qui ne marche pas !

@alexiskinsella#DevoxxGTFS

Resources

• Open data stickers: http://upload.wikimedia.org/wikipedia/commons/c/cc/Open_Data_stickers.jpg

• Images de la série South Park, des films Inception & Austin Powers

• http://en.wikipedia.org/wiki/Rage_comic• http://www.iconarchive.com/show/flat-file-type-icons-

by-pelfusion/zip-icon.html• Benchmark du site ssdb.io• Quelques sources inconnues, désolé …