Prochain Train

Présentation

Prochain Train utilise l'API SNCF pour afficher de façon rapide et compacte les prochains départs d'une sélection personnalisée de gares, différenciées entre le matin et le soir. Il utilise aussi l'API de MétéoFrance pour afficher les prévisions de pluie dans l'heure.

On peut l'utiliser de différentes manières:

Exemple

J'utilise personnellement quotidiennement cette URL:

https://crteknologies.fr/tools/prochain-train/get.php#sm1=87611921&lm1=DDEF5935-0332-4ED5-B499-5C664AF7CF05&sm1x=jourdain;auch&sm2=87611467&lm2=DDEF5935-0332-4ED5-B499-5C664AF7CF05;53865649-1C74-4657-9123-DA7EDE71D3DB&sm2x=jourdain;auch&rcm=43.616294,1.314077&se1=87611004&le1=DDEF5935-0332-4ED5-B499-5C664AF7CF05&se2=87446179&le2=DDEF5935-0332-4ED5-B499-5C664AF7CF05;53865649-1C74-4657-9123-DA7EDE71D3DB&se2x=matabiau&rce=43.611301,1.453561&count=4&format=table

L'URL se decompose ainsi:

Configuration personnelle

Trouver les identifiants de lignes

TODO

https://api.sncf.com/v1/coverage/sncf/pt_objects?q=ter%20toulouse&count=100

Ne garder que le code hexadécimal séparé par des tirets, le reste est ajouté.

Trouver les identifiants de gare

TODO

https://api.sncf.com/v1/coverage/sncf/places?q=colomiers&count=100

Ne garder que la valeur numérique, le reste est ajouté.

https://www.garesetconnexions.sncf/fr/gares-services
(chercher le champ
data-uic=
et enlever les deux zéros devant).

Trouver les coordonnées pour les prévisions de pluie

Les coordonnées doivent être fournies dans l'URL pour ne pas avoir à attendre le téléchargement des horaires de l'API SNCF pour pouvoir récupérer les coordonnées de la gare avant de lancer la requête sur MétéoFrance (elles se font en parallèle). Cela permet également de choisir d'autres coordonnées, par exemple plus proches du domicile ou du lieu de travail. Elles peuvent par exemple être obtenues dans votre site de cartographie préféré.

Les coordonnées fournies ne sont cependant que des valeurs de secours, car la page va demander votre position courante si elle est disponible. Depuis un ordinateur, cette position sera peu précise car obtenue par l'IP de votre connexion internet, mais sera aussi trop lente et il se rabattra sur les valeurs de secours. Sur un smartphone, il faut avoir activé le positionnement, et autoriser la page à y accéder. Seul le code exécuté sur votre appareil a accès à ces coordonnées, pas le serveur, il n'y a donc aucun problème de confidentialité (mais l'API de MétéoFrance y a accès).

La dernière ligne précise quelles coordonnées ont été utilisées, "def" pour le valeurs de secours par défaut, et "cur" pour les valeurs courantes. Un lien permet également de visualiser ces coordonnées.

Explications techniques

L'API officielle de la SNCF est exploitée, notamment la requête "departures" :

https://api.sncf.com/v1/coverage/sncf/stop_areas/stop_area:SNCF:<station_id>/lines/line:SNCF:FR:Line::<line_id>:/departures?count=9

Une clé d'accès personnelle est nécessaire pour accéder à l'API, obtenable gratuitement sur le site de l'API SNCF. Si vous forkez le projet, s'il vous plait demandez votre propre clé et n'utilisez pas celle de ce site.

Le code source de cet outil est disponible sur GitHub

Limitations

Pour l'instant l'affichage des voies et des trains supprimés se fait avec un contournement car l'information est absente de l'API.