OpenStreetMap – Héberger une alternative à Google Maps (gratuitement) sur votre NAS

Que ce soit pour une utilisation Web ou pour une application mobile, il existe une solution simple et gratuite d’avoir des cartes ultra-détaillées et mises à jour régulièrement : OpenStreetMap (OSM). Vous avez dû en entendre parlé et/ou vous l’utilisez certainement déjà : Facebook, Wikipedia, Snapchat, TripAdvisor ou encore Moovit, Pokémon GO, MAPS.ME… Le service fournit des données cartographiques pour des milliers de sites et applications mobiles. Aujourd’hui, je vous propose de récupérer des cartes et de les héberger sur votre NAS grâce à Docker.

OpenStreetMap

Si vous ne connaissez pas OpenStreetMap, je vous propose de découvrir le service sur le site officiel. La partie open source et les explications du projet sont à cette adresse. OpenStreetMap n’est pas 100% gratuit. En effet, les cartes les plus complètes et l’usage commercial nécessitent de souscrire à des offres payantes.

NAS et Docker

Nous allons utiliser un NAS Synology pour ce tuto, mais cela fonctionnera également sur un QNAP ou ASUSTOR. Dans un premier temps, nous devons récupérer l’image : klokantech/openmaptiles-server. C’est son nom officiel comme vous pourrez le lire sur le site. Elle pèse pas moins de 1 Go.

On lance la création du conteneur et on clique sur le bouton Paramètres avancés. Dans l’onglet Volume, j’ajoute une entrée /Data (cf. image ci-dessous).

Dans l’onglet Paramètres des ports, j’active un port local (9080 dans mon cas) qui correspondra au port 80 du conteneur OpenStreetMap Server.

J’applique les modifications et je valide la configuration du conteneur. Voilà, c’est terminé pour la partie serveur/Docker.

Lancement OpenStreetMap

Dans le navigateur, je tape l’adresse IP du NAS (ou son nom) suivi du port (dans mon cas 9080). L’accès se fait en HTTP. Là, une page de configuration s’ouvre.

On constate qu’on dispose bien de la partie serveur gratuite (mention en haut à gauche). On clique sur le bouton Start en bas à droite. Là, l’application vous informe qu’une seule carte (Zurich) peut être utilisée sans enregistrement. Ce n’est pas bloquant, on en reparle un peu plus bas. Si vous souhaitez télécharger toutes les cartes proposées, de la planète, cela nécessitera  71 Go de stockage sur le NAS.

Configuration OpenStreetMap

Pour ce tuto, je vais sélectionner la France uniquement (poids 5,03 Go). On appuie sur le bouton Continue.

On peut sélectionner un à plusieurs styles de cartes en fonction des besoins. Est-ce dû à ma configuration, la prévisualisation ne fonctionne pas. Voici les différences :

  • Dark Matter (carte de base en mode sombre)
  • Klokantech Basic (carte de base colorée)
  • OSM Bright (carte avec de nombreux détails)
  • Positron (carte de base idéale pour un fond de carte)

Derniers réglages, il faut sélectionner le type de carte que l’on souhaite avoir : tuiles vectorielles (vector) plus légères, tuiles matricielles (raster), services de cartes pour QGIS ou ArcGIS, vignette pour de l’impression. Il est possible de tout choisir ou de sélectionner ce que l’on veut. À noter qu’il y a un lien Advanced Options permet de régler la qualité des tuiles matricielles, la dimension maximum des images, mais aussi le nom du serveur, la mémoire utilisée.

Et la clé ?

Comme indiqué précédemment, seule une carte est utilisable sans enregistrement. Nous avons sélectionné la France, il faut maintenant une clé pour télécharger les cartes. On clique sur le lien Click here to get the download key. Une nouvelle page s’ouvre. Je sélectionne l’objectif de mon téléchargement et son usage non-commercial personal project et je clique sur le bouton en bas à droite Free download (after you sign-in).

On s’enregistre avec une adresse email par exemple et un mot de passe. On retourne sur l’écran précédent et à la place du bouton Free download, une clé apparait. Je peux la copier et la coller dans mon installation. C’est fini. Vous pouvez maintenant profiter de votre installation.

Images satellites

Pour ajouter les images satellites, il faut passer par un téléchargement manuel et copier-coller le fichier dans votre dossier Docker (dans mon cas /docker/OpenStreetMap). Attention, il s’agit d’un format image et il est limité (low resolution).

OpenStreetMap et Docker

Nous avons vu ici rapidement qu’il est possible d’installer sur son NAS (grâce à Docker) des cartes OpenStreetMap et les utiliser pour un site Web ou une application. À vous de jouer maintenant !