Comment ça marche
De Raildar
Révision de 19 janvier 2014 à 09:15 par Spyou (discuter | contributions) (Page créée avec « Raildar est divisé en plusieurs modules. = Principe général = * Récupération de la circulation théorique des trains du lendemain * Toutes les minutes, vérifier si ... »)
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
L'API MS Transilien
- Pendant de la précédente