Votre position GPS sur votre blog

Le 8 janvier 2010 — par

Depuis quelques temps, si vous avez bien observé la barre de droite sur mon blog, j’ai ajouté ma position GPS. Bon vous en conviendrez que c’est pas forcément d’une utilité flagrante, mais c’est toujours plus sympa que de mettre sa Fan Page Facebook.

Impossible à réaliser chez soi ? Que nenni ! Grâce aux dernières technologies Web 2.0, vous allez pouvoir faire vous aussi la même chose !

Maryse, pour cela nous avons besoin des ustensiles suivants :

Screenshot 2010-01-08 10h 58m 00s.png

Je suppose que vous avez fait les prérequis et que vous disposez de toutes les clés API nécessaires. On commence hardcore, avec le script que j’intitulerai gps.php qui va récupérer votre position et l’inscrire dans un fichier quand celle-ci diffère de la précédente.

/* Mettez votre clé API et changez si vous le souhaitez
   le fichier qui contiendra votre dernière position GPS */

$api_key = "";
$api_file = dirname(__FILE__)."/position";

$data = file_get_contents("http://www.instamapper.com/api?action=getPositions&key=".$api_key);
$lines = explode("n",$data);
$infos = explode(",",$lines[1]);

if (file_exists($api_file)) {

    $data = file_get_contents($api_file);
    $curr_loc = explode("n",$data);

} else {

    $curr_loc = array(1 => 0);

}

if ($infos[2] > $curr_loc[1]) {

    file_put_contents($api_file,$infos[3].",".$infos[4]."n".$infos[2]);

}

Rendez ensuite le fichier exécutable :

$ chmod +x gps.php

Maintenant que le script est en place, il faut lui donner une première position en installant le logiciel InstaMapper sur votre téléphone. En fonction du modèle, l’installation varie, donc je ne m’éterniserai pas là-dessus. Toutefois vous devriez avoir un écran de ce type une fois que les données sont envoyées au serveur :

IMG_0405.PNG

Retour au script gps.php. Vérifiez qu’il tourne bien en l’exécutant à la main une fois, puis faites le tourner à intervalle régulier, en crontab par exemple, toutes les heures.

Il suffit à présent d’afficher l’image via une URL Google Maps générée à partir de quelques paramètres. J’ai fait un script pour l’exemple mais ça s’adaptera assez facilement à n’importe quel site :

/* Mettez votre clé API Google Maps ci-dessous.
   Indiquez le fichier où vous avez mis votre position GPS
   ainsi que la taille de l'image GMaps que vous souhaitez
   obtenir. (LongueurxHauteur) */

$api_key = "";
$api_file = dirname(__FILE__)."/position";
$img_size = "229x170";

$data = file_get_contents($api_file);
$curr_pos = explode("n",$data);

echo '';

Si tout se passe bien, vous devriez avoir une image comme celle qui apparaît en permanence à droite de mon blog, avec votre dernière position GPS. Evidemment il ne faut pas oublier de lancer l’application InstaMapper de temps en temps, elle ne tourne pas en tâche de fond (ce qui serait inutile, à moins de voyager très très souvent :-)).

S'abonner au flux RSS du blog
Recevoir les nouveaux articles par e-mail :