Bonjour,
Je cherche a récupérer des données de openeventdatabase et dans un premier temps plus spécifiquement la Vigilence meteo :Home · openeventdatabase/backend Wiki · GitHub
Mais n’ayant ni les connaissances ni les compétences pour faire ça via script et scénario, est ce que quelqu’un aurait sous la mais un tuto ou une idée du comment faire?
Bonjour,
Je n’ai pas l’impression que le contenu soit mis à jour souvent …
http://api.openeventdatabase.org/event?what=weather.alert retourne rien
et
avec http://api.openeventdatabase.org/event la donnée la plus récente à 1 an …
En effet j’avais pas fait attention. Entre temps j’ai trouvé : Vigilance Météorologique — Opendatasoft
Qui contient un api ce qui devrait simplifier les choses.
Avec un petit bloc code :
Le bloc :
$tags=$scenario->getTags();
$dept=$tags['#département#'];
$url = 'https://data.opendatasoft.com/api/records/1.0/search/?dataset=vigilance-meteorologique%40public&q='.$dept.'&lang=fr&rows=1&facet=couleur&facet=risque_valeur';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
if ($data !== false)
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
if ($data !== false && $status === 200) {
$decoded = json_decode($data);
$record=$decoded->records[0];
$tags['#risque#']=$record->fields->risque_valeur;
$tags['#niveau#']=$record->fields->couleur;
$tags['#commentaire#']=$record->fields->vigilancecommentaire_texte;
$scenario->setTags($tags);
}
else {
$scenario->setLog("Erreur, le site a retourné le code : ".$status);
}
3 « J'aime »
J’essaie de décortiquer tout ça et de l’appliquer a d’autres données dispo sur le site.
Merci beaucoup pour ton aide.
Pour le département, j’ai réussi a le mettre en « dur » dans l’url mais je comprends pas comment le changer via le tag #departement #.
Edit : OK vu je vais remettre mes lunettes…
Ca marche nickel merci. J’ai trois questions maintenant :
je comprends le reste du code mais pas cette partie, si quelqu’un peut m’expliquer ces lignes :
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);
if ($data !== false)
$status = curl_getinfo($ch, CURLINFO_RESPONSE_CODE);
curl_close($ch);
la fonction curl en php utilise un bloc de données pour lancer la requête; ces paramètres précisent d’une part l’url à interroger, la seconde que tu ne veux pas modifier l’entête http (ce qui est le bon comportement par défaut, tu veux faire un query simple, et enfin le dernier que tu veux récupérer une chaine de caractère comme résultat et pas afficher la page sur la console
ce sont des commandes php relativement standard, le bloc à la fin déclenche l’appel de la page et récupère le code réponse dans la variable status.
la chaine de résultat sera dans data.
https://www.php.net/manual/en/function.curl-setopt.php
1 « J'aime »
Merci pour ta reponse. Je file voir le lien.
system
A fermé ce sujet ()
Juin 20, 2022, 4:47
10
Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.