La RATP s’oppose à une communication cohérente

Le site de la RATP indique dans ses mentions légales, rubrique « propriété intellectuelle »:

L’ensemble des textes, graphismes, icônes, photographies, plans, logos, vidéos, sons, marques [...] et ne peuvent, conformément à l’article L122-4 du code de la propriété intellectuelle, faire l’objet d’une quelconque représentation ou reproduction

Je suis un peu surpris qu’une régie publique n’ait pas déversé dans le domaine public les symboles représentants les lignes. Justement, je voulais utiliser l’icônographie des lignes RATP, dans mon application mobile
Capture d'écran montrant liste

Je me demande si l’article L513-6 du code la propriété intellectuelle permet d’utiliser ces pictogrammes.

Les droits conférés par l’enregistrement d’un dessin ou modèle ne s’exercent pas à l’égard [...] d’actes de reproduction à des fins d’illustration ou d’enseignement, si ces actes mentionnent l’enregistrement et le nom du titulaire des droits, sont conformes à des pratiques commerciales loyales et ne portent pas préjudice à l’exploitation normale du dessin ou modèle.

Est-ce que l’utilisation des pictogrammes pour indiquer le nom des lignes est un acte d’illustration?1

Dans le doute, j’ai demandé directement le consentement de la RATP. Voici leur réponse:
Pour diverses raisons, la RATP ne souhaite pas vous autoriser à reproduire ces éléments dans votre application. Nous vous invitons donc à élaborer de nouveaux pictogrammes pour indiquer les différentes lignes.

C’est extrêmement décevant. La RATP ne cherche visiblement pas à construire une image cohérente autour de la signalétique. Et d’ailleurs, ils s’emmèlent parfois les pinceaux eux-mêmes.

Le paradoxe, c’est que la police de caractères Parisine, utilisée par la RATP, est libre de droits utilisable par tous (mais payante). Et qu’on ne peut pas protéger des couleurs… Je vais donc bêtement utiliser autre chose qu’un cercle, pour « élaborer de nouveaux pictogrammes » différents mais qui ressemblent quand même.

J’espère que la réponse de la SNCF sera plus intelligente positive.

  1. je n’ai aucun problème à indiquer que la RATP est propriétaire de la marque, la pratique commercial n’est clairement pas déloyale, et elle ne porte pas non plus préjudice à l’exploitation du modèle []

Talaria-1.0

Un bref message pour dire ce qu’il y a de nouveau dans cette version 1.0

Poster un tweet pour commenter un incident

Sur le détail d’un incident, le bouton menu permet de poster un tweet por commenter cet incident.

Unable to display content. Adobe Flash is required.

Le client twitter du téléphone est détecté automatiquement (j’ai vraiment eu du mal à mettre en œuvre cette fonctionnalité, si votre client n’est pas détecté, dites-le moi)

Et comme le tweet contient le lien vers la age web idoine, il apparaîtra dans les commentaires de la page, tout comme le twwet d’Olivier apparaît sur l’incident 258.

Optimisation réduction de la taille de l’application

J’avais un fichier de ressource qui traînait. Il est parti :-)

Fix: crash si pas de connexion réseau au 1er démarrage

Ooops, une fenêtre d’erreur qui était créée dans le mauvais thread.

Fix: filtre « en cours » parfois perdu

Le filtre « en cours uniquement » est appliqué plus régulièrement (sur le retour
des écrans « ajout » et « détail » notamment).

Fix: possible de voter/fermer l’incident que l’on vient de créer

Rendu possible grâce à une amélioration du service web. Merci Olivier.

Fix: l’affichage du « à propos » ne remplace plus le serveur par le serveur de test

Un switch/case dans lequel il manquait un break. Ça aurait pu faire des ravages.

Enjoy!

Talaria-0.99 sur l’Android Market

J’ai finalement donné le nom Talaria à mon application pour accéder à http://incidents-transports.com/ (qui a changé de nom mais pas fermé, malgré les menaces).

Reproduction d'une gravure du 19eme siècle
Les talaria sont les sandales ailées que porte Hermès, qui, dans la mythologie grecque, est le dieu des voyages, des routes, du commerce et des voleurs.

Aujourd’hui, j’ai fignolé l’interface, en joutant des icônes dans le menu. J’ai aussi intégré une nouvelle fonctionnalité de l’API, qui évite d’avoir à recharger tous les incidents, quand on vient d’en poster un.

En tout cas, l’application est maintenant disponible sur l’Android market.

QR code de téléchargement de Talaria sur l'Android market

Scannez ce QR code sur votre mobile pour télécharger l'application

IncidentsTransports-0.11

J’ai apporté quelques petites modifications à IncidentsTransports pour Android.

Crash de l’application quand l’orientation est changée

D’expérience, je sais que les utilisateurs sont sans pitié quand une application crashe. Et les bêta-testeurs m’ont justement remonté que ça arrivait sur mon appli, avec le message d’erreur « Exception: Application has leaked window here ».

Je n’ai pas mis longtemps à comprendre d’où vient le problème. Lorsque je raffraîchis la liste des incidents, je crée une fenêtre ProgressDialog que je ferme quand le serveur a répondu. C’est d’ailleurs ce que recommande de faire le guide de développement sur Using AsyncTask:

To update your UI, you should implement onPostExecute(), which delivers the result from doInBackground() and runs in the UI thread, so you can safely update your UI.

Mais ces conseils ne sont pas si bons :-( Comme toute boîte de dialogue, celle-ci est rattachée à une vue, celle de l’activité. La boîte de dialogue est créée dans onPreExecute() (« This step is normally used to setup the task, for instance by showing a progress bar in the user interface.) et fermée dans le onPostExecute(). Problème: si l’utilisateur modifie l’orientation de son écran, ou tout autre type de changement de configuration, l’activité est détruite (« This is done because any application resource, including layout files, can change based on any configuration value« ). Du coup, la fermeture du ProgressDialog se fait dans un contexte qui n’existe plus.

Le message de l’exception ainsi levée laisse sous-entendre qu’il y a un me memory leak. J’ai commencé à regarder le code source de la méthode dismiss() des Dialog dans d’Android (j’aime les projets open-source), mais je ne suis pas sûr de cette implication.

Pour le moment, j’ai changé la configuration de l’activité pour qu’elle ne soit pas détruite sur un changement de configuration de l’appareil, mais il est sans doute possible de faire mieux.

Messages d’erreur serveur plus détaillés

Quand le serveur ne répond pas HTTP OK, je me contentais d’afficher le code de statut, par exemple BAD REQUEST. Mais souvent, le serveur donne une explication plus détaillée dans le contenu de la réponse. Celle-ci est maintenant affichée.

Correction bug mineur: Icône sur l’incident ajouté par l’utilisateur

Quand l’utilisateur crée un incident, j’avais affecté la ligne mais oublié l’identifiant de ligne, nécessaire pour l’affichage du pictogramme.

Nouveau bug connnu: Impossible de voter pour l’incident créé

J’ai aussi découver #7 Impossible de confirmer/infirmer/indiquer terminé l’incident que l’on vient de créer.
Contournement: rafraîchir la liste des incidents, avant de tenter l’une de ces actions.