"https://geo.api.gouv.fr/departements/22?fields=contour", "geometry=contour" => "https://geo.api.gouv.fr/departements/22?geometry=contour", "fields=contour,nom" => "https://geo.api.gouv.fr/departements/22?fields=contour,nom", "fields=nom&geometry=contour" => "https://geo.api.gouv.fr/departements/22?fields=nom&geometry=contour", ]; $context = stream_context_create([ 'http' => [ 'timeout' => 10, 'header' => "User-Agent: Geosector/1.0\r\n" ] ]); foreach ($urls as $type => $url) { echo "Test : $type\n"; echo "URL : $url\n"; $response = @file_get_contents($url, false, $context); if ($response === false) { echo "✗ Erreur\n"; } else { $data = json_decode($response, true); echo "✓ Réponse reçue\n"; // Afficher les clés du premier niveau echo "Clés : " . implode(', ', array_keys($data)) . "\n"; // Vérifier la présence du contour if (isset($data['contour'])) { echo "→ Contour présent (type: " . ($data['contour']['type'] ?? 'inconnu') . ")\n"; if (isset($data['contour']['coordinates'])) { $coords = $data['contour']['coordinates']; $pointCount = is_array($coords[0]) ? count($coords[0]) : count($coords); echo "→ Nombre de points : $pointCount\n"; } } elseif (isset($data['geometry'])) { echo "→ Geometry présent (type: " . ($data['geometry']['type'] ?? 'inconnu') . ")\n"; if (isset($data['geometry']['coordinates'])) { $coords = $data['geometry']['coordinates']; $pointCount = is_array($coords[0]) ? count($coords[0]) : count($coords); echo "→ Nombre de points : $pointCount\n"; } } else { echo "→ Pas de contour ou geometry\n"; } } echo "\n"; }