Projet de site routier à la inforoute11.fr

J’ai découvert ce matin l’existence d’un site internet permettant de voir l’état des routes du département de l’Aude. Je me réjouis de cette nouvelle, cependant j’ai quelques remarques à émettre concernant le fonctionnement du site. Tout d’abord le site est en Flash. Chez Orditux, nous n’avons pas une profond sympathie pour Flash, non pas parce que la technologie est mauvaise mais parce qu’elle est principalement utilisée d’une manière inadapté rendant compliquée l’accessibilité des données.

Le site Inforoute11.fr pose quelques problèmes que nous allons voir ci-dessus et auxquels nous allons tenter de répondre en proposant une solution rapide, légère et accessible.

Même si Flash est présent sur la majorité des PC, il n’est pas présent partout. Il est inexistant sur les architectures de type ARM (pratiquement tous les téléphones et smartphones fonctionnent avec des processeurs ARM), il n’est pas non plus présent sur les derniers appareils de la compagnie Apple (iPhone, iPad). Pour résumer, le site est principalement inaccessible aux appareils mobiles, à part les netbooks dotés d’ une connexion par clef 3G. Ça le rend bien moins intéressant.

Regardons le format des données utilisées par l’application flash.

(je passe sur beaucoup de détails, le but étant de fournir un article abordable pas une documentation technique)

Après quelques recherches avec HttpFox afin de déterminer l’origine des données, je suis tombé sur un bloc d’informations problématiques dans le fichier chargé par l’application flash.

<point_xy><![CDATA[219.35;224.8]]></point_xy>

Ces coordonnées définissent la position d’un chantier pour pose de réseau AEP et EU sur la RD 104 (c’est la description fournie pour ce point dans le fichier chargé par l’application).

Comme vous pouvez le voir, les coordonnées X et Y (respectivement 219,35 et 224,8) ne sont pas des données géographiques. Ce sont des coordonnées d’un point sur une image, probablement l’image de la carte affichée dans l’application Flash. Nous avons donc ici une application de positionnement géographique qui n’utilise pas des coordonnées géographiques. C’est plutôt gênant, surtout à l’époque où les GPS sont communs.

Les coordonnées permettant de localiser les désagréments routiers sont inexploitables en dehors de l’application flash car elles sont fortement liées à cette application. Ce qui rend les données de l’application inutilisables dans une application tierce sans un traitement lourd. C’est la fin du parcours pour les données.

Nous allons voir par la suite comment faire une carte de l’état des routes de l’Aude avec des informations facilement exploitables dont la nature n’est pas modifiée. Pour ce faire nous utiliserons les données d’OpenStreetMap, une base de données mondiale de cartes que l’on peut facilement enrichir. Nous utiliserons aussi la bibliothèque javascript Openlayers qui permet d’ajouter des strates (layers) aux cartes OpenStreetMap, strates pouvant contenir des informations diverses et variées. En ce qui nous concerne, ce sera l’état des routes.

Le format des données que nous allons utiliser pour la strate correspondant à l’état des routes sera un banal fichier texte comportant la longitude, la latitude, un titre pour l’évènement, une description, ainsi que le nom de l’image qui sera dessinée sur la carte. La génération d’un tel ficher est triviale et ne nécessite pas de logiciel complexe. Idem pour le traitement des données contenues dans un tel fichier.

Voilà le résultat d’une petite demi-heure de travail : inforoute.

Le résultat nécessiterait des arrangements (et plus d’informations utiles), on obtient cependant un résultat déjà fort intéressant.

Cette solution présente beaucoup d’avantages par apport à la version flash :

  • Elle fonctionne sur toutes les machines équipées d’un navigateur internet;
  • Elle utilise des informations qui peuvent être facilement enrichies;
  • Elle apporte des informations facilement réutilisables et partageables;
  • Elle est peu onéreuse et l’utilisation des standards évite de multiplier les efforts.

Voilà pourquoi chez Orditux nous utilisons des standards ouverts : il est vraiment possible de partager des données à chaque fois que c’est nécessaire.