STM Stats publié le dimanche 1 mars 2015 03:41

Journée internationale des données ouvertes à Montréal

Samedi le 21 février dernier, c'était la Journée internationale des données ouvertes et Montréal était du coup. Un petit groupe d'enthousiastes s'est réuni à la Maison Notman (aka la Maison du Web de Montréal) pour la journée, question d'apprendre à mieux se connaitre entre autre. J'y ai fais une petite démo de CouchDB basée sur le site des données ouvertes du gouvernement du Québec.

Les autobus fantômes

Quelques jours plus tard, j'entendais parler à la radio d'autobus fantômes, c'est à dire des bus qui devaient prendre la route ce jour là mais que ne sont jamais sortis du garage pour toutes sortes de raisons. Quand l'autobus n'arrive pas ou arrive avec 15-20 minutes de retard, c'est probablement parce qu'il en manque un dans la grille, vous avez un autobus fantôme.

Site de la STM

Comme il n'y avait rien à propos des autobus ou de la STM sur le site de données ouvertes de la ville de Montréal, je suis allé directement à la source, soit le site de la STM. On y explique entre autre l'usage du fichier GTFS mais ce document ne sera mis à jour que 5 fois en 2015.

AJAX comme API

Le site de la STM repose sur son API pour AJAX, c'est ce qui donne une meilleure expérience d'utilisation. Pas besoin de connaitre son numéro d'arrêt, par exemple, on peut donner un coin de rue et de là obtenir facilement, grace au feedback du site (et son API), l'information que l'on cherche.

Si on regarde en bas du site de la STM on remarquera ÉTAT DU RÉSEAU. Les informations qui s'y retrouvent sont rechargées par votre fureteur toutes les 30 secondes pour donner un état en temps-réel [JSON]. On peut obtenir l'état actuel, mais celui-ci disparait aussi rapidement qu'il est apparu. Impossible d'obtenir l'historique (que je sache).

CouchDB à la rescousse

Je me suis tourné sur CouchDB et un petit peu de NodeJS pour télécharger le JSON etats-du-service toutes les deux minutes et accumuler l'information. C'est environ 40 KiB de données chaque 2 minutes, mais comme l'état ne change pas si souvent, je ne conserve que les versions qui diffèrent de la précédente. Ça fait un peu plus de 100 changements par jour. J'accumule donc 4 MiB de données par jour, cependant j'en télécharge près de 30 MiB.

Pour le moment, je n'ai porté mon attention qu'au nombre de perturbations sur le réseau d'autobus, à la recherche des bus fantômes. Après moins d'une semaine, je sais que je ne les trouverai pas là, mais on obtient quand même quelques indications. Par exemple, on voit clairement qu'il y a manipulation des données entre 6 et 7h chaque matin.

On peut trouver les résultats préliminaires de ces travaux sur mon site STM STATS. Laissez moi un mail si vous avez des commentaires ou des questions, ou encore utiliser le mot-clic #stmstats sur votre silo préféré et je tenterai de vous répondre s'il y a lieu. C'est aussi publié sur mon diaspora*.