Dans la cadre de la mise à disposition des données horaire de la SNCF (liée à la loi Macron sur l'ouverture des données #opendata), intervention pendant le meetup opentransport #6 https://air.mozilla.org/meetup-opentransport-6
La présentation permet d'expliquer les process de récupération et les méthodes de mise à disposition des différentes données transport (théorique, adaptée et temps réel) à travers Navitia pour l'API SNCF
3. « Je planifie
mon voyage théorique »
UN BESOIN CENTRAL : LE TEMPS RÉEL
« Je réalise mon voyage sans
encombres »
• VS •
Un voyage sans perturbation reste possible
Mais on veut toujours vérifier…
API + TEMPS RÉEL = <3 ?
4. Besoin de bousculer tout ou partie de l’offre
PAS SI VITE !
VOUS AVEZ DIT TEMPS RÉEL ?
Besoin d’adapter un « mobile »
Tempête de neige de la veille Travaux de maintenance
Avance / Retard Panne de matériel
API + TEMPS RÉEL = <3 ?
5. API NAVITIA
Plan de transport
théorique
CE QUE L’ON PLANIFIE
Plan de transport
partiellement
redéfini
CE QUE L’ON PRÉVOIT
Modifications en
temps réel du
parcours d’un train
CE QUE L’ON CONSTATE
MISE À JOUR
TOUTES LES NUITS
MISE À JOUR
DANS LA JOURNÉE
PLUSIEURS FOIS
MISE À JOUR
PLUSIEURS FOIS
PAR SECONDES
API + TEMPS RÉEL = <3 ?
7. (Presque trop facile sauf que)
Plus il y a de perturbations
Plus il y a de consultations
Ce qui signifie…
OK. ON COMPREND LES FLUX.
IL NE RESTE PLUS QU’À LES INTÉGRER
API + TEMPS RÉEL = <3 ?
8. API NAVITIA
API + TEMPS RÉEL = <3 ?
RÉ-UTILISATEURS DE L’API
ALIMENTATION
HORAIRES
RÉCONCILIATION
DONNÉES
THÉORIQUES
DONNÉES
REDÉFINIES
Moteur de calcul
9. API NAVITIA
API + TEMPS RÉEL = <3 ?
RÉ-UTILISATEURS DE L’API
ALIMENTATION
HORAIRES
FLUX FIL DE L’EAU
Moteur de calcul
STOCKAGEQUEUING INTERPRÉTATION
10. API NAVITIA
API + TEMPS RÉEL = <3 ?
RÉ-UTILISATEURS DE L’API
ALIMENTATION
HORAIRES
RÉCONCILIATION
DONNÉES
THÉORIQUES
DONNÉES
REDÉFINIES
FLUX FIL DE L’EAU
Moteur de calcul
STOCKAGEINTERPRÉTATIONQUEUING
11. « Cache intelligent »
L’INTÉRÊT ?
API + TEMPS RÉEL = <3 ?
•
Désynchronisation
entre les flux et la consultation
•
Performance
•
Simplicité d’intégration dans les média
12. Navitia sait supprimer un train en temps réel
sur api.sncf.com
ET MAINTENANT ?
Navitia saura rapidement proposer des itinéraires
tirant parti de l’avance / retard
Navitia présentera ensuite plus d’information
(des messages, la valeur des retards)
et ce, sur tous les services
Navitia saura proposer des itinéraires qui intégrent
des détournements
API + TEMPS RÉEL = <3 ?
13. APIs + temps réel = ?
Merci.
#kinou
Tant que ça marche…
#XL
Rabbitmq, zmq, flask, BOOST, gcc,
pypy, C++11, généricité, Hateoas…
ok, mais j’veux pas faire de front
#stifoon
Tu vois, le monde se divise en deux catégories:
ceux qui font rouler des trains et ceux qui
présentent des tranches.
Dans Navitia, on creuses des tranches
Notes de l'éditeur
CONTEXTE > Navitia, SIV
Itinéraires
Horaires
Recherche de proximités
Framework / Boite à outil pour fournir IV dans des contextes divers, par des acteurs non familiers avec la mobilité
http://ophtalmos.fr
HomeNow
Motorise navio et SNCF (Mais aussi petit à petit TISSEO)
Multi-modal, ici on ne parlera que du TC
Mise en openSource il y a 1 an et demi (avril 2014)
Du monde intéressé ? Faisons un workshop ! (juin 2014)
Et puis le premier meet-up openTransport le 20/06/2014
ANNIVERSAIRE
Conception / achat du voyage : théorique (GTFS du STIF)
Juste avant et pendant le trajet : besoin de valider le trajet, de vérifier quand je pars et quand j’arriverais
70% de voyageur avec smartphone dans les transports (explorer.transdev.com)
On veut vérifier, pour cela on veut
des itinéraires en temps réel > Peut-être pas dans l’urbain, mais sur son trajet longue distance
savoir que son arrêt de bus est déplacé > Pour pouvoir aller le chercher à 300m
Se rassurer avec la carte de la position des véhicules (à la Uber)
La vrai vie est perturbée
on doit s’adapter en temps réel > le Temps réel doit être intégré dans le moteur de calcul
Plusieurs significations pour le voyageur et le transporteur
Mais aussi mouvements sociaux, des ruptures de caténaires
Quelques exemples
Des flux sur l’ensemble du périmètre de données
vs des flux sur un jour donné, ou sur un sous-ensemble du réseau (mais souvent, les 2 combinés )
Des flux annule et remplace
vs des flux différentiel dont l’état précédent est nécessaire
Des flux basés sur des référentiels différents
Des flux ne représentant pas tous la même chose: illustration par l’exemple, les trains et les tranches !
On vend des places prévues dans des voitures
On exploite des motrices que l’on suit avec des SAE
On informe le voyageur toujours par rapport à sa place
Problématiques métiers
Réconciliation entre SIV / système de production / système d’exploitation
Différentes méthodes de mise à jour et différentes fréquences
On parle de train supprimé en temps réel, mais qui circulent quand même, mais sans voyageur….
(BOA SUP + IRE Roule)
Prenons par exemple l’intercité Nice > Reims, présentant un problème en gare de Châlons en champagne, après Culmont-Challaindrey
Proverbe interne issu de l’expérience d’infoligne
Perturbations en cours = besoin de savoir ce qui se passe, comment m’adapter
Interprétation
Mise en cohérence
Rapprochement avec les données théoriques
Stockage du temps réel
Reprise sur incident
Analyse de données
Queuing des informations temps réel pour intégration par paquets
Interprétation
Mise en cohérence
Rapprochement avec les données théoriques
Stockage du temps réel
Reprise sur incident
Analyse de données
Queuing des informations temps réel pour intégration par paquets
Interprétation
Mise en cohérence
Rapprochement avec les données théoriques
Stockage du temps réel
Reprise sur incident
Analyse de données
Queuing des informations temps réel pour intégration par paquets