Blog & ressources

L’état des escaliers mécaniques et des ascenseurs de la RTM, en temps réel avec Drupal !

28 Février 2016 Commentaires
Webservice Drupal

Bluedrop.fr a assuré le développement d’une fonctionnalité concernant l’état de service des escaliers mécaniques et ascenseurs de l'ensemble des stations de métro du réseau. Ce projet consiste à informer les usagers sur l’état de fonctionnement des escaliers mécaniques et des ascenseurs en temps réel sur le site web rtm.fr mais aussi sur le site mobile m.rtm.fr.

Etat des escalators et ascenseurs: Vous savez tout ! 

Mené par les experts Drupal de l’agence bluedrop.fr, le projet propose une nouvelle fonctionnalité sur le site rtm.fr, disponible depuis l’onglet « Escalators et Ascenseurs ». Il vous suffit de choisir la ligne de métro et de cliquer sur la station de votre choix pour connaître l’état de fonctionnement des escaliers mécaniques ainsi que des ascenseurs. Astucieux, si ce jour là vous avez des bagages lourds !

Cette nouvelle fonctionnalité indique des informations précises sur :

  • L’état de fonctionnement : en marche/ En panne ;
  • Le positionnement : par exemple « Entre le quai central et le niveau des valideurs » ;
  • Le sens de marche pour les escaliers mécaniques en marche : descente/ montée.

Pour avertir en cas de dysfonctionnement, l’état de fonctionnement des escaliers mécaniques est signalé par un pictogramme d’alerte de couleur vive pour que vous puissiez visualiser en un coup d’œil  si votre station de métro est concernée par le dysfonctionnement, ou non. Notons également que le résultat de la requête se fait sur cette même page : pas de temps de chargement d’une nouvelle page.

La nouvelle fonctionnalité disponible sur mobile !

Le projet propose également cette fonctionnalité sur le site mobile de la rtm : m.rtm.fr. Vous avez accès aux informations de l’état de fonctionnement des services sur votre mobile, n’importe où et n’importe quand ! 

L’atout principal : Vos informations en temps réel !

De nombreuses fonctionnalités dédiées à l’information des usagers sur l’état des services ne sont pas ou peu actualisées. Ici, le projet a permis de communiquer ces informations quasiment en temps réel : les informations sont réactualisées toutes les 20 secondes et répercutent les résultats des sondes installées et monitorées par les services de la DSI de la RTM.

Solution technique

Ce projet a consisté au développement d’un web service permettant de mobiliser les informations sur l’état des escaliers mécaniques et ascenseurs des stations de la RTM. La RTM dispose de nombreux capteurs et automates sur son réseau interne - avec SPOTI les données sont rafraichies toutes les 20 secondes.

Les données concernant les escaliers mécaniques et les ascenseurs sont extraites toutes les 20 secondes vers une base de données SQL server hébergée sur un serveur Windows en DMZ ; le tout protégé par un firewall et un reverse proxy.

L'agence bluedrop.fr est intervenue en conseil sur le choix de l'architecture et a mené les opération de création de l'architecture et du webservice. Nous avons également conduit l'intégration des données sur le frontend du site rtm.fr. L'architecture retenue est la suivante :

  • Un applicatif : Il s’agit d’un programme Windows, écrit en Visual Basic, allant régulièrement faire une requête sur la base SQL server et transmettre les résultats ;
  • Une API (le webservice) : Une base de données applicative : NoSQL documentaire CouchDB, supportée par la fondation APACHE, qui permet de répondre à un grand nombre de requêtes dans un format d’échange standard pour le web actuel, sous format JSON transmis par HTTP ;
  • Un proxy : NGINX installé dans la DMZ dont la configuration est facilement auditable et modifiable.

Fonctionnement :

  • La RTM réalise une extraction des données issues de ses capteurs installés sur l’ensemble de son réseau ;
  • Ces données sont transmises au serveur internet et sécurisé de la RTM via une requête HTTP;
  • La requête HTTP  exécute une application stockée en base de données pour le traitement et la génération de plusieurs vues et affichages ;
  • Une version en cache des différentes vues est générée pour une durée déterminée ;
  • Les différents applicatifs hors DMZ peuvent ensuite interroger la base de données en DMZ ou directement la version en cache avec des requêtes HTTP GET. Les résultats sont transmis au format JSON au site Drupal rtm.fr
  • Ce système n'étant pas lié à Drupal mais développé sous la forme d'une API, les utilisations ne sont pas limitées au seul site internet, bientôt à l’application mobile et pourquoi pas d'autres services !