Le blog de nlehuby

Jul 24, 2016

Extraire des infos thématiques d'OSM

Quand on souhaite réaliser une analyse thématique à partir des données OSM, on passe forcément par l'étape de récupération des données. Pour cela, on a plusieurs solutions.

La plus simple pour se lancer, c'est d'utiliser Overpass, via Overpass Turbo.
J'en ai déjà parlé dans un précédent article : on donne nos contraintes et en un rien de temps, on a un résultat visuel et les objets qui nous intéressent ressortent sur la carte.
On peut alors récupérer directement ces objets ou bien la requête Overpass pour la faire exécuter par un autre applicatif (comme uMap par exemple, cf mon tutoriel sur le sujet)

À noter que l'API Overpass permet également de récupérer des objets au format csv, ce qui peut s'avérer pratique s'il s'agit d'une extraction pour analyse (et pas juste pour un affichage). Voici par exemple le nécessaire pour récupérer dans Overpass-Turbo les distributeurs de billets alentours, en csv :

[out:csv(::"id", ::lat, ::lon, operator)][timeout:25];
(
    node["amenity"="atm"]({{bbox}});
);
out ;

Bref, malgré une courbe d'apprentissage de la syntaxe un peu rude (Overpass Turbo et le wiki sont là pour aider), Overpass, c'est génial !

Cependant, dès qu'on souhaite requêter une trop grande quantité de données, une trop grande surface ou à une fréquence trop élevée, on se retrouve confrontés aux limites de l'API.

Dans ce cas de figure, la solution royale, c'est de récupérer directement toutes les données brutes d'OSM et de faire sa propre extraction à la main.

En général, on télécharge les données, au format pbf, sur Geofabrik par exemple.

Puis, une solution courante est d'insérer ces données en base (avec imposm ou osm2pgsql), puis de faire des requêtes SQL pour extraire les infos souhaitées.

Mais, lorsque l'extraction est assez simple, sachez qu'il existe une alternative en ligne de commande, basée sur Osmosis et Osmconvert.

On utilisera osmosis pour ne conserver dans les données que les objets qui nous intéressent.
Puis on utilisera osmconvert pour extraire ces objets au format csv.

Par exemple, si je souhaite extraire tous les distributeurs de billets (amenity = atm) des données OSM que j'ai téléchargées, je peux procéder ainsi :

osmosis --read-pbf file="data.osm.pbf" --nkv keyValueList="amenity.atm" --write-pbf atm.osm.pbf

À ce stade, j'ai obtenu un fichier pbf ne contenant que les noeuds taggés avec amenity = atm. Puis, pour avoir tout ça dans un format plus habituel et extraire uniquement les tags qui m'intéressent :

osmconvert atm.osm.pbf --csv="@id @lat @lon name operator network fee" --csv-headline --csv-separator=";" -o=osm_atm.csv

Et je peux aussi réaliser des unions : par exemple, admettons que je souhaite également récupérer les horloges publiques (amenity = clock) pour réaliser une analyse particulièrement innovante sur les distributeurs et les horloges ...
Je commence par procéder de même :

osmosis --read-pbf file="data.osm.pbf" --nkv keyValueList="amenity.clock" --write-pbf clock.osm.pbf

Puis, je fusionne mes deux fichiers précédemment obtenus en un seul :

osmosis --read-pbf atm.osm.pbf --read-pbf clock.osm.pbf --merge --write-pbf clock_and_atm.osm.pbf

Puis, je peux, comme précédemment utiliser osmconvert pour récupérer les objets et les tags utiles.

À noter que si on souhaite extraire autre chose que des noeuds, il reste possible d'utiliser osmosis, mais c'est un peu plus complexe.
La requête suivante permet par exemple de récupérer les parcours de bus (qui sont des relations taggées avec route=bus) :

osmosis --read-pbf data.osm.pbf --tf accept-relations route=bus --used-way --used-node --write-pbf route_bus.osm.pbf

On a alors un pbf contenant les relations parcours de bus, ainsi que tous les objets (chemins et noeuds) qui constituent ces relations.

Jun 23, 2016

OSM pour les noobs sur Android

Quand on connait OpenStreetMap et qu'on est sur Android, on pense tout de suite à OsmAnd. OsmAnd, c'est génial, c'est un véritable couteau suisse pour utiliser de la donnée OSM en situation de mobilité. La liste de ces fonctionnalités est énorme, et il m'arrive encore d'en découvrir une pratique par hasard au détour de clics dans l'appli.
J'ai même déjà réussi à trouver comment afficher tous les tags d'un noeud OSM ! Une fois.
Car oui, OsmAnd ça fait le café, mais quand même, c'est po si simple à utiliser.
Et pourtant l'ergonomie s'est beaucoup améliorée, l'appli fait plutôt moderne pour une appli opensource :p. Mais ça n'empêche, elle fait tellement de choses que pour trouver une fonctionnalité en particulier, des fois, c'est galère.

Moi, ça ne m'empêche pas de l'utiliser, mais lorsque je veux faire découvrir OSM à un non initié, je ne suis pas à l'aise avec l'idée de lui faire installer OsmAnd.
Soyons francs : notre capacité d'attention lorsqu'on teste une appli est limitée : si on ne trouve pas en un éclair comment ça fonctionne, on zappe, on désinstalle et on passe à la suite.
En tout cas, ce que j'ai pu constater avec mes acolytes.

Donc j'ai changé mon fusil d'épaule.
Ne serait-ce que parce que ça me choque de voir des gens utiliser G**gle Maps alors qu'il existe plusieurs alternatives sérieuses, et qui remplissent les 3 ou 4 fonctionnalités qu'on peut attendre de ce genre de services.
On pourrait citer Scout, ou Magical Earth par exemple. Pour ma part, j'ai opté pour Maps.me

Elle remplit les critères de base que j'ai fixé pour une appli Android à présenter lorsque je fais découvrir OSM :

  • elle permet de voir sa position sur une carte (la base quoi)
  • elle fonctionne hors ligne : on peut télécharger une zone géographique et jouir de cartes sans user sa connexion de données : c'est un peu la killer feature pour convaincre de tenter le coup.
  • elle permet de chercher des points d'intérêts : où sont les toilettes publiques les plus proches ? Où puis-je acheter mon pain en tant que touriste ?
  • elle permet de rechercher des adresses et de calculer des itinéraires piéton (je n'ai pas testé en voiture, je n'en ai pas trop l'usage, mais c'est également une fonctinnalité disponible)
  • elle permet de sauvegarder des lieux (comme l'adresse de ses amis)
  • elle est opensource (parce qu'éthiquement, c'est mieux, j'ai plus confiance donc je rechigne moins à la présenter à des gens)
  • elle a une ergonomie et une utilisabilité potable (parce que sinon, je sais qu'elle ne sera pas utilisée)

À noter qu'elle permet aussi, depuis peu, d'ajouter des points d'intérêts et de signaler des erreurs de carto.
L'interface est plutôt orientée débutants : on ne voit pas les tags OSM (ni même les objets OSM), mais on peut ajouter des infos de manière très simple et fluide.
Cela permet donc de montrer à notre OSM-noob le côté collaboratif afin de l'inciter, lui aussi, à ajouter la boite aux lettre ou la borne de recyclage manquante en bas de chez lui.

un point d'intérêt une recherche de points d'intérêts un itinéraire

Bref, une corde de plus à mon arc de prosélyte d'OpenStreetMap ;)

Jun 13, 2016

Migration du blog

Après quelques années de bons et loyaux services, mon hébergeur DrupalGardens jette l'éponge. C'est pour moi l'occasion de déménager mon blog vers 5apps, et j'en profite au passage pour le migrer de Drupal vers Pelican.

Drupal c'est cool. Je suis tombée dedans il y a longtemps, alors que j'étais encore en école d'ingé, et j'ai même eu l'occasion de m'impliquer dans la communauté francophone de Drupal pendant quelques années.

Mais faire mon blog avec Drupal, c'est un peu comme louer une cuisine professionnelle pour se faire un oeuf sur le plat : ça marche, mais pour le KISS, on repassera.

Donc j'ai décidé de passer à un site statique.

Pelican, c'est assez fun à utiliser : on écrit ses articles en rst ou en markdown, puis pélican compile / transforme tout ça en pages html, qu'on peut héberger très simplement puisque c'est juste du html tout con.

Un peu comme Sphinx, mais pour un blog.

Quelques détails sur la migration :

J'ai commencé par installer Pelican. Ça s'installe en local (voir à ce propos le très bon article de SpF sur ce sujet) et c'est sans difficicultés particulières.

Ensuite, j'ai migré le contenu existant en utilisant l'import par flux RSS.

C'est loin d'être parfait : j'ai dû repassé sur tous les articles pour virer les balises html en trop dans le fichier md généré... C'est là que je suis bien contente de n'avoir que 24 articles publiés !

Mais ça m'a permis d'avoir une nouvelle instance de blog qui tourne en quelques heures, avec tous mes anciens contenus.

Bon, ce n'est qu'une façade, car tous les liens pointent encore sur l'ancien site, ainsi que les images, mais bon si les migrations entre services étaient si faciles, ça se saurait ;)

Pour l'hébergement, J'ai choisi 5apps.com, car je l'utilise déjà pour héberger mes petites appli en html (dont Horaires-Bus, mon appli pour consulter les horaires des bus même quand y a plus de réseau) et j'en suis très satisfaite.

C'est aussi simple à utiliser qu'un hébergement web chez github (on fait git push pour déployer), mais avec des services sympa en plus (notamment la génération automatique d'AppCache. Si vous utilisez cette techno et que je vous le faites à la mano, je pense que vous voyez pourquoi c'est cool :p)

Bref, je vais m'arrêter là, parce que j'ai toujours trouvé ça très méta les gens qui tiennent un blog pour ... parler de leur blog.

Tout ça pour dire que la nouvelle adresse de ce blog est https://nlehuby.5apps.com (ou https://nlehuby.5apps.com/feeds/all.atom.xml pour les lecteurs de flux)

May 13, 2016

Faire une carte dynamique et éditable, avec MapContrib

Il y a deux ans, je voulais visualiser et modifier dans OSM les tags spécifiant les bières pression servies dans les bars.
Et c'était galère, alors j'ai fait un outil pour ça :  l'aventure OpenBeerMap a commencé.

Puis, il y a à peu près un an, j'ai voulu visualiser dans OSM où déposer mes déchets en verre pour les recycler.
Et c'était galère, alors j'ai fait un tuto expliquant comment faire une carte dynamique pour afficher facilement des données OSM.

Les choses bougent vite, la communauté OSM est très active : maintenant, il est devenu plutôt facile de réaliser ce genre de carte.
Je le dis, je le prouve : voici une carte des bouches de métro, avec un code couleur selon la complétude de l'info, réalisée en 10 minutes top chrono

L'outil qui a permis cela s'appelle MapContrib, et son job est de fabriquer des cartes dynamiques à partir des données OSM.
Et il permet également de modifier les données OSM affichées directement depuis la carte générée, de manière simple et efficace.

Si vous avez suivi mon tuto précédent, vous pouvez prendre en main MapContrib en un temps record : le concept est très similaire, on crée des calques de données, dans lequel on met une requête Overpass et ça marche tout seul.
Un peu de personalisation des marqueurs et hop, on a une carte partageable à diffuser à nos contributeurs !

Bref, plus le temps passe et moins vous avez d'excuses pour ne pas contribuer à OpenStreetMap ;)

Nov 02, 2015

Les données horaires du STIF en opendata !

Une discussion, autour d'une bière, avec un acolyte néophyte

Moi : T'as vu, le STIF ouvre ses données ?!
Lui : ah
Moi : Ben c'est cool, on va enfin avoir des bonnes données transport en opendata sur toute l'île-de-France !
Lui : ah, ouais, ça a l'air cool ... (Bois) Mais attend, on n'a pas déjà eu cette conversation il y a trois ans ?
Moi : ah non, ça c'était quand la RATP ouvrait ses données.
Lui : Ah. C'est pas pareil ?
Moi : Ah ben non, noob !
Lui : c'est quoi le STIF au fait ?
Moi : le STIF, Syndicat des Transports d'Île-de-France, c'est notre autorité organisatrice de transports. C'est le STIF qui organise tout le transports public, définit l'offre et la qualité de service attendue de la part des transporteurs, gère la modernisation du réseau, fixe les tarifs, ...
Lui : Ah bon, c'est pas la RATP qui décide des tarifs ?! Je suis sûre d'avoir déjà lu ou entendu "la RATP augmente le prix du pass navigo"
Moi : Et oui ! Mais c'est oublier qu'il n'y a pas que le RATP en Île-de-France ! C'est grâce au STIF qu'on peut traverser toute la région d'un bout à l'autre avec le même titre de transport, qu'on pourra acheter aussi bien à une borne RATP, à un guichet Transilien ou dans un bus de banlieue
Lui : Ok, mais  la RATP, c'est quand même le principal transporteur, ils ont les métro, tous les bus dans Paris, et tous les bus qui vont en banlieue comme chez moi ... ... ça fait vraiment une différence d'avoir les données du STIF en plus de celles de la RATP ?
Moi : En terme d'horaires et de passagers transportés, c'est clair. Mais pas en terme d'arrêts desservis et de kilomètres parcourus. Les arrêts RATP, ça fait moins de 30% des arrêts d'Île-de-France !
Lui : ah bon, mais c'est qui les autres ? Transilien, ça ne fait pas tant d'arrêts que ça ?
Moi : OPTILE, ça te dit quelque chose ?
Lui : j'ai déjà entendu ça quelque part en effet...
Moi : c'est écrit sur les titres de transport notamment. C'est l'Organisation Professionnelle des Transports d'Île-de-France. C'est un groupement de tous les autres "petits" transporteurs de bus de banlieue, et y en a plus d'une centaine ! Par exemple, à Boissy-Saint-Léger, on a des bus SITUS, STRAV et SETRA.
Lui : ah ouais, donc ça fait quand même pas de données en plus du coup. Et tu vas faire quoi ?
Moi : Plein de choses ! Je vais commencer par améliorer mon appli Firefox OS qui affiche les horaires de bus et permet de les consulter sans connexion, pour y ajouter les bus qui passent à Boissy !
Lui : Ouais. Sans vouloir te vexer, j'ai pas l'impression que ça va pas changer la face du monde, l'ouverture des données du STIF ... moi par exemple, je ne me sens pas du tout concerné.
Moi : Eh bien tu devrais ! L'opendata, c'est pas juste une histoire de développeur qui mangent de la pizza pendant un week-end et font une appli avec un gros coup de pub puis qu'ils arrêtent de maintenir deux mois après ... Il y a un vrai concept politique : rappelle-toi qu'au STIF, il y a des élus, c'est-à-dire des gens qui te représentent ! Et aussi que l'essentiel du financement du transport public dans la région, il est assuré par les collectivités régionales, donc un peu par nos impôts ! La mise à disposition de données brutes, c'est la transparence, c'est "citoyen, regarde ce qu'on fait en ton nom" !
Lui : Ah bon, faut que j'aille regarder les données du STIF maintenant ?
Moi : T'es pas obligé, mais tu peux, et c'est ça qui est important. C'est un peu comme le logiciel libre, c'est pas parce que tu peux télécharger le code source que tu vas le faire, que tu vas l'auditer ou que tu vas en faire ta propre version, la vendre et devenir riche, mais tu peux le faire ! Enfin tu peux essayer ... Si tu étais un journaliste par exemple, tu pourrais te servir de ces données pour contre-vérifier les informations communiquées.
Lui : Ouais, m'enfin bon, si les journalistes me disent que c'est la RATP qui décide des prix, ils vont surement pas aller télécharger les données du STIF pour vérifier quoi que ce soit ...
Moi : mouais, bon, c'est qu'un exemple. Tu peux aussi les croiser avec d'autres jeux de données en opendata pour faire des analyses originales ou inventer des nouveaux services innovants.
Lui : comme ton appli pour Firefox OS ?
Moi : je le mettrais pas dans la catégorie des services innovants, mais bon, c'est l'idée ! Mais tu devrais quand même aller jeter un coup d'oeil, il n'y aura pas que les données horaires sur la plateforme, tu trouveras peut-être quelque chose qui t'intéresse ;)

Jun 11, 2015

Les horaires de bus dans la poche

Je me suis enfin décidée à publier ma deuxième application FirefoxOS.

Elle a une mission très simple : sauvegarder et restituer les horaires théoriques de passage de bus à un arrêt.

Son fonctionnement est simple : en deux étapes

l'initialisation (quand j'ai une connexion internet)

  • je choisis mon arrêt.
  • je sélectionne la ligne et la direction
  • je vois alors les horaires, et je peux les enregistrer

init 

l'utilisation (quand je suis en déplacement, potentiellement sans connexion internet)

  • je vois la liste de mes fiches horaires enregistrées
  • je sélectionne celle que je veux, et je consulte les horaires

liste détail

Cette application utilise les données opendata d'Île-de-France, grâce à l'API navitia.io

Si vous voulez l'utiliser ailleurs, faites-moi signe : si votre région est couverte par navitia.io, je peux vous en déployer une version avec les horaires qui vous intéressent.

Cette application a été initiée pendant un hackathon chez Mozilla Paris en novembre 2014, puis peufinée par mes soins avec plus ou moins d'assiduité et de motivation pendant plusieurs mois.

C'est bien sûr open-source si vous voulez contribuer au code ou remonter des bugs. Si vous voulez supporter le coup de développement (énorme !) de l'appli, j'accepte les Flattries (et les bières, toujours).

Le but initial était de pouvoir avoir toujours sur moi les horaires de mon bus de banlieue peu fréquent, pour adapter mon itinéraire en connaissance de cause, et ce même si ça ne capte pas ...

Dans la pratique, j'ai déménagé depuis et ne prends plus ce bus de banlieue, et ses horaires ne sont toujours pas en opendata, donc j'aurais une utilisation assez limitée de l'application.

EDIT : le STIF a ouvert les données transport théoriques de toute l'Île-de-France donc ... l'appli fonctionne à présent sur les bus de banlieue !

J'espère que d'autres en auront l'usage ou sauront s'en inspirer pour d'autres utilisations.

Feb 23, 2015

[tuto] Faire une carte dynamique

Ce que j’apprécie particulièrement avec OpenStreetMap, c’est que c’est un écosystème très riche et qu’on peut découvrir chaque jour un nouveau truc génial à faire avec.

Voici un petit exemple d’une fonctionnalité que j’ai découverte récemment, et utilisée dans mon précédent article sur les points de collecte de recyclage de verre.

OpenStreetMap, c’est avant tout une grosse base de données. Mais pour mettre en évidence ces données, il faut avoir un certain niveau de connaissance d’OpenStreetMap.

Voici un solution simple pour afficher des données issues de la base OSM sur un fond de carte (OSM, évidemment), avec mise à jour automatique des données en fonction des modifications apportées sur la base par les contributeurs.

Voir en plein écran

Ici, une carte des boulangeries de Paris présentes dans OSM.

Pour récupérer les données, on utilisera par exemple l’API Overpass.

Et comme faire une requête Overpass qui fonctionne du premier coup est une opération un peu hasardeuse, on utilisera bien sûr Overpass Turbo.

Le tag pour une boulangerie est le suivant : shop = bakery

En utilisant le wizard d'Overpass Turbo, on obtient le résultat suivant :

image : export Overpass

Le résultat est ok, mais un peu moche.

Pour aller plus loin, on va afficher ces données dans uMap, un service opensource de création de carte personnalisable simple d’accès.

uMap permet en effet de choisir un fond de carte OSM et d’y ajouter des données de la provenance de son choix, de personnaliser un peu le design général, puis de partager sa carte.

Il nous faut donc indiquer à uMap où trouver les données à afficher.

Pour cela, dans Overpass Turbo : Exporter > Requête > format compact

image : overpass turbo

On obtient alors les paramètres, sous un format compact, à passer à l’API Overpass pour avoir un résultat.

Pour obtenir ce résultat, il faut passer ces paramètres à une instance Overpass (par exemple, l’instance mondiale « principale » ou l’instance française).

En concaténant les deux bouts de mon url, j’ai une requête que me retourne les données OSM au format json :

http://api.openstreetmap.fr/oapi/interpreter?data=[out:json][timeout:25]...

Muni de cette précieuse requête, allons sur uMap créer notre jolie carte !

Sur une carte, les données sont regroupées par « calque ».

Créons une carte.

Par défaut, elle contient un seul calque, vide, appelé calque 1.

Nous allons éditer ce calque pour y ajouter nos données récupérées via Overpass

image : édition du calque

Cliquons sur Données distantes

Dans le champ url, renseigner la requête Overpass, et sélectionner le format de données « osm »

Enfin, cocher la case « Dynamique »

image : dynamique

Vous devriez voir vos données s’afficher sur la carte.

C’est bien, mais … on peut mieux faire !

En effet, on aimerait bien pouvoir se déplacer sur la carte pour voir les boulangeries ailleurs que sur le petit coin que j’ai choisi.

Il faut donc indiquer à uMap de modifier la requête Overpass en fonction de l’endroit où se situe l’utilisateur sur la carte.

Cela se fait très simplement en remplacer toutes les occurrences des coordonnées dans la requête par les mots-clefs suivants {south},{west},{north},{east} qui sont interprétés par uMap.

La requête Overpass devient alors :

http://api.openstreetmap.fr/oapi/interpreter?data=[out:json][timeout:25];(node"shop"="bakery";way"shop"="bakery";relation"shop"="bakery";);out body;>;out skel qt;

Il ne reste plus qu’à personnaliser la carte selon nos goûts, nos envies et nos besoins : on peut changer le fond de carte, choisir des marqueurs plus jolis, etc

Ne pas oublier également de préciser la licence (ODbL, car utilisation de données OSM).

Puis, il ne reste plus qu’à partager sa carte avec le monde entier.

Pour cela, on peut soit fournir un lien, soit l’embarquer directement dans la page comme je l’ai fait ici

image : umap

Et voilà. C’est simple et efficace :)

Si vous avez des besoins plus sophistiqués, il faudra coder un peu et partir sur des solutions à bases de modules de Leaflet, telles que celles que j’ai mises en place pour OpenBeerMap.

Feb 01, 2015

Où recycler son verre ?

J'ai déménagé récemment. Et est arrivé le moment où j'ai envie de me débarrasser des bocaux et bouteilles de verre que j'ai descendus depuis mon arrivée.

Et surprise, pas de bac de recyclage pour le verre dans ma commune.

Le dépliant sur le recylage m'indique que je dois déposer tout ça dans l'un des 60 points de collecte de la ville.

Ok, c'est cool, mais ça me fait une belle jambe...

En effet, un container de collecte de verre usagé, c'est un élément de mobilier urbain qu'on ne remarque que si on est en train d'en chercher un ... On peut passer à côté tous les jours et ne même pas le remarquer.

Et c'est exatement ce qui m'est arrivé : là comme ça, je serais bien incapable de savoir où est le plus proche de moi.

Mais là où il y a un problème de données, il y a une solution dans OSM.

Une petite requête overpass plus tard, je découvre que je passe tous les jours devant un bac de collecte pour aller travailler, et assez régulièrement devant un second.

Et comme ce n'est pas la première fois que je me retrouve confrontée à ce genre de situation (par exemple en vacances, loin de chez soi, dans un endroit où la collecte du verre se fait également dans des bacs répartis dans la ville) et que je ne suis surement pas la seule à avoir ce genre de problèmes, je nous ai conconcté une petite carte de tous les points de collecte du verre cartographiés dans OSM :

Voir en plein écran

Jan 28, 2015

Vytopna réconcilie les amateurs de bières et les ferrovipathes

Ce bar, idéalement situé dans le centre de Prague est une étape obligatoire si vous visitez la ville.

Afficher une carte plus grande

image : demandez la carte

Ici, des voies ferrées courent entre les tables, voire même au milieu des tables pour les plus chanceux.

image : chanceux

image : entre les tables

Une fois commandées, les boissons (de préférence des bières, pour donner dans le local) sont apportées sur des wagons.

image : petit veinard

image : chanceux

image : petit veinard

Attention cependant à ne pas passer trop de temps à prendre des photos ou à admirer la figurine du conducteur de train : l’arrêt est marqué quelques secondes, puis le train repart !

image : du détail

image : encore du détail

éloignez-vous de la bordure du quai s'il-vous plait

On admirera aussi la signalisation un peu atypique ;)

image : signalisation

Oct 30, 2014

Reprenez le contrôle de votre Android

Si un jour on vous avait dit que vous seriez espionné par votre lampe

de poche, vous auriez crié au Philippe K Dick http://t.co/IFSUJbUYqd

twitter_img

— Jean-noël Lafargue (@Jean_no) October 29, 2014

La lecture récente de ce tweet ainsi que ma participation à l'OpenWorldForum, dont le thème pour cette année était "Take back control", m'ont incitée à écrire cet article que j'avais en tête depuis fort longtemps.

En effet, il y a quelques mois, j'ai voulu télécharger une application de lampe de poche. Un truc tout con qui allume le flash de l'appareil photo en un clic et dont on peut mettre un raccourci sur son bureau. Je me suis donc rendue sur le marché d'application de mon smartphone Android et ai recherché une application répondant à ce besoin.

Et là, j'avoue que j'ai été fort étonnée.

Déjà, par le poids des applications. C'est une info assez peu mise en valeur, il faut chercher un peu pour trouver combien pèse une application. Mais j'ai un passif d'utilisation d'un smartphone low cost, le genre où il faut désinstaller les mises à jour des applications systèmes pour être bien sûr d'avoir assez d'espace dispo pour recevoir ses SMS ... donc c'est une information que je regarde toujours avec attention.

Donc bref, les premières applications proposées pesaient aux alentours de 5 Mo.
J'ai souvenir d'avoir utilisé (en dépannage) une distribution linux complète pesant à peine le double ! M'enfin bref, admettons que je me résigne à en installer une tout de même.

Et là surprise, pour allumer la lampe de mon appareil photo, elle me demande des autorisations tout à fait incongrues telles que l'accès à mes contacts (WTF ??).
Le site Snoopwall a d'ailleurs tout récemment publié un article dressant également ce constat.

En plus parano. Moi, je m'étais naïvement dit que les développeurs avaient dû coder ça dans l'urgence et dans le besoin d'une lampe de poche, et qu'ils avaient oublié de retirer les dépendances et les autorisations non nécessaires ... Ah, l'insouciance du grand public :p

Donc bref, ceci n'est qu'un exemple tout à fait quelconque, mais cela fait réfléchir à ce que les gens mettent dans les applications que nous installons les yeux fermés parce que c'est pratique et que la distribution de nos données privées ne nous tracasse pas plus que ça.

Mais plutôt que de se lamenter, je vous propose de vous parler de deux alternatives, qui apportent des solutions à ces deux problèmes cités plus haut.

Fuir les applis qui nous espionnent
Étonnamment, la solution à ce problème est assez simple. Il se trouve qu'il existe un autre marché d'application, ne proposant que des logiciels opensource et fournissant des indications sur le niveau de confiance que l'on peut attribuer à ces applications. Ça s'appelle F-droid, et c'est téléchargeable et installable sur son téléphone de manière tout à fait triviale.
Ce que j'apprécie particulièrement, c'est le fait qu'il prenne en charge les applications déjà installées.
Par exemple, lorsque j'ai installé F-droid, il m'a indiqué que j'utilisais les applications suivantes qu'il avait lui-même dans sa base d'applications : OSMTracker (une appli de contribution à OSM qu'elle est bien) ou encore Firefox.
Lorsqu'on navigue sur une application, en plus de la description de l'application, il nous propose (en gros, gras et rouge) des avertissements sur l'application. Par exemple, pour Firefox, il me met en garde du fait que "cette application promeut des extensions privatives" (en effet, des addons peuvent être installés, et ne sont pas nécessairement opensource(s?)) et également que "cette application épie et rapporte votre activité (en effet, des stats sont envoyés régulièrement aux développeurs pour améliorer le navigateur ; fonctionnalité bien sur désactivable dans les paramètres).
Nous voilà informés et donc en mesure de faire des choix pertinents !

Quelques points négatifs tout de même : je suis souvent tombée sur des applications peu abouties et où il fallait un peu lutter pour trouver comment ça marche (voire même ce que ça rend comme service).
Ce n'est pas sans rappeler les applications libres d'il y a quelques années, où rien qu'à voir l'IHM, on sentait bien que ça avait été fait par des geeks qui en avaient eu le besoin et non par une compagnie qui fait un logiciel pour rendre un service facturé à des utilisateurs clients ...
Mais pas de généralisation hâtive, on y trouve également quelques applications très satisfaisantes : j'ai par exemple découvert avec surprise Twidere, qui est un client Twitter que j'utilise maintenant régulièrement.
J'y ai également trouvé ma lampe de poche, qui pèse 112 ko (oui oui), est distribuée sous licence Apache 2 et ne demande que l'autorisation d'accéder à mon appareil photo et de bloquer l'extinction automatique de l'écran pendant qu'elle est en cours d'utilisation.

F-droid répond à la problématique des applications qui, sous prétexte de gratuité, bafouent notre droit à la vie privée. Mais ça ne répond pas nécessaire au problèmes des applications codées avec les pieds qui prennent tout l'espace disponible sur le téléphone inutilement.
Pour répondre à ce problème, j'ai trouvé une solution du côté de Mozilla.

Fuir les applications qui pèsent trop lourd
Pour bien comprendre, je pense qu'il est important de resituer le contexte. Contrairement à ce qu'on pourrait naïvement penser, Mozilla est une fondation qui a pour objectif, non pas de conquérir le monde avec un navigateur qui ressemble à un renard de feu / un panda roux. Non, Mozilla a pour but de favoriser l'accès à internet. De désenclaver les utilisateurs enfermés dans leurs systèmes privateurs en leur offrant un accès universel (notemment via le web).
Le navigateur Firefox est un outil qui répond très bien à ce besoin.
Thunderbird également, en nous rappelant que le mail est un outil de communication et non un logiciel Microsoft ou une IHM web de Google.
Et pour le mobile, les applications Firefox pour Android répondent également à ce besoin.
En effet, ces applications sont des encapsulations d'applications web qui s'installent et s'utilisent comme des vraies applications Android.

L'intégration des ces applications dans l'éco-système Android est réellement bluffant : ces applications

  • s'installent comme des app android à partir d'un marché d'applications
  • sont listées avec les autres applications dans le système
  • se mettent à jour comme les autres applications

[EDIT 2016 : Mozilla a mis fin à ce programme, il n'est plus possible d'installer sur Android des applications FirefoxOS avec Firefox pour Android. Mais les applications Firefox OS qui sont des réelles appli web restent utilisables sur Android (c'est le cas d'OpenBeerMap)]

Une fois installées, il est même parfois difficile de les différencier des autres. Ici, OpenBeerMap, installée sur un Android depuis le marché d'application de Firefox : capture 1 de l'intégration d'OpenBeerMap capture 2 de l'intégration d'OpenBeerMap capture 3 de l'intégration d'OpenBeerMap

Un point important à noter : ces applications peuvent fonctionner hors ligne (si elles sont bien foutues. Pas OpenBeerMap, donc). Ce sont les technologies du web, mais ça ne veut pas forcément dire qu'un accès au web est nécessaire à tout moment. Bon ok c'est cool me diriez-vous, mais une application, en général, ça rend un service un peu plus avancé qu'un site web. Effectivement, mais Mozilla a aussi une réponse pour ça : des API d'accès au matériel sont en développement et en cours de standardisation.
Elles permettent donc à des applications web d'accéder à l'appareil photo ou aux contacts, d'afficher des notifications ou de faire vibrer le téléphone.

L'implémentation effective de ces APIs est encore au stade expérimental mais il y a déjà des choses sympa qui fonctionnent et on a déjà des services efficaces proposés ainsi.
Les applications sont téléchargeables sur le marché d'application de Firefox OS, le système d'exploitation basé sur les technologies du web que Mozilla a lancé il y a quelques années et qui a débarqué en France depuis quelques mois.

Par exemple, l'application de prise de notes de mon téléphone est une application Firefox pour Android Elle fonctionne parfaitement hors ligne et sauvegarde en local les notes que je prends.
Elle permet également un stockage dans le cloud, pour permettre d'utiliser l'application depuis plusieurs terminaux. Sans mentir, c'est sans doute une des meilleures appli de prise de note que j'ai testées sous Android.

C'est aussi sur le marché d'application de Firefox OS que j'ai trouvé l'application de météo que j'utilise au quotidien : l'appli F&C
Avec un design simplifié au max mais néanmoins convaincant et terriblement efficace, elle permet d'avoir une tendance sur la météo. Et elle pèse environ 350 Ko (dont la moitié occupée par des données, telles que les endroits où j'ai voulu connaitre la météo et que j'ai sauvegardés).

capture de F&C autre capture de F&C

Ces applications battent des records de poids. Mais pour le moment, elles ne répondent pas à ma première problématique et il est aujourd'hui difficile de savoir si elles sont utilisées pour collecter des données sur leurs utilisateurs.

Espérons qu'une solution adressant ces deux problématiques verra le jour prochainement.

Next → Page 1 of 3