Edit : Maxi-ManG me fait remarquer à juste titre que cette API n’est plus disponible en PHP, mais en JavaScript (API), si vous souhaitez l’utiliser gratuitement il faudra mettre le logo de l’API sur votre site, à noter aussi que cette nouvelle mouture amène 2 infos intéressantes sur un visiteur : La station météo la plus proche du visiteur ainsi que son code (FRXX0099), plutôt sympa pour faire un service météo géolocalisé!
Si vous souhaitez découvrir d’autres API et services de géolocalisation je vous invite à jeter un oeil sur ces deux sites que je n’ai pas encore pu tester :
Ancien post:
Si vous souhaitez géolocaliser vos visiteurs sans leur demander où ils se trouvent, le seul paramètre permettant de les géolocaliser assez précisément est pour l’instant leurs IP.
Il existe quelques Web services permettant de récupérer le lieu de connexion d’un internaute via son IP, mais la plupart sont soit payants soit peu précis, alors comment faire?
La solution est peut être ce nouveau Web service qui se nomme iplocationtools.com, en effet il permet de récupérer les informations suivantes via une IP:
- Le pays
- La région
- La ville
- Le Code postal
- La longitude
- La latitude
Ce qui est énorme! Bon, après test, ce Web service se trompe pour ma part de 2 kilomètres en ce qui concerne la longitude et la latitude. Sinon par d’erreur pour les autres informations!
Ce service est illimité si vous ne faites pas plus de 3 connections par secondes.
Et pour l’utiliser en PHP voici une petite fonction:
Status == 'OK'){ return array('latitude' => (string)$resultat->Latitude, 'longitude' => (string)$resultat->Longitude, 'code_postal' => (string)$resultat->ZipPostalCode, 'ville' => (string)$resultat->City, 'region' => (string)$resultat->RegionName, 'pays' => (string)$resultat->CountryName, 'code_pays' => (string)$resultat->CountryCode, 'ip' => $ip); }else{ return FALSE; } }else{ return FALSE; } } $test = GeolocalisationParIp('000.000.000.000'); print_r($test); ?>
Mots-clefs :Code postal, fonction, Géolocalisation, ip, iptocountry, latitude, longitude, pays, PHP, région, ville, Web service, xml


août 10th, 2009 at 10 h 34 min
L’api est maintenant en JS : http://iplocationtools.com/api.html
août 13th, 2009 at 12 h 28 min
Merci Maxi-ManG pour l’info! je viens de modifier le post pour en informer les visiteurs.
Bonne journée!
octobre 25th, 2009 at 9 h 36 min
Si jamais, j’utilise ip2location qui propose une BDD en CSV, mais je l’ai convertis en SQL. Si tu veux veux la BDD en SQL, contacte-moi par mail…
Si tu veux faire un tutoriel, c’est relativement simple : importation de la BDD + environ 5 lignes de codes (mais on ne peux avoir que le nom du pays en anglais, ainsi que les 2 ou 3 lettres qui califient le pays (fr, ch,…)).
Il y a aussi une api sans avoir à télécharger la BDD je crois, mais c’était trop compliqué pour moi ^^ !