Ce billet est une version détaillée d'un tutoriel express que j'ai tweeté la semaine dernière. Ce sera plus complet et surtout plus pérenne ici que sur Twitter. Merci aux gens qui m'ont poussé à le faire !

On me demande souvent, par exemple dernièrement à Paris Web, comment contribuer en pratique à OpenStreetMap (OSM). Je me suis rendu compte qu'en répondant à cette question, je me perdais souvent dans des explications techniques qui peuvent vite paraître touffues, sans toujours réussir à faire ressortir le fun et la relative facilité de l'exercice.

Oui, "relative facilité", car ce n'est pas non plus complètement trivial. Surtout si on se réfère à la plupart des tutoriels, qui se concentrent sur la manière classique de contribuer, à savoir aller sur le terrain muni d'un GPS et d'un carnet, faire des relevés, les importer sur son ordinateur, reporter les informations à la main, créer des parties entières de carte inexistante, etc. Si cette façon de procéder reste la plus complète, l'implication qu'elle demande peut paraître d'emblée un peu intimidante. Or, comme pour Wikipedia où l'on peut écrire de nouveaux articles entiers ou simplement corriger une coquille de temps en temps, il existe de nombreux niveaux pour contribuer à OpenStreetMap.

Des outils développés par la communauté proposent des façons light et très ciblées d'aborder le problème. C'est le cas de certains outils de diagnostic automatique, suffisamment malins pour détecter des erreurs ou manques dans la base de données, mais demandant tout de même une intervention humaine pour les corriger. Ils proposent alors des micro-tâches, réalisables très facilement même par des gens peu expérimentés.

Trouver ce que vous pouvez remplir

L'un de ces outils s'attaque au problème très concret des routes sans noms. Si vous voulez commencer à contribuer de manière très simple à OSM, je vous propose de l'utiliser. Mais avant tout, il vous faudra disposer d'un compte utilisateur OpenStreetMap. Si ce n'est pas encore le cas, rendez-vous sur la page d'inscription pour en créer un. C'est fait ? Bravo, bienvenue dans la communauté OSM ! :)

Revenons donc à notre outil, accessible à l'adresse suivante : http://qa.poole.ch/. Il se présente sous la forme d'une simple carte, sur laquelle une surcouche a été ajoutée pour mettre en valeur les voies de circulation qui n'ont ni nom (ex : "Rue de la République"), ni numéro (ex : "N 115"). Comme vous le verrez, c'est un problème assez répandu, dû au fait qu'une grande partie des routes ont été tracées à partir d'images satellites et sans relevé local. La carte paraît complète, car les axes existent physiquement, mais il lui manque de nombreuses informations. C'est aussi très gênant pour des services annexes qui utilisent les données OSM, comme la recherche d'adresses ou les instructions d'itinéraires. Résoudre ce problème a donc un impact positif direct sur la qualité d'OpenStreetMap.

2012-11-19_osm_nonames_1.png
Sur OpenStreetMap, il y a toujours du boulot !

Pour vous y attaquer, zoomez sur une zone géographique restreinte que vous connaissez bien. Ça peut être votre ville, le quartier où vous bossez, le bled de vos parents, etc. Il va s'agir d'utiliser votre connaissance réelle du terrain (et pas d'autres cartes !) pour combler les trous, un par un. Donc à partir de là, si vous voyez qu'une rue/route que vous connaissez est tracée en rouge sur la carte, vous êtes prêt à améliorer OSM en faisant votre première édition !

2012-11-19_osm_nonames_2.png
Oh, une rue sans nom que je connais !

Compléter les données

Quand vous avez identifié une voie de circulation que vous pouvez compléter, rendez vous sur le petit menu "View/Edit" en haut à gauche de la carte, et choisissez l'option "Edit in P2". Un nouvel onglet va s'ouvrir et charger l'éditeur "Potlatch 2", qui permet de faire des modifications OSM directement depuis un navigateur web. Cet outil va charger l'imagerie satellite de la zone, mais surtout ses données brutes, vectorielles, telles qu'elles figurent dans la base de données OSM. À ce stade, c'est l'équivalent de la vue "Modifier" d'un article sur Wikipedia, vous avez tout contrôle sur les objets géographiques, vous êtes tout puissant !

Maintenant, il reste simplement à renseigner le nom de la voie que vous aviez repérée. Pour cela, cliquez sur sa représentation vectorielle. Le panneau de gauche va afficher diverses informations sur l'objet en question, dont normalement un champ "Name" à la valeur "Unset". Remplissez ce champ avec le nom que vous connaissez et validez. Pour les voies principales qui n'ont pas forcément de nom, comme les départementales ou nationales, si vous connaissez leur numéro, renseignez le champ "Ref". Et bien entendu, si vous êtes en mesure de renseigner plusieurs noms manquants dans cette zone, ne vous gênez pas pour le faire !

2012-11-19_osm_potlatch.png
La même vue dans Potlatch 2

La dernière étape consiste à remonter réellement le lot de modifications effectuées vers la base de données OSM. Ceci se fait grâce au bouton "Save" en haut à gauche de l'interface. Comme pour un commit dans un système de gestion de source, il est possible d'ajouter un commentaire (et c'est une bonne habitude à prendre).

Voilà, félicitations, vous venez de faire votre première édition dans OpenStreetMap ! Le résultat devrait être visible quelques minutes plus tard sur la carte openstreetmap.org, mais surtout, vous avez enrichi la base de données pour tout le monde et tous les usages.

La suite

Ceci n'est qu'un tutoriel très simple, mais il permet déjà de se familiariser avec le workflow de base d'OSM : sélection d'une zone à compléter, édition, sauvegarde. Que vous fassiez comme ici de petites retouches ou que vous cartographiez une ville entière, ce sera la même chose. Et s'il existe des outils plus poussés que Potlatch (JOSM par exemple), celui-ci permet de faire quasiment tout à partir d'un navigateur.

Les choses les plus évidentes, vous les avez sûrement déjà remarquées : d'autres attributs à ajouter, comme les limites de vitesse ou les éventuels sens uniques.

Pour passer au "niveau supérieur", il faut non pas seulement compléter les objets existants, mais en dessiner de nouveaux (points ou vecteurs) sur la carte… C'est simple, et je suis sûr que vous trouverez comment on fait en bidouillant un peu :) Sinon n'hésitez pas à poser des questions ici !