Géolocalisation

Description

Voici comment on peut déterminer le pays d'origine des visiteurs d'un site Internet. Dans un site web il est très facile de capter l'adresse IP du visiteur. Je suppose ici que cela entraine un fichier par visiteur. MaxMind à : http://geolite.maxmind.com/download/geoip/api/php/ nous fournit le fichier : geoip.inc recopié ci-joint ainsi qu'une base de données : GeoIP.dat de 1.3 Mo à : http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/ auxquels il faut ajouter une liste d'images pour afficher les drapeaux des pays qui seront identifiés. J'ai choisi ici l'option de désigner le nom du pays concerné en passant la souris sur le drapeau affiché. Et pour faire l'équivalent localement voyez http://www.cppfrance.com/code.aspx?ID=54087 par Ganjarasta.

Source / Exemple :


<HTML>
<HEAD>
<title>Mon site Web</title>
<link rel="shortcut icon" type="image/x-icon" href="images/favicon.ico" />
</HEAD>
<BODY BGCOLOR="#FF8844" TEXT="#000000" LINK="#174B82" VLINK="#174B82" ALINK="#774B82">
<CENTER>
<H2>Mon site Web</H2>
<BR>
<font face="Times New Roman">
<B>Voici la liste de tous les visiteurs de Mon site Web</B>
<BR>
<?
$now=time();
$date=date("d/m/Y",$now);
echo "<br>Liste effectuée le : $date<br>";
echo "<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pays&nbsp;&nbsp;&nbsp;&nbsp;";
echo "&nbsp;Adresse URL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;première v.&nbsp;";
echo "&nbsp;&nbsp;&nbsp;dernière v.&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nv<br>";
include("geoip/geoip.inc");                          // logiciel MaxMind
$gi = geoip_open("geoip/GeoIP.dat",GEOIP_STANDARD);  // base de données MaxMind
$dossier="visites";          // dossier contenant les fichiers d'adresses IP des visiteurs
$handle=opendir($dossier);
while ($tmp = readdir($handle)) {
    if($tmp!="." && $tmp!=".." && $tmp!="index.html" && $tmp!="maximum") {
        $fichier="$dossier/$tmp";                // il y a un fichier par visiteur
        $fp=fopen("$fichier","r");
        $buf = fgets($fp,40);
        fclose($fp);
        list($nb,$vis1,$visz)=explode('|',$buf);  // nombre de visites - première fois - dernière fois
        $img = geoip_country_code_by_addr($gi, $tmp);
        $pays = geoip_country_name_by_addr($gi, $tmp);
        if($img=="") echo "<br>&nbsp;&nbsp;Privé&nbsp;&nbsp;";     // si adresse privée
        if($img!="") echo "<br>&nbsp;&nbsp;<a><img src='geoip/flags/$img.png' alt='$pays'></a>&nbsp;&nbsp;";
        $date=date("d/m/Y",$vis1);
        echo "&nbsp;&nbsp;$tmp&nbsp;&nbsp;&nbsp;&nbsp;$date&nbsp;&nbsp;";
        $date=date("d/m/Y",$visz);
        echo "&nbsp;&nbsp;$date&nbsp;&nbsp;&nbsp;&nbsp;$nb";
    }
}
?>
</BODY>
</HTML>

Conclusion :


A : http://pgl10.chez.com/visiteurs.php on peut voir la géolocalisation des visiteurs de mon site Internet. Toute remarque ou correction est bienvenue.

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.