C-Stan, Création de solutions web, Ingéniérie informatique

Création de solutions web, Ingéniérie informatique

C-Stan, Création de solutions web, Ingéniérie informatique
Accueil > Blog > Le coin des développeurs > Géolocalisation en PHP, PERL et autres langages
 
Géolocalisation en PHP, PERL et autres langages

Géolocalisation en PHP, PERL et autres langages

4 février 2010

Voici comment faire de la géolocalisation en PHP et d’autres langages.

Utilisation en PERL - PHP

Pour utiliser la géolocalisation en PHP à partir de l’adresse IP de l’internaute, un script PERL nommé Net Geo IP existe.

Installer le packet PERL

Pour installer le packet PERL sur votre serveur veuillez utiliser le code suivant

pear install http://download.pear.php.net/package/Net_GeoIP-1.0.0RC1.tgz

Télécharger la base de données

Les bases de données des zones géographiques d’IP se trouvent aux adresses suivantes :
Par pays : http://www.maxmind.com/app/geoip_country
Par villes : http://www.maxmind.com/app/geolitecity

Il existe deux types de base :

Version gratuite :
- 99.5% de précision
- Les utilisateurs AOL sont automatiquement reconnus comme venant des USA
- Mise à jour mensuelle

Version payante (50$ + 12$ par mois de mise à jour) :
- 99.8% de précision
- Reconnaissance des utilisateurs AOL
- Mise à jour quotidienne

Code PHP

<?php

require_once('Net/GeoIP.php');

$geoip = Net_GeoIP::getInstance('./GeoIP.dat');

$ip = getenv('REMOTE_ADDR');

$country = $geoip->lookupCountryName($ip);

echo "Salut je viens de ".$country;

?>

Utilisation en PHP pur

il est possible d’utiliser la géolocalisation uniquement en PHP.

Pour cela il n’est pas utile de transferer les fichiers téléchargés vers votre base de données. Ce serait un travail long pour des temps de réponses médiocres.

Pour avoir une recherche optimale, il suffit de télécharger les sources en binaire :
Par pays : http://geolite.maxmind.com/download...
Par ville : http://geolite.maxmind.com/download...

Puis d’utiliser le code PHP suivant :

<?php

include("geoipcity.inc");
include("geoipregionvars.php");

//Mettre le chemin vers le fichier binaire
$gi = geoip_open("GeoLiteCity.dat",GEOIP_STANDARD);

$record = geoip_record_by_addr($gi,"88.174.5.20");

echo '{"lat":"'.$record->latitude.'","long":"'.$record->longitude.'"}';

geoip_close($gi);

?>

Utilisation dans d’autres langage

Si vous souhaitez utiliser la géolocalisation dans d’autres langages de programmation, le site met à disposition une API complète à l’adresse : http://www.maxmind.com/app/api

Les langages proposés sont les suivants :
- C
- Perl
- PHP
- Apache (mod_geoip)
- Java
- Python
- C#
- Ruby
- MS COM Object (avec des exemple en ASP, ColdFusion, Pascal, PHP, Perl, Python et Visual Basic code)
- VB.NET (Seulement par pays)
- Pascal
- Javascript

Source : http://htmlblog.net/geolocate-your-...

Loïc Baumont

Commentaires Commentaires

Aucun commentaire

Ajouter un commentaire

Vous devez être identifié pour poster un commentaire. Merci de vous enregistrer ou de vous connecter sur la page d'identification


 

Articles dans Le coin des développeurs

Spip 2.1 : mes articles ont disparu !

Depuis le 3 Septembre 2010, les sites tournant sous la version 2.1 de Spip ont vu tous leurs (...)

Redémarrage automatique de Clamav après un plantage

Sur les RPS proposés par OVH, beaucoup de personnes ont des problèmes avec l’anti-virus Clamav qui (...)

Mise à jour d’un serveur releases OVH

Pourquoi mettre à jour votre serveur ? Les patchs : apportent des améliorations aux logiciels (...)

Mise à jour d’une table MySQL à partir d’un fichier CSV en PHP

Cette fonction permet de mettre à jour une table MySQL à partir d’un fichier CSV. Si la valeur (...)

QMail : corriger l’erreur "multilog : fatal : unable to lock directory"

Lorsque vous redémarrez QMail ou si vous ne recevez plus d’e-mails et que l’une des erreurs (...)


Membres

Espace Membre

57 square Herzog - ZAC Ban la Dame - Parc Eiffel Energie - 54390 FROUARD - 03 83 50 43 74 / Mentions légales

Thumbnails powered by Thumbshots