From fd6123210cacaad02af1ecab606ca308803348d3 Mon Sep 17 00:00:00 2001 From: fredtempez Date: Mon, 10 Jul 2023 19:36:11 +0200 Subject: [PATCH] init --- index.php | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 102 insertions(+) create mode 100644 index.php diff --git a/index.php b/index.php new file mode 100644 index 0000000..0832201 --- /dev/null +++ b/index.php @@ -0,0 +1,102 @@ +loadHTML($html); +libxml_clear_errors(); + +// Recherche du div avec l'id "sommaire-centre" +$sommaireCentreDiv = $dom->getElementById('sommaire-centre'); + +// Recherche des balises
  • dans le div +$liElements = $sommaireCentreDiv->getElementsByTagName('li'); + +// Tableau pour stocker les villes et leurs coordonnées +$cities = array(); + +// Parcourir les balises
  • et extraire le texte cliquable des liens +foreach ($liElements as $liElement) { + // Vérifier s'il y a un lien dans le
  • + $linkElement = $liElement->getElementsByTagName('a')->item(0); + if ($linkElement) { + $ville = $linkElement->nodeValue; + $href = $linkElement->getAttribute('href'); + //echo $ville . "
    "; + //echo "Lien : " . $href . "
    "; + + // Requête à l'API Nominatim + $options = array( + 'http' => array( + 'header' => "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3", + ), + ); + $context = stream_context_create($options); + $url = 'https://nominatim.openstreetmap.org/search?city=' . urlencode($ville) . '&format=json'; + $response = file_get_contents($url, false, $context); + $data = json_decode($response, true); + + // Vérifier si la requête a réussi + if (!empty($data)) { + // Récupérer les coordonnées géographiques de la première correspondance + $latitude = $data[0]['lat']; + $longitude = $data[0]['lon']; + + //echo "Latitude : " . $latitude . "
    "; + //echo "Longitude : " . $longitude . "
    "; + + // Ajouter la ville et ses coordonnées au tableau + $cities[] = array( + 'name' => $ville, + 'lat' => $latitude, + 'lon' => $longitude + ); + } else { + echo "Erreur : Impossible de géocoder la ville."; + } + } +} + +?> + + + + + Carte OpenStreetMap + + + + +
    + + + + +