Aller au contenu

Créer des clés API Google Maps

WP-ImmoMakler nécessite deux clés API Google Maps distinctes : une clé côté serveur pour les opérations en arrière-plan et une clé côté navigateur pour l’affichage des cartes sur votre site web.

Console Google Cloud avec l'aperçu des API activées pour un projet WP-ImmoMakler

L’utilisation des API Google Maps nécessite un compte Google associé à un compte de facturation. Google exige la fourniture d’un compte bancaire ou d’une carte de crédit, même si vous ne dépassez pas le quota gratuit. En pratique, même les agents immobiliers disposant de plusieurs centaines de biens immobiliers et d’un trafic important sur leur site restent dans les limites du quota mensuel gratuit, sans frais supplémentaires habituels.

Cette clé est utilisée pour les fonctions suivantes :

  • Géocodage automatique des adresses des biens (Geocoding API)
  • Cartes dans la vue d’impression PDF (Maps Static API)
  • Auto-complétion des adresses dans le back-office (Places API)

API à activer :

Restriction : Limitez cette clé à l’adresse IP de votre serveur. L’adresse IP de votre serveur est affichée directement dans les paramètres de WP-ImmoMakler.

Console Google Cloud avec les paramètres de la clé API côté serveur et la restriction par adresse IP

Clé 2 : Clé API côté navigateur (clé JavaScript API)

Section intitulée « Clé 2 : Clé API côté navigateur (clé JavaScript API) »

Cette clé est utilisée pour les fonctions suivantes :

  • Affichage des cartes sur votre site web (Maps JavaScript API)
  • Auto-complétion des adresses dans le formulaire de recherche (Places API)

API à activer :

Restriction : Limitez cette clé aux référents HTTP, c’est-à-dire au(x) domaine(s) de votre site web. Ajoutez un astérisque joker à la fin du domaine pour que toutes les sous-pages fonctionnent correctement, par exemple : https://www.votre-site.fr/*

Console Google Cloud avec les paramètres de la clé JavaScript API côté navigateur et la restriction par référent HTTP

La clé côté navigateur est publiquement visible dans le code source de votre site web. Pour des raisons de sécurité, les clés API doivent donc être restreintes afin qu’aucun tiers ne puisse les utiliser à vos frais. Cependant, une seule clé API ne peut être restreinte qu’aux adresses IP ou aux noms de domaine, pas aux deux simultanément. Comme les API Geocoding et Static Maps sont appelées depuis le serveur (restriction à l’IP du serveur), tandis que les API JavaScript et Places sont appelées depuis le navigateur de vos visiteurs (restriction au domaine référent), vous avez besoin de deux clés distinctes.

Saisissez les clés créées dans le back-office de votre site (wp-admin) sous WP-ImmoMakler > Paramètres > Google Maps. Insérez la clé côté serveur dans le champ de la clé Geocoding et la clé côté navigateur dans le champ de la clé JavaScript.

Si vous rencontrez des problèmes lors de la configuration des clés, n’hésitez pas à contacter notre support. Nous serons heureux de configurer les clés ensemble par partage d’écran.

Emplacement du proxy Fast-API pour l’auto-complétion des adresses

Section intitulée « Emplacement du proxy Fast-API pour l’auto-complétion des adresses »

Pour que l’auto-complétion des adresses dans la recherche de proximité réponde rapidement, WP-ImmoMakler dépose un petit script PHP (immomakler-autocomplete.php) sur votre site web. Ce script reçoit la saisie du formulaire de recherche, la transmet côté serveur à l’API Google Places (New) et renvoie les suggestions — sans charger le cœur complet de WordPress. La liste de suggestions est ainsi nettement plus rapide, et la clé API Google Maps reste exclusivement sur le serveur sans être envoyée au navigateur.

Emplacement par défaut : wp-content/cache/immomakler/fast-api/immomakler-autocomplete.php

Un fichier .immomakler-autocomplete-secrets.php est également déposé avec le script. Il contient la clé API Google Maps, les URL d’origine autorisées, ainsi que les pays configurés et la zone de recherche. Les deux fichiers sont automatiquement mis à jour à chaque modification des paramètres correspondants.

Dans le back-office de votre site (wp-admin) sous WP-ImmoMakler > Paramètres > Google Maps, vous trouverez le paramètre Auto-complétion des adresses Recherche de proximité : Emplacement du proxy Fast-API. Les options disponibles sont :

  • wp-content (Par défaut) – les fichiers sont situés sous wp-content/cache/immomakler/fast-api/. Recommandé pour toutes les nouvelles installations.
  • Répertoire racine – les fichiers sont situés directement à côté de wp-config.php. Solution de repli pour les installations où une extension de sécurité comme Wordfence ou iThemes Security bloque l’exécution des fichiers PHP sous wp-content/.

Si l’auto-complétion des adresses dans la recherche de proximité ne répond pas (liste de suggestions vide) et que le plugin ne peut pas établir de connexion au proxy Fast-API même après le chargement de la page, c’est généralement parce qu’une extension de sécurité a bloqué l’exécution des fichiers PHP dans le répertoire wp-content/. Dans ce cas, changez le paramètre sur Répertoire racine. La recherche de proximité continuera de fonctionner indépendamment — WP-ImmoMakler utilise les interfaces WordPress standard (API REST et admin-ajax) comme option de repli automatique, bien que ces chemins soient un peu plus lents.

Dans les réseaux WordPress Multisite, l’emplacement wp-content est toujours utilisé pour des raisons de sécurité et ne peut pas être changé en répertoire racine. Chaque site du réseau reçoit son propre sous-dossier (par ex. wp-content/cache/immomakler/fast-api/2/ pour le site avec l’ID de blog 2), de sorte que chaque site peut fonctionner avec sa propre clé API Google Maps, ses propres sélections de pays et sa propre zone de recherche. Le répertoire racine est partagé par tous les sites du réseau — y stocker les informations d’accès entraînerait donc que tous les sites utilisent la même clé API, ce qui n’est pas souhaitable dans les configurations multisite avec des propriétaires différents.

Si WP-ImmoMakler affiche la notice « WP-ImmoMakler : Places API (New) non activée » dans le back-office de votre site (wp-admin), cela signifie que la Places API (New) n’est pas activée pour votre clé API serveur Google dans la Google Console, ou qu’elle n’est pas sélectionnée dans les restrictions d’API de la clé. Dans ce cas, l’auto-complétion des adresses dans la recherche de proximité ne fonctionnera pas.

Solution :

  1. Ouvrez la Places API (New) dans la Google Console et activez l’API pour votre projet.
  2. Ouvrez la clé API serveur concernée sous Identifiants API et ajoutez la Places API (New) à la liste des API autorisées sous « Restrictions d’API ».
  3. Accédez à la page des paramètres dans le back-office de votre site (wp-admin) sous WP-ImmoMakler > Intégrations > Google Maps — WP-ImmoMakler teste automatiquement la clé lors du chargement de la page. Si le test a réussi, la notice disparaît.