Comment ça marche
De Raildar
Révision de 19 janvier 2014 à 09:18 par Spyou (discuter | contributions)
Raildar est divisé en plusieurs modules.
Sommaire
Principe général
- Récupération de la circulation théorique des trains du lendemain
- Toutes les minutes, vérifier si des trains doivent commencer à circuler dans les 10 prochaines minutes et déclanchement de leur affichage sur la carte et de la récupération de l'information temps réel
- En fonction des sources d'information temps réel :
- Récupération des informations de tous les trains en circulation toutes les 10 minutes (quand on peut avoir l'info pour un train précis)
- Récupération en boucle continue de l'information de passage en gare (quand on ne peut avoir l'info que gare par gare)
- La moulinette qui fait la mise en circulation fait également les fin de circulation en désactivant le train lorsqu'il est arrivé à destination (en prenant en compte l'éventuel retard detecté)
Fonctionnements spécifiques à chaque type de train
TER & Intercité
- L'API MS TER/Intercité permet de récupérer les informations de circulation plusieurs jours à l'avance. Pour éviter de se surcharger inutilement, on ne récupère que les informations à J+1 et cette action a lieu la nuit vers 2h du matin.
- L'information temps réel est ensuite prise sur le site infolignes par scrapping de chaque train en circulation à l'instant T.
TGV & assimilés
On ne dispose d'aucune API pour connaitre la circulation théorique ou les numéros de trains. Il a donc fallu ruser et ajouter une étape supplémentaire :
- Toutes les heures, une moulinette va visiter les pages du site Gares & Connexions pour récupérer les numéros de train qu'elle ne connait pas encore (au passage, elle récupère aussi des bus ...)
- Chaque nuit, ces numéros de trains sont testés un par un sur le site infolignes pour savoir si une circulation de ce train est prévu le lendemain
- La procédure est ensuite la même que pour les TER/Intercités qui sont mis en circulation au fur et à mesure de la journée avec une demande régulière à infolignes pour obtenir un retard éventuel
Eurostar
L'information n'est disponible ni en API ni sur infolignes. Nouveau cas, nouvelle ruse, tout est géré par une seule moulinette :
- Toutes les 10 minutes, on fait appel à l'URL Eurostar de chaque gare ou passent ces trains pour connaitre les prochaines arrivées & départs
- Si on ne connait pas le train, il est ajouté à la base de donnée
- Si on le connait et qu'il n'a pas encore circulé aujourd'hui, une nouvelle entrée est crée dans la table de missions
- Si on le connait et qu'il a déjà commencé à circuler, on met juste à jour le retard s'il y en a un
Transilien & RER
- La méthode d'approvisionnement en données théorique est la même que pour les TER & Intercités
- Concernant le temps réel, l'API SNCF ne concerne pour l'instant que les lignes C et L mais nous sommes déjà prêts pour l'ensemble, le script testant l'ensemble des gares d'ile de france en boucle
- Un certain nombre de manipulations sont effectuées dont la correction automatique des numéros de trains qui changent lors de la traversée de Paris et la transformation des identifiants de gare avec un calcul plus qu'obscur pour trouver le dernier chiffre