Tu peux aussi générer un fichier XML depuis la météo de Google avec ce type d'adresse (tu changes Annonay par ta ville) : http://www.google.com/ig/api?weather=Annonay&hl=fr
Ensuite tu fais un parseur de XML de ce type là : (si ton site est en php)
<?php
header('Content-Type: text/html; charset=iso-8859-1');
$fichier = "http://www.google.com/ig/api?weather=Annonay&hl=fr";
// traitement des balises ouvrantes
function fonctionBaliseOuvrante($parseur, $nomBalise, $tableauAttributs)
{
// memorisation du nom de balise
global $data;
switch ($nomBalise)
{
case "TEMP_C" :
$data = $tableauAttributs['DATA'];
break;
case "DAY_OF_WEEK" :
$data = $tableauAttributs['DATA'];
break;
case "ICON" :
$data = $tableauAttributs['DATA'];
break;
case "LOW" :
$data = $tableauAttributs['DATA'];
break;
case "HIGH" :
$data = $tableauAttributs['DATA'];
break;
case "CONDITION" :
$data = $tableauAttributs['DATA'];
//echo utf8_decode($tableauAttributs['DATA']),"<br/>";
break;
}
$data = utf8_decode($data);
}
// traitement des balises fermantes
function fonctionBaliseFermante($parseur, $nomBalise)
{
global $data;
global $tab;
//$derniereBaliseRencontree = "";
switch ($nomBalise)
{
case "TEMP_C" :
$tab['temp_c'] = $data;
//echo "<br>Il fait : $data °c<br/>";
break;
case "DAY_OF_WEEK" :
$tab['day'] = $data;
//echo "<br /><div style='position:relative; top:20px;'>Temps du <b>",$data,"</b></div>";
break;
case "ICON" :
$tab['link'] = $data;
//echo "<img src='$data'></img><br />";
break;
case "LOW" :
$tab['low'] = $data;
//echo "<div style='position:relative; top:32px; left:50px;'>Mini : ",$data,"°c<br />";
break;
case "HIGH" :
$tab['high'] = $data;
//echo "Maxi : ",$data,"°c<br /></div>";
break;
case "CONDITION" :
$tab['cond'] = $data;
break;
case "CURRENT_CONDITIONS" :
echo "<div class='current'>";
echo $tab['cond'],"";
echo "<br>Il fait : ",$tab['temp_c']," °c<br/>";
echo "<img src='http://www.google.fr".$tab['link']."'></img><br />";
echo "</div><br>";
break;
case "FORECAST_CONDITIONS":
echo "<div class='forecast'>";
echo "<br /><div style='position:relative;'>Temps du <b>",$tab['day'],"</b></div><br>";
echo "<img src='http://www.google.fr".$tab['link']."'></img>";
echo "<div style='position:relative; top:-27px; left:47px;'>Mini : ",$tab['low'],"°c<br />";
echo "Maxi : ",$tab['high'],"°c<br /></div>";
echo "<div style='position:relative; top:-67px; left:47px;'>",$tab['cond'],"</div>";
echo "</div>";
break;
}
// On oublie la dernière balise rencontrée
// et tout le reste
}
// creation du parseur XML
$parseurXML = xml_parser_create();
xml_set_element_handler($parseurXML, "fonctionBaliseOuvrante", "fonctionBaliseFermante");
// ouverture du fichier
$fp = fopen($fichier, "r");
if (!$fp) die("Impossible d'ouvrir le fichier XML");
// lecture ligne par ligne
while ( $ligneXML = utf8_encode(fgets($fp, 1024))) {
// Analyse de la ligne
// REM: feof($fp) retourne TRUE s'il s'agit de la dernière
// ligne du fichier.
xml_parse($parseurXML, $ligneXML, feof($fp)) or die("Erreur XML");
}
xml_parser_free($parseurXML);
fclose($fp);
?>
Ce qui donne une mise en forme à peu près correcte, que vous pouvez modifier à votre guise ^^
Ca permet d'avoir une météo à jour régulièrement dans la journée par notre ami Google :D
Et tu include ce parseur dans ta page !
Voilà :)
la météo sur ton site me plaît.
Peux-tu me donner les codes à insérer dans ma page pour pouvoir l'afficher sur mon site.
Je n'ai pas vu comment on fait ?
Merci d'avance