Définition du code de synchronisation.
Vous pouvez désormais mettre à jour la liste des stations en visitant l'adresse suivante (update URL) :
http://" . $_SERVER["SERVER_NAME"].$_SERVER['REQUEST_URI']."?update=1&code=".$code_synchro."
Il est possible d'automatiser la tâche via une tâche cron. Par exemple (see README) :
* * * * * wget -q -O http://" . $_SERVER["SERVER_NAME"].$_SERVER['REQUEST_URI']."?update=1&code=".$code_synchro." #Commande de mise a jour des stations de velib
";
}
if(!empty($_GET['update']) || !empty($code_synchro)) //If we want to make an update (or first run)
{
if(empty($code_synchro) && is_file('data/data')) //If not first run, get the synchronisation code from data file
{
$data = unserialize(gzinflate(base64_decode(file_get_contents('data/data'))));
$code_synchro = $data[0];
}
if(!empty($_GET['code']) && $_GET['code'] == $code_synchro) //Once we have the code and it is correct
{
$stations_xml = simplexml_load_file('http://www.velib.paris.fr/service/carto');
$liste_stations = $stations_xml->markers->marker; //Get the stations list
foreach($liste_stations as $station)
{
$stations[] = array('name' => htmlentities((string) $station['name']), 'id' => (int) $station['number'], 'address' => htmlentities((string) $station['fullAddress']), 'lat' => (float) $station['lat'], 'lng' => (float) $station['lng'], 'open' => (int) $station['open'], 'bonus' => (int) $station['bonus'], 'free' => 0, 'available' => 0, 'updated' => 0);
}
file_put_contents('data/data', base64_encode(gzdeflate(serialize(array($code_synchro, $stations))))); //And put the content in the data file
echo "Mise à jour de la liste des stations effectuée avec succès (Update successful).
";
}
else
{
echo "Mauvais code de vérification (Error : bad synchronisation code). Veuillez réessayer la mise à jour. Se référer au README pour plus d'informations sur la mise à jour.
";
}
echo "Retourner à l'application (Back to index)
";
}
else
{
?>
← Retour à la liste";
}
if(!empty($_GET))
{
echo "
";
}
?>
Map is handled thanks to the Leaflet library, using © OpenStreetMap contributors tiles. Reverse geolocation (Nominatim) are provided by the MapQuest open API. Routes are provided by the OSRM project (OSRM is a free and open source program under GNU Affero GPL).
N'hésitez pas à m'envoyer vos suggestions à webmaster@phyks.me.