Mettre une vignette ou un flux RSS METEO sur son site web |
| mallais@free.fr |
| Tel | GSM |
|---|---|
| 04 68 70 04 76 | 06 08 33 60 32 |
L'insertion d'un widget avec une météo géolocalisée çà fait bien sur un site web et ... c'est même parfois utile comme dans le cas d'un lieu touristique où vous êtes appelés à vous rendre prochainement.
Je vais essayer ici de regrouper les différentes possibilités gratuites que l'on peut trouver sur le web
Enfin si ces vignettes toutes faites ne vous plaisent pas, il y a une autre possibilité : exploiter un flux RSS meteo et le mettre en forme soi même !
Sur la page d'accueil de ce site, je prend le flux RSS de meteorologic.net et je l'affiche "à ma sauce" avec les disponibilités des deux chambres extraites de la BD.
Le code :
<?php
// inclusion de la classe magpierss
require_once("magpierss-0.72/rss_fetch.inc");
function MeteoFeedParser($url_feed, $nb_items_affiches=10)
{
$disp = GetDispo3(); // mes infos de réservation de chambres
// lecture du fichier distant (flux XML)
ini_set("display_errors", 0);
$rss = fetch_rss($url_feed);
// si la lecture s'est bien passee,
// on lit les elements
if (is_array($rss->items))
{
// on ne recupere que les elements les + recents
$items = array_slice($rss->items, 0, $nb_items_affiches);
$html = '<center><table bgcolor="#99FFCC" border="2">';
$html .= '<th colspan="5"><center>Fil RSS de <a href="'.$rss->channel['link'].'">'.$rss->channel['title'].'</a></center></th>';
$html .= '<th colspan="2" id="idMetDispo" >Dispo.</th>';
// boucle sur tous les elements
$html .= '<tr><center><td>.</td><td>Matin</td><td>Midi</td><td>Après-midi</td><td>Soir</td><td bgcolor="#FF9900">At</td><td bgcolor="#666633">Pu</td></center></tr>';
$day = 0;
foreach ($items as $item)
{
$html .= "<tr>";
$html .= "<td>".$item['jour']."</td>";
if ( isset($item['pictos_matin']) )
$html .= '<td width="100"><img src="http://www.meteorologic.net/pictos/'.$item['pictos_matin'].'.gif" width="40" height="40" border="0" /> '.$item['tempe_matin'].'°C</td>';
else
$html .='<td width="100">...</td>';
if ( isset($item['pictos_midi']) )
$html .= '<td width="100"><img src="http://www.meteorologic.net/pictos/'.$item['pictos_midi'].'.gif" width="40" height="40" border="0" /> '.$item['tempe_midi'].'°C</td>';
else
$html .='<td width="100">...</td>';
if ( isset($item['pictos_midi']) )
$html .= '<td width="100"><img src="http://www.meteorologic.net/pictos/'.$item['pictos_apmidi'].'.gif" width="40" height="40" border="0" /> '.$item['tempe_apmidi'].'°C</td>';
else
$html .='<td width="100">...</td>';
if ( isset($item['pictos_midi']) )
$html .= '<td width="100"><img src="http://www.meteorologic.net/pictos/'.$item['pictos_soir'].'.gif" width="40" height="40" border="0" /> '.$item['tempe_soir'].'°C</td>';
else
$html .='<td width="100">...</td>';
// dispo
$html .='<td width="27" >'.$disp[$day][0].'</td>';
$html .='<td width="27" >'.$disp[$day][1].'</td>';
$html .= "</tr>\n";
$day++;
}
$html .= "</table></center>\n";
}
// retourne le code HTML a inclure dans la page
return $html;
}
define ("MAGPIE_CACHE_ON",true);
define ("MAGPIE_CACHE_DIR","cache");
define ("MAGPIE_CACHE_AGE",3600);
define("MAGPIE_OUTPUT_ENCODING","utf-8");
echo MeteoFeedParser("http://www.meteorologic.net/webmaster/xml/xml_file_3688.xml");
?>