On récupère en temps réel les données météos sur le site OpenWeatherMap via une API.
Il est nécessaire de créer un compte gratuit pour récupérer l’ url le l’API.
api.openweathermap.org/data/2.5/weather?q=quimperle,fr&APPID=6491337048dbfc6359f4fda35cf29dee
Si vous collez une url de ce type dans la barre d’adresse de votre navigateur vous obtiendrez ceci:
Un peu indigeste. Allez à cette URL pour obtenir un affichage correct des données récupérées.
Collez y le contenu récupéré.dans l’onglet TEXT puis cliquez sur l’onglet VIEWER. Vous devez obtenir ceci:
Développez tout:
On dispose maintenant du libellé de chaque élément disponible, passons au script PHP.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Météo Qlé</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="description" content="" /> <meta name="keywords" content="" /> <meta name="robots" content="index,follow" /> <link rel="stylesheet" type="text/css" href="styles.css" /> </head> <body> <h1> <hr/> <font color="blue"> <center> Données météo à Quimperlé - © Patrice WITTE ,Via API OpenWeather </center> </font> <hr/> </h1> <h4> <?php $url = "http://api.openweathermap.org/data/2.5/weather?q=quimperle&lang=fr&units=metric&APPID=N° de votre API"; $contents = file_get_contents($url); $clima=json_decode($contents); setlocale(LC_TIME, 'french.UTF-8', 'fr_FR.UTF-8'); $date_r = strftime('%A %d %B %Y, %H:%M'); $temp_max=$clima->main->temp_max; $temp_min=$clima->main->temp_min; $temp=$clima->main->temp; $pression=$clima->main->pressure; $vitesse_vent=$clima->wind->speed; $direction=$clima->wind->deg; $vitesse_vent=$vitesse_vent*3600/1000; $humidite=$clima->main->humidity; $icon=$clima->weather[0]->icon.".png"; $today = date("F j, Y, g:i a"); $cityname = $clima->name; //Affichage lignes d' entête echo "<table border='1' table width='400' align='center'> <tr> </tr>"; //Affichage données echo "<tr>"; echo "<td> <p align='center'>" . "Date relevé"."</td>"; echo "<td> <p align='center'>" . $date_r."</td>"; echo "</tr>"; echo "<tr>"; echo "<td> <p align='center'>" . "T max ". "°C"."</td>"; echo "<td> <p align='center'>" . $temp_max."</td>"; echo "</tr>"; echo "<tr>"; echo "<td> <p align='center'>" . "T min ". "°C"."</td>"; echo "<td> <p align='center'>" . $temp_min. "</td>"; echo "</tr>"; echo "<tr>"; echo "<td> <p align='center'>" . "T actuelle ". "°C"."</td>"; echo "<td> <p align='center'>" . $temp. "</td>"; echo "</tr>"; echo "<tr>"; echo "<td> <p align='center'>" . "Pression hpa". "</td>"; echo "<td> <p align='center'>" . $pression. "</td>"; echo "</tr>"; echo "<tr>"; echo "<td> <p align='center'>" . "Vitesse vent Km/h ". "</td>"; echo "<td> <p align='center'>" . $vitesse_vent. "</td>"; echo "</tr>"; echo "<tr>"; echo "<td> <p align='center'>" . "Direction vent ° ". "</td>"; echo "<td> <p align='center'>" . $direction. "</td>"; echo "</tr>"; echo "<tr>"; echo "<td> <p align='center'>" . "Humidité % ". "</td>"; echo "<td> <p align='center'>" . $humidite. "</td>"; echo "</tr>"; echo "<tr>"; echo "<td> <p align='center'>" . "Ciel". "</td>"; echo "<td> <p align='center'>" . "<img src='http://openweathermap.org/img/w/" . $icon ."'/ >". "</td>"; echo "</tr>"; echo("<br>"); ?> </h4> <img src="rosee.png" alt="?" border="0" align="left" width="500" height="500" /> </body> </html>
Résultat final, voir ICI