MapOSMatic : un plan de ville pour tous! David Mentré Gulliver MapOSMatic 7 mars 2011
Plan 1 MapOSMatic 2 Il était une fois... 3 Derrière la page web 4 À l avenir 5 Conclusion David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 2 / 29
Qui est derrière MapOSMatic David Decotigny, Maxime Hadjinlian, Frédéric Lehobey, Pierre Mauduit, Maxime Petazzoni, Thomas Petazzoni, Gaël Utard, une douzaine d autres contributeurs pour les traductions, et aussi... David Mentré Membre de Gulliver Co-développeur de MapOSMatic David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 3 / 29
MapOSMatic Origine de MapOSMatic Idée originale Ce serait sympa de pouvoir utiliser les données d OpenStreetMap pour générer un plan de ville avec index, comme les plans de rues ou les cartes. Gilles Lamiral, Contributeur OSM rennais David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 4 / 29
MapOSMatic Origine de MapOSMatic Un plan de ville David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 5 / 29
MapOSMatic Origine de MapOSMatic Carte pliable David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 6 / 29
MapOSMatic Fonctionnalités Fonctionnalités Carte à la demande d un plan de ville Sortie Mapnik de l emplacement avec une grille (ABC..123..) et un index des rues et équipements référençant la grille (A5-B3) Formats PDF, SVG et PNG. CSV pour l index L emplacement est donné : par une limite administrative Le service Nominatim fait l association nom de ville limite administrative le contour de la ville nous permet de griser son entourage ou par des coordonnées géographiques avec une carte glissante Traitement spécifique à la langue pour le tri de l index Rue du Moulin Moulin (Rue du), sous la lettre M Code Libre! (licence Affero GPLv3) David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 7 / 29
MapOSMatic Une rapide utilisation Page principale David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 8 / 29
MapOSMatic Une rapide utilisation Création d une carte : sélectionner la ville David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 9 / 29
MapOSMatic Une rapide utilisation Création d une carte : sélectionner la langue et hop! David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 10 / 29
MapOSMatic Une rapide utilisation Traitement en cours David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 11 / 29
MapOSMatic Une rapide utilisation Résultat final David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 12 / 29
MapOSMatic Une rapide utilisation Création d une carte, par sélection géographique David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 13 / 29
MapOSMatic Quelques exemples de rendus Quelques exemples... David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 14 / 29
Il était une fois... La petite histoire (1/2) L essentiel du développement a eu lieu lors de hackfests : regroupement de 4 à 6 développeurs durant une semaine dédié au développement de MapOSMatic Première hackfest en août 2009 : Six contributeurs à OSM, aucune connaissance de PostgreSQL, PostGIS, Mapnik et des structures de données d OSM, et en à peine cinq jours MapOSMatic était né C est une première version! Limité à la France, ne fonctionne qu en anglais et français, interface utilisateur très simple, les données OSM ne sont jamais mises à jour David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 19 / 29
Il était une fois... La petite histoire (2/2) Deuxième hackfest en décembre 2009 : Couverture mondiale, mises à jour quotidiennes, infrastructure d internationalisation, interface utilisateur améliorée, recherche utilisant Nominatim, équipements collectifs dans l index Troisième hackfest en août 2010 : Améliorations en préparation de la version 2 : prise en compte de la taille de la feuille pour l impression,... Développements réguliers mais peu intensifs en dehors des hackfests (amélioration de l interface, support des langues D-à-G, des caractères exotiques, etc.) David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 20 / 29
Derrière la page web Architecture Architecture MapOSMatic est composé : 1 du service web MapOSMatic, réalisé avec le framework web Django (en Python) : utilise OpenLayers pour la carte glissante et Nominatim pour la recherche de limite administrative stocke les demandes de carte dans une base de données 2 du module Python OcitySMap Génère la carte et l index à partir des coordonnées de la zone, du nom de la limite administrative ou de l ID du polygone OSM 3 du démon MapOSMatic qui : exécute les demandes en attentes dans la base de données avec OcitySMap met à jour la base de données pour informer l interface web MapOSMatic que le résultat est disponible David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 21 / 29
Derrière la page web Architecture Architecture David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 22 / 29
Derrière la page web Infrastructure Infrastructure MapOSMatic tourne sur deux serveurs : base de donnée sur un serveur prêté temporairement par la FSF-France 24 cœurs, 64 Go de RAM avec PostgreSQL 8.4 et PostGIS 1.5, mises à jour Osmosis granularité minute service web et moteur de rendu sur une machine virtuelle hébergée chez Enix.org 3 cœurs, 4 Go de RAM, 1 To de disque Solution temporaire : notre ancien serveur n avait plus d espace disque et les mises à jour prenaient trop de temps (16 à 20 heures)! Nous cherchons une solution pérenne de remplacement David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 23 / 29
Derrière la page web Infrastructure Quelques statistiques Base de données OSM mondiale : 177 Go 4.000 visiteurs uniques par mois 50 cartes/jour en moyenne 15.000 cartes faites depuis septembre 2009 On n était pas les seuls à avoir ce besoin! David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 24 / 29
Derrière la page web Grimper sur les épaules des géants Grimper sur les épaules des géants Puissance des logiciels libres : en quelques jours, il a été possible d apprendre et mettre en place une application OSM comme MapOSMatic MapOSMatic c est 1.400 lignes de Python et OcitySMap c est 2.000 lignes de Python. Le reste c est un peu de HTML/JavaScript pour l interface web et les traductions Le premier niveau de dépendances (PostgreSQL, PostGIS, Apache, Mapnik, etc.) de MapOSMatic comptabilise plus de 600.000 lignes de code. MapOSMatic n en représente que 0,5 %! David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 25 / 29
À l avenir Version 2 déjà accessible Version 2 déjà accessible http://dev.maposmatic.org David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 26 / 29
A l avenir Version 2 de ja accessible Version 2 : un exemple David Mentre (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 27 / 29
À l avenir Dans les cartons Dans les cartons Sur la carte : une légende des points d intérêts et des couches configurables (en lien avec Chimère?) Sur les options de génération choix de la taille du papier découper une carte sur plusieurs pages styles configurables Changements d infrastructure nouveau serveur (fait) utiliser Osmosis pour les mises à jour par minutes optimisations du pipeline de rendu Votre fonctionnalité! David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 28 / 29
Conclusion Conclusion C est grâce aux efforts des autres (logiciels libres, OpenStreetMap) que nous avons pu créer MapOSMatic Nous espérons que MapOSMatic est utile pour illustrer l intérêt des œuvres libres comme OpenStreetMap. Nous espérons l améliorer dans le futur Encore une fois, MapOSMatic est un logiciel libre! Venez nous rejoindre! Nous avons une liste de diffusion, un dépôt Git et un canal IRC! 1 http://www.maposmatic.org 2 irc://irc.freenode.net/#maposmatic David Mentré (Gulliver MapOSMatic) MapOSMatic : un plan de ville pour tous! 7 mars 2011 29 / 29