L'essentiel
- Pour une adresse postale française avec numéro, la Géoplateforme (BAN) est la référence : 4 bonnes réponses sur 4 adresses existantes, faute de frappe comprise, dans notre test.
- Pour un hameau, un col, un refuge ou un monument, Nominatim et Photon font mieux que la recherche d'adresses de la Géoplateforme, qui cherche une rue portant le nom. Son index
poicorrige une partie de l'écart. - Photon tolère les fautes de frappe, Nominatim non. Mais face à une adresse inexistante, seul Nominatim n'a rien répondu : c'était la bonne réponse.
- Les serveurs publics de Nominatim et de Photon ne sont pas faits pour un site en production : 1 requête par seconde pour l'un, un usage « raisonnable » sans garantie pour l'autre.
- Héberger Photon soi-même demande Java 21, une base de 5,1 Go pour la France et de la mémoire : c'est la voie pour un volume réel sur des données OpenStreetMap.
Trois API gratuites, trois réponses à la même question
Le 27 septembre 2026, à 19 h 09, nous avons demandé « Monastère de la Grande Chartreuse » aux trois moteurs. Nominatim et Photon ont rendu le monastère, à Saint-Pierre-de-Chartreuse, au même point à un mètre près. La Géoplateforme a rendu « Rue de la Briane, 12000 Le Monastère », dans l'Aveyron, à 277 kilomètres. Aucun des trois n'est en panne. Ils ne cherchent pas la même chose.
La Géoplateforme interroge par défaut la Base adresse nationale : des numéros, des voies, des lieux-dits adressés, avec un score de confiance. Nominatim et Photon interrogent OpenStreetMap, où un monastère, un col ou un refuge est un objet à part entière. Le bon choix dépend donc de ce que tapent vos visiteurs, bien avant la question du prix.
Sur une carte de randonnée, ils tapent rarement une adresse postale.
Le test : seize requêtes, le 27 septembre 2026
Chaque requête est partie telle qu'un visiteur l'aurait tapée, sans nettoyage, vers
data.geopf.fr/geocodage/search, nominatim.openstreetmap.org/search (limité à la France) et
photon.komoot.io/api (limité à l'emprise de la France métropolitaine), en ne gardant que le
premier résultat. Une pause d'au moins une seconde séparait chaque appel. Nous avons jugé chaque
réponse à la main : bon si le point tombe sur l'objet demandé, partiel si c'est le bon secteur mais
pas le bon objet, faux sinon. Le score est celui de la Géoplateforme, de 0 à 1. Nominatim et
Photon n'en rendent pas d'équivalent.
| Requête | Géoplateforme (BAN) | Nominatim | Photon |
|---|---|---|---|
| 20 avenue de Ségur 75007 Paris | Bon (0,97) | Bon | Bon |
| 8 boulevard du Port 80000 Amiens | Bon (0,97) | Bon | Bon |
| 1 place de la Comédie 34000 Montpellier | Bon (0,97) | Bon | Partiel : la place, à 103 m |
| 12 rue de la Répiblique 69002 Lyon | Bon, faute corrigée (0,78) | Aucun résultat | Bon, faute corrigée |
| 3 rue du Général de Gaule 38380 Saint-Laurent-du-Pont (voie absente de la BAN dans cette commune) | Faux : Saint-Laurent-Médoc, Gironde (0,60) | Aucun résultat, à raison | Faux : une caserne de la commune |
| 10 rue des Lilas Grenble (voie absente à Grenoble) | Faux : Toulouse (0,60) | Aucun résultat, à raison | Faux : Bouranton, Aube |
| Col de Porte 38700 Sarcenas | Bon : la route du col (0,66) | Bon | Bon : le col lui-même |
| Habert de Chamechaude Sarcenas (commune erronée) | Faux : un chemin à 2,2 km (0,56) | Aucun résultat | Bon, commune corrigée |
| La Ruchère 73670 Saint-Christophe-sur-Guiers (code postal erroné) | Partiel : la route, à 549 m (0,62) | Bon | Bon |
| Monastère de la Grande Chartreuse | Faux : Le Monastère, Aveyron (0,37) | Bon | Bon |
| Valchevrière Villard-de-Lans | Partiel : un chemin à 2,1 km (0,67) | Bon | Bon |
| Refuge du Goûter Saint-Gervais-les-Bains | Faux : une route à 9,4 km (0,60) | Bon | Partiel : l'aiguille voisine, à 52 m |
| Le Planet 74400 Argentière | Partiel : Argentière, à 637 m (0,53) | Bon | Bon |
| Pic du Midi de Bigorre | Faux : une allée à Rieumes, Haute-Garonne (0,68) | Bon | Bon |
| Chamonix Mont Blanc | Bon (0,95) | Bon | Bon |
| Gare de Grenoble | Bon : la place de la Gare (0,57) | Bon | Faux : la gare de Gières, à 5,4 km |
| Bilan sur 16 | 7 bons, 3 partiels, 6 faux | 12 bons, 2 refus justes, 2 sans résultat | 11 bons, 2 partiels, 3 faux |
Deux limites, dites franchement. Seize requêtes ne font pas une étude : c'est un échantillon choisi pour faire apparaître les différences, lourd en montagne parce que c'est le terrain de nos cartes. Et les temps de réponse, mesurés depuis un seul poste en France, ne sont qu'un ordre de grandeur : un dixième de seconde en médiane pour la Géoplateforme, un quart de seconde pour Photon, une demi-seconde pour Nominatim.
Ce que le tableau dit de chaque moteur
La Géoplateforme a rendu les quatre adresses postales existantes sans une erreur, faute de frappe comprise, avec un score de 0,97 sur les adresses exactes. C'est la référence pour une adresse de livraison, un formulaire, un fichier de clients. Son piège est ailleurs : elle rend toujours quelque chose. « 3 rue du Général de Gaule » à Saint-Laurent-du-Pont, une voie qui n'existe pas dans la BAN de cette commune, est parti en Gironde avec un score de 0,60. Un score sous 0,7 se vérifie, toujours.
Sur les lieux, la recherche d'adresses de la Géoplateforme cherche une voie qui porte le nom : la
« route du col de Porte », les « allées du Pic du Midi » d'une commune de Haute-Garonne. Relancées
avec index=poi, les requêtes du monastère, du Pic du Midi, du refuge du Goûter et du habert de
Chamechaude ont toutes trouvé le bon lieu, avec un score proche de 0,9. La page
migration vers la Géoplateforme détaille ces index.
Nominatim est le plus prudent. Il n'a jamais rendu de point faux, et il a répondu « rien » aux deux adresses inventées. En échange, une seule lettre de travers suffit à le perdre : « Répiblique » n'a rien donné.
Photon est le plus tolérant. Il a corrigé la faute de Lyon et retrouvé le habert malgré une commune erronée. Il invente aussi : une caserne pour une rue qui n'existe pas, la gare de Gières pour la gare de Grenoble. Sur un col, il rend le point du col, pas le centre du village voisin, et c'est pour cela que la recherche de lieux de nos cartes passe par une instance Photon que nous hébergeons, bornée à la France.
Aucun ne remplace les autres. Le bon montage en combine deux.
À emporter : la checklist de mise en production d'une carte web
Recevoir la checklistCe que « gratuit » permet vraiment
La politique d'usage du serveur public de Nominatim, consultée le 27 septembre 2026, tient en quelques lignes : une requête par seconde au maximum, un User-Agent ou un Referer qui identifie votre application, une attribution visible, des résultats mis en cache. Elle interdit aussi d'en faire une autocomplétion côté client. Elle prévient enfin qu'elle peut changer sans préavis, et que les applications commerciales doivent en tenir compte.
Photon public, servi par komoot, accepte les projets « tant que le nombre de requêtes reste raisonnable », sans chiffre, sans garantie de disponibilité, et bride ou bannit les usages intensifs. La Géoplateforme est la plus généreuse : 50 requêtes par seconde et par adresse IP, sans clé, et un géocodage par fichier CSV pour les volumes.
Le piège de la barre de recherche
Une barre de recherche qui interroge le géocodeur à chaque frappe envoie cinq à dix requêtes pour un seul mot. Branchée sur Nominatim public, elle viole la règle d'une requête par seconde dès le premier visiteur, et l'autocomplétion y est explicitement interdite. Pour une recherche au fil de la frappe, c'est la Géoplateforme, avec un délai d'attente entre deux frappes, ou votre propre Photon.
Les données d'OpenStreetMap sont sous licence ODbL : tout résultat de Nominatim ou de Photon affiché sur une carte porte la mention « © les contributeurs d'OpenStreetMap ». Prévoyez-la dès la maquette.
La carte du Parc naturel régional de Chartreuse, telle qu'elle s'intègre sur un site : on y cherche un col, un hameau ou un départ de sentier, et les itinéraires et les lieux autour s'affichent.
Héberger son propre Photon
Le dépôt de Photon, dans sa version 1.3.0 publiée le 7 août 2026, le dit lui-même : au-delà d'un usage modéré, montez votre instance, « aussi simple que télécharger deux fichiers ». C'est presque vrai. Les deux fichiers sont le programme Java et une base déjà préparée, que GraphHopper publie chaque semaine par pays. Pour la France et Monaco, la base de la version 1.x pesait 5,1 Go compressés au 22 septembre 2026.
La mémoire décide du reste. Le dépôt recommande 64 Go de RAM pour la planète entière, avec 95 Go de
disque sur SSD, et permet de tourner avec moins en augmentant le tas Java (-Xmx). Pour la France
seule, nous n'avons pas de mesure publiée à citer : partez d'une machine à 16 Go, observez, et
laissez de la marge au système pour qu'il ne pagine jamais.
- 1
Préparer la machine
Java 21 ou plus récent, un disque SSD ou NVMe avec deux fois la place de la base, et
pbzip2pour décompresser plus vite. Le dépôt déconseille WinRAR pour l'extraction. - 2
Télécharger la base qui correspond à votre version
Sur le serveur de téléchargement de GraphHopper (lien dans les sources), choisissez l'extrait Europe, France-Monacco, et la base de la même génération que votre programme : la base 1.x pour Photon 1.x. Une base d'une autre version ne démarre pas.
- 3
Lancer le serveur
Depuis le dossier qui contient
photon_data, lancezjava -jar photon-*.jar serve. L'API répond sur le port 2322. Activez le CORS avec-cors-originsi le navigateur l'appelle directement. - 4
Mettre à jour sans casser
Téléchargez et décompressez la nouvelle base à côté de l'ancienne, échangez les dossiers, redémarrez, puis supprimez l'ancienne. Ne décompressez jamais par-dessus : le dépôt prévient que la base en sort corrompue.
- 5
L'emballer dans Docker, si c'est votre standard
Le dépôt ne publie pas d'image Docker officielle. Une image Java 21 qui copie le programme et monte
photon_dataen volume suffit ; la base reste hors de l'image, sinon chaque mise à jour pèse 5 Go.
Une image Docker minimale pour Photon (notre proposition, pas une image officielle)
Le même contenu, à imprimer : la checklist de mise en production d'une carte web
Recevoir la checklistRefaire le test sur vos propres adresses
Le script ci-dessous est celui qui a produit le tableau, allégé. Il tourne sous Node 18 ou plus récent, sans dépendance, et respecte les règles des trois services : User-Agent explicite, une pause d'une seconde et plus entre deux appels. Remplacez notre liste par vingt requêtes tirées de votre propre barre de recherche : c'est le seul test qui compte.
Comparer la Géoplateforme, Nominatim et Photon sur une liste de requêtes
Avant de choisir un géocodeur pour votre site
- Vingt requêtes réelles de vos visiteurs testées sur les trois moteurs
- Un seuil de score sous lequel un résultat de la Géoplateforme est vérifié ou écarté
- Aucune autocomplétion branchée sur Nominatim public
- Un User-Agent qui identifie votre application sur Nominatim et Photon
- Les résultats mis en cache de votre côté
- La mention des contributeurs d'OpenStreetMap visible sur la carte
- Un plan pour le jour où le serveur public vous bride : votre propre Photon, ou un service dédié
FAQ
Quelle est la meilleure API de géocodage gratuite pour la France ?
Pour une adresse postale, le géocodage de la Géoplateforme, qui sert la Base adresse nationale : sans clé, 50 requêtes par seconde, un score de confiance. Pour des lieux nommés, cols, hameaux, refuges, Nominatim et Photon ont fait mieux dans notre test du 27 septembre 2026. Beaucoup de sites combinent les deux.
Peut-on utiliser Nominatim gratuitement sur un site commercial ?
Le serveur public le tolère pour un faible volume, sous conditions : une requête par seconde au plus, un User-Agent identifiant, une attribution visible, un cache, et aucune autocomplétion. Sa politique prévient qu'elle peut changer sans préavis. Pour un site qui compte, hébergez votre propre instance ou passez par un fournisseur.
Quelle différence entre Nominatim et Photon ?
Les deux lisent OpenStreetMap. Nominatim est le moteur de référence du projet, strict sur l'orthographe. Photon, développé par komoot sur une base OpenSearch, tolère les fautes, sait chercher au fil de la frappe et se déploie à partir d'une base toute prête.
Faut-il une clé d'API pour géocoder une adresse française ?
Non, aucun des trois services testés n'en demande. La Géoplateforme limite par adresse IP ; Nominatim et Photon publics demandent de vous identifier par votre User-Agent.
Combien de mémoire faut-il pour héberger Photon ?
Le dépôt recommande 64 Go de RAM et 95 Go de disque pour la planète entière. Un extrait France pèse 5,1 Go compressé au 22 septembre 2026 et demande beaucoup moins de mémoire, sans chiffre officiel publié : mesurez sur votre machine avant de dimensionner.
Sources
- Géocodage, documentation des services de la Géoplateforme, IGN, limite de 50 requêtes par seconde et par IP, données BAN et BD TOPO, consulté le 27 septembre 2026
- Nominatim Usage Policy, OpenStreetMap Foundation, une requête par seconde, User-Agent, cache, attribution, autocomplétion interdite, consulté le 27 septembre 2026
- Dépôt komoot/photon, README, serveur public, Java 21, 95 Go et 64 Go de RAM pour la planète, bases prêtes, mise à jour, consulté le 27 septembre 2026
- Documentation d'usage de Photon, commande
serve, port 2322, CORS, consulté le 27 septembre 2026 - Version 1.3.0 de Photon, publiée le 7 août 2026, consultée le 27 septembre 2026
- Bases Photon France-Monacco, GraphHopper, 5,1 Go pour la version 1.x, mise à jour du 22 septembre 2026, consulté le 27 septembre 2026
- Licence et attribution d'OpenStreetMap, ODbL, consulté le 27 septembre 2026
- Mesure La Trace : 16 requêtes envoyées à
data.geopf.fr/geocodage/search,nominatim.openstreetmap.org/searchetphoton.komoot.io/api, le 27 septembre 2026 à 19 h 09 (heure de Paris), puis 4 requêtes relancées avecindex=poi
À emporter
La checklist de mise en production d'une carte sur un site
Consentement et cookies, clés et quotas, tuiles, géocodage, accessibilité et performance : les points à vérifier avant de mettre une carte en ligne, avec une case par point.
Merci, la checklist part dans votre boîte mail.
Ouvrir la checklistVotre carte doit trouver une rue, un hameau et un col ?
Une démonstration de trente minutes pour voir une carte La Trace posée sur votre site, avec sa recherche d'adresses et de lieux, ses itinéraires, et aucun quota de géocodage à surveiller de votre côté.
Demander une démonstrationÀ emporter : la checklist de mise en production d'une carte web
Recevoir la checklist