Geocodeur
Warning file_get_contents() curl() file() quotas sur les requêtes http et erreur 620 et 404.
Attention :
L'API Google Maps Javascript Version 2 a été officiellement déclarée obsolète le 19 mai 2010 par Google. Elle continuera, cependant, à fonctionner durant encore trois ans, à compter de cette date, conformément à la politique de dépréciation de Google.
TouraineVerte.com ne diffusera plus de d'exemples ni de tutoriels sur cette version de l'API.
L'API Google Maps Javascript Version 3 est désormais la version officielle.
Google vous permet de géocoder vos adresses postales ou coordonnées GPS à l'aide d'une requête HTTP.
Exemples :
Super, dites-vous ! Je vais employer cette requête HTTP à l'aide de php, par exemple, sur mon hébergement mutualisé pour géocoder mes adresses postales à la volée et construire mes cartes Google !
Pour cela, je vais employer file_get_contents(), ou encore cURL, ou bien file(), ou non mieux, j'ai trouvé une classe php qui fait tout ca, et qui s'appelle GoogleMapAPI.class.php.
Très bien ! Mais sachez que si vous souhaitez faire des requêtes HTTP vers les serveurs de Google afin de géocoder vos adresses postales et / ou coordonnées GPS, vous êtes limités à 15.000 requêtes / 24 H / IP.
Si vous utilisez un serveur mutualisé (mutualized hosting) ATTENTION ! Tous les domaines hébergés sur un serveur mutualisé d'une même offre ( Chez OVH en ce qui me concerne ) ont la même adresse IP.
Donc, si plusieurs clients font les mêmes opérations, le quota de 15.000 requêtes/ H 24 / IP n'est pas réservé à chaque client, mais à l'ensemble des clients mutualisés ayant la même adresse IP.
Par conséquent, vous allez vous retrouver avec une application qui fonctionnera parfaitement le matin, et l'après-midi, une fois le quota consommé par l'ensemble des clients mutualisés, patatrac, Google bloque vos requêtes ( 403 ou 620 ).
Pire, si jamais vos cartes sont construites en utilisant le résultat de ces requêtes, attendez-vous à voir s'afficher sur votre page web de nombreux warning et ... aucune carte !
Ce problème ne s'aplique pas uniquement à OVH, mais à l'ensemble des hébergeurs proposant des hébergement mutualisés. En voici une liste non exhaustive :
Il peut-être intéressant de vérifier si un jour Google a crawlé vos pages web alors que celles-ci avaient dépassé le quota fixé.
Exemples pour une requête effectuée sur http://maps.google.fr/maps/geo?q= :
Exemples pour une requête effectuée sur http://maps.google.com/maps/geo?q= :
Pour bénéficier pleinement du quota de 15.000 requêtes/ H 24 / IP, utilisez un serveur dedié qui dispose de sa propre IP.
L'autre solution, est de géocoder vos adresses postales ou coordonnées GPS, en utilisant JavaScript. Dans ce cas, le quota fixé par Google sera reporté sur l'adresse IP du client.
Si vous exploitez toujours les mêmes adresses ou coordonnées GPS, géocodez et corrigez les une bonne fois pour toute, puis enregistrez les dans une base de données. Par la suite, il vous suffira d'interroger votre base de données plutôt que d'effectuer à chaque fois une requête HTTP vers les serveurs de Google.
D'autres géocodeurs existent, utilisez les ! Geocoding & Reverse Geocoding Links
Enfin, il vous reste la possiblité de souscrire à Google Maps API Premier qui vous propose des fonctionnalités de géocodage avancées plus rapides et compatibles avec des volumes plus importants que celles associées à l'API Google Maps. Ce service est payant
Autres articles :