
L’information voyageur en temps réel
Articles – 3 août 2021 – kisio
Il y a un peu plus d’un an, nous avions publié un article décrivant l’utilité d’une information temps-réel pour le voyageur. Si vous ne l’avez pas lu, prenez un moment, il est toujours d’actualité. Ce nouvel article a pour objectif de rentrer un peu plus dans le détail des possibilités offertes, des traitements de données temps-réel et de leurs usages par la plateforme Navitia.
On commence ?
Comment ça fonctionne
Tout d’abord, il est impossible de fournir l’intégralité des données de transport chaque seconde pour être informé en temps-réel : la quantité d’information est bien trop importante. Pour faire du temps-réel, il nous faut donc 2 sources de données. La première, les informations de fonctionnement nominales du réseau de transport (voir notre article en anglais sur les données de transport) que l’on appelle données théoriques. Il y a ensuite les données de modifications par rapport au fonctionnement normal que l’on appelle données temps-réel. Elles sont fournies en continu au fil des événements.
Les données temps-réel fournies par les transporteurs arrivent dans notre plateforme Navitia et nous devons les intégrer à notre information voyageur.
Parfait, mais de quelles informations parle-t-on ?
Quel type d’information fait partie des données temps-réel ?
Par exemple, est-ce que la création d’une nouvelle ligne de métro fait partie des données temps réel ?
Et bien non, c’est une information connue longtemps à l’avance et pour laquelle le temps-réel n’est pas adapté. Cette information trouve facilement sa place dans les données théoriques.
Cependant, notre voyageur est intéressé par différentes informations après avoir planifié son trajet (achat de billet, consultation de son appli favorite pour savoir quel itinéraire prendre pour se rendre à son rendez-vous).
Les modifications qui affectent son trajet entre le moment de la planification et l’arrivée à destination sont dignes d’être présentes dans un flux de données temps-réel.
Les informations temps-réel dès la planification peuvent aussi l’intéresser : Pourquoi est-ce que je n’ai pas mon métro habituel dans les propositions ? Est-ce que tout va bien sur ma ligne ?
Quel type d’information temps-réel peut intéresser un voyageur ?
Voilà une liste non-exhaustive de ce qui peut changer et qu’on a envie de présenter aux voyageurs :
- Bien sûr, les informations horaires
- Retard d’un trajet (avec le détail pour chaque arrêt)
- Modification d’un trajet (si une manifestation a lieu, un détour peut être mis en place)
- Suppression d’un trajet (si une panne est constatée au départ et que le véhicule ne peut pas partir)
- Ajout d’un trajet (ajout de bus dans le cas d’un pic d’affluence important comme à la sortie d’un match de foot)
- Retour à la normale (si le voyageur a été informé de modifications sur son trajet, il est utile de l’informer d’un retour à la normale)
- Les conditions de transport, de confort et d’équipement
- Le taux d’occupation (avoir une place assise, respecter les contraintes sanitaires, etc.)
- La disponibilité des équipements pour les Personnes à Mobilité Réduite, escalators, ascenseurs, etc.
- La disponibilité des équipements de confort (wifi, chauffage, climatisation, toilettes, etc.)
- Des informations pour guider et rassurer le voyageur
- Messages d’information et de service (« la ligne 1 sera ouverte toute la nuit pour la fête de la musique »)
- Position des véhicules (« mon bus est bloqué au feu rouge, mais il n’est plus très loin »)
- Des informations en temps réel sur les modes de transport autres que les transports en commun
- La disponibilité des vélos en libre-service (vélib’, vélo’v, et autres bicloo, ensuite dénommés VLS)
- Les places de parking disponibles
Cette liste donne une idée des différents types d’information contenus dans un flux de données temps-réel.
D’où vient l’information temps-réel ?
Les transporteurs disposent de plusieurs moyens pour fournir de l’information temps-réel au voyageur.
On peut distinguer 3 catégories principales suivant la façon dont elles sont créées et leur usage.
L’information contextuelle
Cette donnée est souvent créée manuellement par des agents qui désirent informer en masse, tout ou partie des voyageurs de leur réseau. Il s’agit pour Navitia de présenter des messages et les lier à une ou plusieurs lignes, des arrêts, un simple trajet, voire à un morceau et une direction de ligne. Ajouter des images, des sons ou des liens web est possible et déjà très utile.
Cela permet d’informer par exemple que des travaux affecteront l’extrémité d’une ligne, d’avertir les voyageurs concernés (et leur proposer des itinéraires alternatifs) sans perturber les autres avec des informations qui ne les intéressent pas.
On peut également poster un message pour dire que le service de transport sera étendu une heure de plus sur tout le réseau à l’occasion d’un évènement.
L’information immédiate
Cette information est souvent automatique et très brute, remontée depuis les outils dont le transporteur se sert pour réguler le service.
Il s’agit de décrire la situation actuelle sur le réseau en allant à l’essentiel.
Par exemple la position d’un bus, les arrêts qu’il a déjà desservis, son temps avant d’arriver à son prochain arrêt (et pas obligatoirement les arrêts suivants).
Ceci permet, entre autres, de connaître les prochains passages à un arrêt, c’est très utile (et très consulté !).
Lorsque l’on s’apprête à prendre le bus, savoir s’il faut presser le pas pour l’avoir ou bien si on peut faire un petit détour pour acheter des fleurs s’avère très confortable.
Cette information est répandue et Navitia la propose déjà depuis longtemps en se basant sur de nombreux formats de données différents.
Il est également possible d’informer sur la disponibilité de VLS ou bien le nombre d’emplacements de parking libres.
L’information prédictive
Cette information est souvent générée automatiquement à partir de l’information immédiate et de données d’historisation. Elle est généralement mieux structurée, plus en cohérence avec les données théoriques et plus exploitable.
La génération peut se faire de manière plus ou moins complexe suivant le type d’information concernée.
Il est alors question de calculer l’évolution de la situation actuelle à partir de toutes les informations disponibles (distance entre chaque arrêt, vitesse moyenne du véhicule le lundi matin, retard des véhicules précédents, etc.).
On peut aussi déterminer que l’affluence après un arrêt qui propose moult correspondances diminue inévitablement, que les VLS ont toujours plus tendance à vouloir descendre les pentes qu’à les remonter.
Les exploitants peuvent fournir ces informations grâce à la connaissance fine de leur réseau. Des prestataires se spécialisent également autour de ce genre de prédictions.
Lorsque Navitia consomme cette donnée, le but est d’aider le voyageur à anticiper et tirer parti de ce qui va se passer jusqu’à son arrivée à destination et ceci dans plein de situations différentes :
- Mon train est en retard actuellement, mais quel sera le retard à ma destination ?
> Mon retard sera rattrapé, car il est possible d’accélérer jusqu’au prochain arrêt et je peux rejoindre ma famille à l’heure prévue. - Dois-je vraiment attendre pendant 40 min à ma correspondance au départ de Bruxelles vers Amsterdam ?
> Le précédent train Bruxelles-Amsterdam sera en retard car il l’est déjà au départ de Lille : ce retard profite à certains, Navitia me montre que je vais pouvoir attraper ce train en retard et gagner 30 min de correspondance. - Il n’y a plus qu’un vélo à la station VLS où je compte emprunter le mien, dois-je aller à une autre quand j’arriverai dans le quartier ?
> Dans 30 min il devrait y avoir encore plus de VLS disponibles à la station, je peux y aller directement. - Je vais partir de chez moi et mon itinéraire comporte un bus à haute-fréquence puis un train régional : quand est-ce que je dois vraiment prendre le bus ?
> Une application me dit que les départs de mon bus sont toutes les 2 min, mais Navitia sait que le prochain train régional est seulement une heure plus tard. Il m’indique alors d’attendre confortablement chez moi et prendre le bus avec seulement la marge qui va bien .
Dans toutes ces situations, savoir traiter et utiliser les données prédictives représente un véritable avantage pour le voyageur et lui évite de devoir gérer la situation au dernier moment !
Le traitement de l’information temps-réel
Le but avec toutes ces informations temps-réel est alors de les rapprocher du trajet du voyageur pour le tenir informé au mieux et seulement si c’est nécessaire.
Leur traitement est donc crucial, pour pouvoir les relier à l’information théorique, en garantir la qualité et enfin la fournir aux voyageurs concernés.
Les formats d’information temps-réel
Sous quel format cette donnée temps-réel est-elle envoyée ? Comme pour les données théoriques, il existe différents standards et normes pour les données temps-réel.
Le premier format qui vient à l’esprit pour les transports en commun (que ce soit une information contextuelle ou prédictive) est probablement le GTFS-RT, qui est le pendant « temps-réel » du format de données théoriques GTFS.
La norme SIRI existe aussi, ainsi que différents formats propriétaires, comme le COTS (format utilisé par la SNCF), le PIV (Portail d’Informations Voyageurs de la SNCF) et bien d’autres.
Suivant les usages, les transporteurs et les outils, il est commun de se brancher sur une API web, ou lire des fichiers JSON, XML ou tableaux CSV régulièrement mis à jour.
Concernant les données des autres modes de transport (VLS, parking, etc.), les formats de données sont très divers et peu standardisés, mais il est important de citer le GBFS pour la mobilité partagée.
L’utilisation de l’information temps-réel par Navitia
Les protocoles et formats d’échange sont donc très variés et l’enjeu du premier traitement de l’information est donc d’uniformiser autant que possible vers un protocole cible (format, connexion, structure, encodage, etc.) que Navitia va pouvoir utiliser le plus facilement possible, à la manière de ce qui est fait pour les données théoriques avec le NTFS.
Ces différentes informations temps-réel sont regroupées dans Navitia qui peut ainsi proposer les informations les plus fraîches possibles et de manière cohérente en fonction de chaque requête.
Cela pourra être les prochains passages à l’arrêt, un tableau résumant les perturbations, mais aussi un itinéraire ou même les isochrones !
Les informations contextuelles, renseignées la plupart du temps manuellement par l’outil Traffic Report, sont remontées via notre composant Chaos pour que Navitia les présente aux utilisateurs concernés.
Des outils dédiés à certains clients sont même en place que ce soit pour prévenir les voyageurs ou les agents, depuis le début des années 2000.
Les informations immédiates sont prises en compte et présentées pour les prochains passages, les VLS, les places de parking dans les différents outils de Kisio Digital.
Ces informations sont les plus souvent directement traitées et rapprochées par Navitia.
Depuis 2016, Navitia sait prendre en compte les différentes informations prédictives sur les horaires au sein même de ses algorithmes de calcul d’itinéraire. Navitia tire parti de l’ensemble des informations pour recalculer les meilleures correspondances tout au long du trajet. Par exemple, l’API SNCF permet d’effectuer des calculs de trajet en temps réel prenant en compte les retards, détours et annulations sur l’ensemble du trajet désiré.
Il reste possible à tout moment d’interroger l’information théorique pure, afin d’obtenir la liste des perturbations qui impactent un trajet régulier par exemple.
Dans le cas des informations prédictives, elles sont traitées en amont par le composant Kirin qui permet de garantir au mieux la qualité et les rapprochements avec les données théoriques, pour que Navitia n’ait plus qu’à les charger puis les fournir aux voyageurs.
Il ne faut pas négliger dans tout cela les traitements des données théoriques ! Car même pour le temps-réel, les données théoriques sont centrales.
Il faut par exemple être capable d’enrichir la donnée théorique afin de pouvoir faciliter la réconciliation avec la donnée temps-réel plus tard.
Il faut continuer à être capable de retraiter et d’agréger différents types de données de manière réactive. Si un transporteur change toutes ses lignes comme la RATP l’avait fait pour tous ses bus en avril 2019, il faut que ces informations théoriques soient à jour pour être cohérentes avec les données temps-réel qui arriveront. C’est le rôle d’outils comme transit_model en amont de Navitia. Cet outil doit donc être suffisamment performant pour être capable de modifier l’intégralité des données théoriques plusieurs fois par jour.
Navitia se retrouve donc au centre des sollicitations des voyageurs et des sources de données et doit garantir la meilleure performance et réactivité possible, surtout lorsque de grosses perturbations interviennent !
Au cœur de tous ces échanges, lors d’un épisode neigeux comme en février 2018 en France, notre poulpe Navitia trouve tout de même le moyen d’intégrer des centaines de messages de perturbations, de répondre à 500 requêtes de consultations d’horaire et plus de 550 requêtes d’itinéraire par … seconde. En répondant en moins de 500 ms pour 99% des itinéraires .
Et demain ?
La gestion des données temps-réel chez Navitia existe depuis le début des années 2000. Kisio Digital a depuis développé une vraie expertise autour de la gestion des données temps-réel.
L’augmentation du nombre de transporteurs fournissant ces données permettra d’améliorer encore notre capacité à traiter différents types de flux temps-réel.
Le but est donc d’augmenter toujours plus le nombre de formats supportés, d’étendre les types d’informations redistribuées aux voyageurs et même de permettre de convertir les formats de données entre eux comme nous le faisons déjà pour les données théoriques.
Nous collaborons aussi avec Île-de-France Mobilités et des chercheurs pour améliorer la qualité des prédictions d’affluence dans les transports.
Enfin, nous réfléchissons déjà aux futurs outils pour améliorer nos architectures et nos performances afin de supporter les contraintes du monde de demain où le nombre de données est en constante augmentation. La standardisation du protocole de communication entre Kirin et Navitia fait également partie de l’équation. Et pourquoi pas, permettre aux contributeurs externes de brancher leurs formats de données grâce aux possibilités et à la transparence offertes par l’open-source.