Des outils libres pour aider les communes de France à créer des cartes détaillées de leur territoire, prêtes à imprimer en grand format.
Générer une carte · Documentation
État du projet : utilisable. Trois façons de générer une carte : la page web, l'application de bureau et la ligne de commande — et une API, pour l'intégrer à d'autres logiciels. À partir de la version 1.0.0, les commandes, l'API et les fichiers produits ne changent plus sans une version majeure : le journal des modifications dit ce qui est garanti, et ce qui ne l'est pas.
Une commune a souvent besoin d'une carte de son territoire :
- assez détaillée pour y lire le nom de toutes les rues ;
- enrichie de ses propres données : points de collecte des déchets, zones de risques (inondation, retrait-gonflement des argiles…) ;
- imprimable en grand format (A3 ou plus) pour l'afficher en mairie ou la présenter en réunion.
Le projet est né de ce besoin à Colombiers, dans la Vienne. L'idée : partir du contour officiel de la commune, récupérer les tuiles de fonds de carte ouverts au niveau de détail le plus fin, puis les recoller en une seule image.
Avoir une idée est une chose, la réaliser en est une autre. Ce projet a été écrit en binôme avec Claude Code : le besoin, les arbitrages et les choix de conception viennent de son auteur, élu d'une commune de 1 400 habitants ; l'assistant écrit le code, mesure, teste et documente.
Ce que cela change pour qui veut s'y fier : les décisions de rendu s'appuient sur des mesures reproductibles plutôt que sur des intuitions, le comportement est couvert par des tests lancés à chaque modification, et les conditions d'utilisation des données affichées ont été vérifiées une à une (Données utilisées et licences). Les consignes données à l'assistant sont publiques, dans CLAUDE.md.
- Fait : un outil en ligne de commande qui valide le recollage de tuiles sur l'emprise d'une commune.
- Fait : une page web pour générer une carte sans rien installer.
- Fait : une application de bureau, pour les cartes que le navigateur ne sait pas produire, avec ses installeurs pour macOS, Windows et Linux.
- Fait : ajouter les données de la commune sur les cartes (points, zones, tracés), avec leurs catégories, leur légende et un aperçu avant génération.
- Fait : un catalogue de couches ouvertes à superposer — cadastre, zonage et prescriptions des PLU, courbes de niveau, bandes tampons des cours d'eau, artificialisation des sols, PPR inondation et mouvements de terrain, cavités souterraines, canalisations de matières dangereuses, secteurs d'information sur les sols, aléa retrait-gonflement des argiles.
- Fait : une documentation utilisateur en ligne, et une aide dans les outils eux-mêmes.
- Fait : ouvrir le catalogue aux couches que la commune fournit elle-même, par l'adresse de leurs tuiles ou d'un service WMS.
- Fait : une API HTTP, pour intégrer cartes à d'autres logiciels, et son déploiement sur Clever Cloud.
- Fait : géocoder une liste d'adresses, pour placer sur la carte les données qu'une mairie a sans coordonnées.
La documentation est en ligne : https://sebprunier.github.io/cartes/
- Prise en main — une première carte en cinq minutes
- Zoom et impression — pourquoi le zoom maximal n'est pas le bon choix
- Ajouter des données — couches publiques et fichiers de la commune
- Application de bureau et ligne de commande
- API — intégrer cartes à un autre logiciel, et la déployer sur Clever Cloud
- Sources et licences — ce que les données permettent, et ce qu'elles imposent
- Problèmes courants
Les pages sont écrites en Markdown dans docs/ : elles se lisent aussi bien ici que sur le site.
La page Comment ça marche raconte ces étapes en images : les tuiles et le zoom, l'assemblage, les calques, la mémoire.
- Commune : l'API de géocodage de la Géoplateforme (
type=municipality) donne le code INSEE. En cas d'homonymes, l'outil liste les candidates et demande de préciser le département. - Contour : récupéré depuis ADMIN EXPRESS via le service WFS de la Géoplateforme (couche
ADMINEXPRESS-COG.LATEST:commune, filtre surcode_insee). - Emprise : la bbox du contour, élargie d'une marge (3 % par défaut), est convertie en pixels Web Mercator au niveau de zoom demandé, ce qui donne la liste des tuiles à récupérer.
- Téléchargement : 6 requêtes simultanées, nouvelles tentatives en cas d'erreur (la Géoplateforme renvoie parfois des erreurs passagères), cache sur disque.
- Assemblage : les tuiles sont recopiées dans une image aux dimensions exactes de l'emprise, puis les couches, le contour, les données ajoutées, la légende et la mention des sources sont superposés — en images pour les couches servies comme telles, en calques SVG pour ce que l'outil dessine lui-même.
Les évolutions de chaque version sont décrites dans le journal des modifications. La version installée s'affiche avec cartes --version.
Les contributions sont les bienvenues ! Le guide de contribution explique comment préparer son environnement, lancer les tests et proposer une modification. Les participants s'engagent à respecter le code de conduite.
Pour signaler une faille de sécurité, suivez la politique de sécurité.
Code publié sous licence MIT.
