<?php
/**
 * Test rapide de l'API geo.api.gouv.fr
 */

echo "Test des différentes URLs de l'API geo.api.gouv.fr\n";
echo "=================================================\n\n";

$urls = [
    "fields=contour" => "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";
}