Migration

Migrer depuis Mapbox Geocoding

Mapbox Geocoding renvoie les résultats sous forme de FeatureCollection GeoJSON, un choix délibéré qui permet de transmettre directement la sortie à Mapbox GL ou à toute autre bibliothèque cartographique compatible GeoJSON. Chaque feature contient une paire de coordonnées center, une chaîne place_name et un tableau context décrivant la région, le pays et le code postal qui la contiennent. L'authentification repose sur un jeton d'accès, généralement transmis comme paramètre de requête, et de nombreuses équipes utilisent aussi le même jeton pour leurs tuiles de carte web et leurs appels de géocodage.

Ce double usage d'un même jeton mérite d'être remarqué avant une migration, car il signifie que l'appel de géocodage et l'appel de rendu de carte sont souvent plus imbriqués dans le code applicatif qu'il n'y paraît. Les séparer proprement, pour que la requête de géocodage puisse pointer vers un nouvel hôte tandis que les tuiles de carte restent là où elles sont, est généralement la première vraie décision à prendre.

L'hôte de compatibilité Mapbox de My Geocode reproduit la structure FeatureCollection, y compris les champs center, place_name et context, de sorte que le code construit autour de response.features[0].center continue de fonctionner après le changement. Seuls les textes de copyright, de conditions et de confidentialité de la réponse diffèrent de ceux de Mapbox. La référence des champs se trouve sur /compatibility/mapbox/.

Quelques remarques pratiques pour les équipes qui effectuent cette migration :

  • Si votre front-end appelle Mapbox Geocoding directement depuis du JavaScript côté client, déplacer d'abord cet appel vers un proxy côté serveur vaut la peine d'être envisagé, quel que soit le fournisseur retenu, car cela garde les clés d'API hors du code du navigateur
  • L'authentification accepte un en-tête X-API-Key, un en-tête Authorization: Bearer, l'authentification HTTP Basic ou un paramètre de requête : quel que soit le style utilisé par votre client Mapbox actuel pour son jeton d'accès, il devrait correspondre à l'une de ces options
  • Si vous vous appuyez sur les paramètres de proximité ou de zone de délimitation de Mapbox pour orienter les résultats vers une région, consultez la documentation de l'hôte de compatibilité pour connaître les noms de paramètres équivalents avant de supposer qu'ils sont repris à l'identique

La tarification supprime la structure de paliers de jetons qui augmente avec l'usage sur de nombreuses plateformes cartographiques. Ici, 2 500 requêtes par jour sont gratuites sans aucune clé, et chaque clé dispose en plus de ses propres 2 500 requêtes gratuites par jour, comptées par réseau. Au-delà, c'est du crédit prépayé à 0,0001 € par requête ou une clé Unlimited à 50 € par mois, et chaque endpoint, y compris cet hôte de compatibilité, coûte le même montant.

Comme Mapbox est souvent utilisé avec des tuiles de carte et des images de carte statiques plutôt que pour le seul géocodage, il vaut la peine d'être clair sur le périmètre : My Geocode est une API de géocodage, d'IP, de fuseau horaire, d'altitude et de recherche de code postal, pas un fournisseur de tuiles ou de fonds de carte. Les équipes qui conservent leur rendu cartographique actuel tout en déplaçant uniquement la recherche d'adresses vers un nouvel hôte doivent s'attendre à faire tourner deux fournisseurs côte à côte pendant un certain temps, l'un pour les tuiles et l'autre pour le géocodage, ce qui est une manière normale et stable de répartir le travail et non un état temporaire à expédier au plus vite.