Meteo MC est le premier site à vous faire profiter gratuitement, sans conditions particulières, d'un service vous permettant d'utliser à votre gôut les données des station météo automatiques traités par le site.
Il s'agit en effet d'un usage totallement libre dans la mesure ou les données ne sont pas utilisées pour un usage commercial. Les codes sources présentés dans le tutoriel sont libres de droit ! A vous de les personnaliser en fonction de vos besoins. Attention votre serveur doit accepter le PHP et votre page web doit avoir comme extension ".php".
Deux types de données sont disponibles pour le moment au format XML en résolution 40 :
- les relevés synops tri-horaires : synops.xml
- les relevés metars horaires : metars.xml
Voici le script que vous allez devoir insèrer dans votre page html :
<?php
#script créé par Polux69 : aurelien.lambert@free.fr
##########################################
# Configuration - Partie à personnaliser #
##########################################
$fichier_xml = 'http://www.meteo-mc.fr/stations_synop/synops.xml';
# ou http://www.meteo-mc.fr/stations_synop/metars.xml pour les metars
$station = array("0"); # identification OMM des stations à afficher
################################################################
# Affichage du Flux - (ne pas mofifier sauf connaissances php) #
################################################################
$fp = fopen($fichier_xml,r); #on ouvre le fichier distant
$content = "";
while (!feof($fp)) $content .= fread($fp,32000); #on lit en boucle le fichier
fclose( $fp );
{
for ($i=0; $i<count($station); $i++)
#on sépare les données en boucle pour chacune des stations choisies
{
$items_1 = explode("<id_omm>$station[$i]</id_omm>",$content);
$items_2 = explode("</item>",$items_1[1]);
$items = $items_2[0];
eregi("<title>(.*)</title>",$items, $title);
eregi("<code_oaci>(.*)</code_oaci>",$items, $oaci);
eregi("<date>(.*)</date>",$items, $date);
eregi("<heure>(.*)</heure>",$items, $heure);
eregi("<temperature>(.*)</temperature>",$items, $temperature);
eregi("<couleur_temperature>(.*)</couleur_temperature>",$items, $couleur_temperature);
eregi("<info_temperature>(.*)</info_temperature>",$items, $info_temperature);
eregi("<vitesse_vent>(.*)</vitesse_vent>",$items, $vitesse_vent);
eregi("<info_vitesse_vent>(.*)</info_vitesse_vent>",$items, $info_vitesse_vent);
eregi("<direction_cardinaux>(.*)</direction_cardinaux>",$items, $direction_cardinaux);
eregi("<pression>(.*)</pression>",$items, $pression);
eregi("<point_de_rosee>(.*)</point_de_rosee>",$items, $point_de_rosee);
if($items != "")# si $item n'est pas nul (si la station est bien dans le fichier)
{
#on affiche comme on veut, comme ça par ex :
echo "
<u>".$title[1]." le ".$date[1]." à ".$heure[1]."</u>
<p>
Température : <font color='".$couleur_temperature[1]."'><b>".$temperature[1]."°C</b></font>
".$info_temperature[1]."<br>
Point de rosée : <b>".$point_de_rosee[1]." °C</b><br>
Pression : <b>".$pression[1]." hpa</b><br>
Vitesse du vent : <b>".$vitesse_vent[1]." km/h</b> ".$info_vitesse_vent[1]."<br>
Direction du vent : de secteur <b>".$direction_cardinaux[1]."</b> (".$direction_degres[1]."°)<br>
</p>
";
}
}
}
?>
Vous pourrez observer une partie personnalisable en début de script :
- le lien vers le fichier XML meteo MC sur lequel sont récuperées les données, vou spouvez choisir metars ou synops
- Une "array" dans laquelle vous devez mensionner l'identifiant de chaque station que vous souhaiter afficher.
ex : pour les villes : Bastia, Nantes, et Abbeville dans cet ordre,
alors vous ecrirez :
Vous savez tout ! Si vous avez des questions ou des problèmes avec l'utilisation du script, n'hésitez pas à nous joindre sur le forum dans la section site web !