Jump to content
Les Forums d'Infoclimat

Ce tchat, hébergé sur une plateforme indépendante d'Infoclimat, est géré et modéré par une équipe autonome, sans lien avec l'Association.
Un compte séparé du site et du forum d'Infoclimat est nécessaire pour s'y connecter.

mammillaria

widget vigilance meteo-france

Recommended Posts

bonjour ,

 

je voudrais ajouter un widget de vigilance meteo france pour le site de la futur station https://svdt.meteo06.fr/previ.php

 le widget meteo france : http://www.vigimeteo.com/widget/SAINT-VALLIER-DE-THIEY_6.htm  qui fonctionne ...

issu des pages proposée : http://vigilance.meteofrance.com/widgets.html

 

si je mets :

<style>
#vigi_mf {
    width:100%;
    height:390px;
    border:none;
}
</style>
<iframe id="vigi_mf" src="http://www.vigimeteo.com/widget/SAINT-VALLIER-DE-THIEY_6.htm"></iframe>

 

ça fonctionne pas : une idée ????

 

si je test l'iframe ci dessous avec le widget infoclimat ca fonctionne !!!! mais j'ai pas exactement les infos du widget météo france ci dessus  liés a ma commune/departement 

 

<style>
#vigi_mf {
    width:100%;
    height:390px;
    border:none;
}
</style>
<iframe id="vigi_mf" src="https://www.infoclimat.fr/infoclimat/vignette_vigi.php"></iframe>

 

merci d'avance a celui qui trouve la solution ....

 

Franck

 

 

 

Share this post


Link to post
Share on other sites

Bonjour

Je pense que tu essayes de mettre une adresse http-non sécurisé ( http://www.vigimeteo.com/widget/SAINT-VALLIER-DE-THIEY_6.htm) sur une page en httpS-sécurisé (https://svdt.meteo06.fr/previ.php). Donc cela ne peut pas marcher ...

D'ailleurs, à ma connaissance, ce widget n'est pas proposé en version httpS ...

Par contre celui là oui http://www.meteofrance.com/meteo-widget

 

Cdt

 

essair

Share this post


Link to post
Share on other sites

merci , effectivement c'est aussi bête que ça ...
pas trouvé de solution simple ... dommage ce widget est vraiment sympa et complet ...

Share this post


Link to post
Share on other sites

Salut Franck, @Raph-NiceMétéo à rencontrer le même soucis, du coup il récupère l'image et les stocks sur son serveur pour pouvoir être en HTTPS( enfin un truc comme ça...).

 

Share this post


Link to post
Share on other sites

je suis entrain de me construire une solution ...

 

avec une tache con toutes les heures CA fait moins de 1000 requêtes par mois

je vais utiliser l'api gratuite du site https://restpack.io/screenshot/

 

ci dessous le code php , il suffit juste de changer le numero de token ...  il me restera "plus qu'a"

lancer le script : https://svdt.meteo06.fr/vigilance.php toutes les heures via un Cron

enregistrer l'image sur le serveur et  la rogner etc ...

pas le temps aujourd'hui mais ca devrait le faire en attendnat que meteo france passe son site en https  :))

 

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://restpack.io/api/screenshot/v4/capture",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "url=http://www.vigimeteo.com/widget/SAINT-VALLIER-DE-THIEY_6.htm&json=true",
  CURLOPT_HTTPHEADER => array(
    "x-access-token:numero token"
  ),
));

$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
$result = $response;
$json = json_decode($result, true);
}

?>

<img src="
<?php
echo $json['image'];
?>
">

 

 

Edited by mammillaria
plusieurs lignes en blanc tout en bas

Share this post


Link to post
Share on other sites

et hop !

 

voila qui est fait , 

screenshoot de l'image du widget météo France , on l'enregistre sur le serveur ,

afin de respecter les 1000 requêtes max par mois on vérifie que l'image enregistré a au moins 1 heures avant  e refaire un screenshoot

reglage de la taille de l'image via l'API :)) en attendant que MeteoFrance passe au https ça fera l'affaire ;) ... 

 

résultat ici : https://svdt.meteo06.fr/previ.php

 

 

 <h1>Previsions Meteo-France</h1>
<?php
// 
//  verifie si image vigi.jpg plus vielle que 3600 secondes soit 1 heure
// 
$cache_file = 'vigi.jpg';
$cache_life = '3600'; //caching time, in seconds
$filemtime = @filemtime($cache_file);  // returns FALSE if file does not exist
if (!$filemtime or (time() - $filemtime >= $cache_life)){
// 
// API screenshoot: https://restpack.io/screenshot/docs
// fresh=true = pas de mise en cache
// width=430&height=250&format=jpg
$curl = curl_init();
curl_setopt_array($curl, array(
  CURLOPT_URL => "https://restpack.io/api/screenshot/v4/capture",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => "url=http://www.vigimeteo.com/widget/SAINT-VALLIER-DE-THIEY_6.htm&json=true&fresh=true&width=430&height=250&format=jpg",
  CURLOPT_HTTPHEADER => array(
    "x-access-token:loe9p3yZvxvotretokeniciachanger344dYWMoBh"
  ),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
  echo "cURL Error #:" . $err;
} else {
$result = $response;
$json = json_decode($result, true);
}
// 
// on enregistre l'image fournie par l'API.
// 
$url = $json['image'];
$img = 'vigi.jpg';
file_put_contents($img, file_get_contents($url));
}else{

}

?>

<a href="http://www.meteofrance.com/previsions-meteo-france/saint-vallier-de-thiey/06460"  target="_blank">
<img src="vigi.jpg">
</a>
<br>source: <a href="http://www.meteofrance.com/previsions-meteo-france/saint-vallier-de-thiey/06460" target="_blank">METEO-FRANCE</a>

<?php

// affiche la date de derniere mise a jour de l'image , doit etre inferieur a 1 heure si le script fonctionne.
 
$filename = 'vigi.jpg';
if (file_exists($filename)) {
    echo " - image mise a jour le : " . date ("d F Y H:i:s.", filemtime($filename));
}

?>

 

Share this post


Link to post
Share on other sites

bonjour,

ta solution est vraiment très interessante, mais en regardant sur le site de screenshot, je n'ai pas vu que l'api était gratuite.

Es-tu sur de la gratuité de l'apli?

merci

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...