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 ... »)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher

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 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