Table des matières

Cadre photo CTS

Introduction

L'Open Data est l'accès et l'usage libre d'une donnée numérique. Cette donnée, notamment quand elle est produite ou reçue lors d'une mission de service public, peut être considéré comme un patrimoine public, un droit à l'information, une philosophie sur le bien commun et un intérêt général !

En France, le début de l'accès libéré à l'information est marqué par l'accès à Legifrance, en 2002.

Depuis 2011, la mission Etalab lance le portail data.gouv.fr qui permet d'accéder à des jeux de données tel que : impôts, budgets, subventions, dépenses, aménagement du territoire, chômage, rénovation de logements, mesures de qualité de l'air, adresses des services publics, délinquance et criminalité, statistiques du tourisme, résultats électoraux, dépenses de la Sécurité sociale, effectifs des fonctions publiques, aides de la politique agricole commune, rejets de polluants dans l'air par les installations industrielles…

Plus localement, près de chez moi, la Compagnie des Transports Strasbourgeois propose depuis 2012 un accès à une API Open Data. Elle permet l'accès aux informations suivantes :

Si des gens avaient tant travaillé pour me fournir à moi, citoyen, une information d'une telle qualité…il me fallait absolument leur faire honneur et trouver une idée afin d'utiliser ce service !

Mon temps de trajet domicile-travail est actuellement possible de 3 manières :

Vous allez dire… de quoi se plaint-il? Il lui faut 20 min pour aller travailler.. et le tout avec des solutions alternatives en cas de problèmes techniques ou de bouchons… Certains lui diraient même de prendre son vélo pour pédaler pendant 6 minutes… mais bon on se refait pas :)

L'idée géniale, c'est d'afficher à proximité de ma porte d'entrée, les horaires temps réel de l'arrêt de Tram de ma rue, ainsi que l'arrêt de Bus du boulevard à côté. Ceci afin d'effectuer au moment de quitter l'appartement, le choix le plus efficace entre les 3 solutions de déplacements, afin :

Pas d'objectifs chiffrés, mais s'il fallait le faire, je tablerais sur 4 min par trajet x 2 trajets/jour x 250 jours ouvrés = 33 heures /an … ça vaut ce que ça vaut… mais ça motive quand même !

Recherche d'un écran

Car un vrai afficheur CTS est un peu grand et inesthétique…!

Les caractéristiques recherchées pour cet écran (qui serait hypothétiquement allumé une dizaine d'heures par jour) furent :



J'ai eu beaucoup de mal à trouver cet écran… à cause de contraintes de prix (> 50€), de contraintes de connectiques (pas d'HDMI au moment de la recherche, seulement via adaptateurs coûteux), de contraintes de taille (moniteurs trop épais pour fixer sur un mur, ou trop petits et mal définis)

Après quelques semaines de recherches plus ou moins intensives, j'étais presque prêt à abandonner l'idée… quand j'ai trouvé un produit inattendu dans ma démarche de réflexion : un cadre photo numérique et tout spécialement le modèle Kodak Easyshare W1020



Il possédait des caractéristiques intéressantes :

Et également des inconvénients:

Développement du générateur d'images

Mon cadre photo est, comme décrit dans les caractéristiques, capable de lire un flux RSS pour y afficher des photos mises à jour d'Internet.

Ici, point de simples photos de paysages, ni d'Internet, mais il faut :



Les premières maquettes “faites main/photoshop” donnent le visuel suivant… je décide d'ailleurs d'appeler l'afficheur “Chloé” :



La réalisation du programme prend la forme d'un serveur (ou démon) Python, qui est démarré 24/7.

Le serveur (en vert) est en attente d'évènements HTTP qui correspondent à des requêtes du cadre photo Wifi (en jaune)

Il exécute ensuite les actions pour fournir le fil RSS et les images au format JPEG, dans le protocole HTTP. Afin de fournir les images le plus rapidement possible, on pré-génère les images. En effet, les appels à des APIs externes prennent quelques secondes, qui s'additionnent au traitement total.

Le serveur a alors été découpé en “modules”, afin de faciliter la création ultérieure de nouveaux modules d'informations.



Les premiers tests de développements ne comportaient pas tous les modules :



Aujourd'hui, l'interface ressemble plutôt à :



Code Source

Fichier : kodak.py

Fichier : background.py

Fichier : chloe.py

Fichier : cts.py

Fichier : date_fete.py

Fichier : heure.py

Fichier : meteo.py



Télécharger le source

Pré-requis:

Utilisation:

Conclusion

Open Data

J'ai peu de chiffres sur le niveau de service de l'API Open Data, mais c'est du très haut.. et je dis bravo aux équipes informatiques de la CTS, car j'ai pas remarqué de vrais pépins… La seule fois où j'ai cru à une indisponibilité du service Open Data… c'était en fait mon script qui bouclait sur l'API (si la CTS a vu ça sur sa métrologie..coucou.. et pardon !), je gérais pas le fait que ma station puisse ne plus avoir de prochains passages (arrêt désactivé pour certains évènements - braderie, marché de noël, travaux).

En 2012/2013, j'avais d'ailleurs demandé à la CTS si mon polling régulier (30sec) pouvait être sujet à problèmes sur l'usage attendu de l'API (en terme de trafic, de performances dans leur architecture Webservice)… ils m'ont plutôt dit qu'ils allaient observer les usages en général, voir comment les citoyens s'en servent avant de vraiment légiférer… au rythme de 30 secondes c'était très acceptable pour eux.

Aujourd'hui, les usagers recensés de l'API reçoivent occasionnellement des emails d'informations de la CTS, qui permet d'être informé de tout changement.

Bref, pour conclure, cette API Open Data, c'est du bonheur pour le citoyen informaticien !!

Usage du cadre

On est en 2017, je viens de finir cet article 4 ans après la mise en production… et l'on constate que le cadre est devenu quasi indispensable…! On l'en vient même à s'en plaindre quand il est HS :D (mise à jour API météo ou CTS, bugs)

C'est bien car cela signifie que l'afficheur a atteint son objectif en terme de service, que cela soit sur la prévision CTS qui permet réellement de diminuer l'attente, ou la prévision de pluviométrie qui permet de savoir s'il faut sortir avec son parapluie :)

L'objet arrive même à attirer la curiosité ou l'envie des personnes de passage dans l'appartement.. (non le cadre n'est pas à vendre ou voué à une production massive !!)

4 ans après, même avec la démocratisation des smartphones, le cadre se targue d'être plus rapide que l'application Strasmap de la ville de Strasbourg (lancement de l'appli, choix de la station, etc..) !

Cette dépendance à l'efficacité souligne également qu'on est moins prêts à revenir sur une qualité de service diminuée… même si on n'avait connu que ça avant !