|
| [php] script de meteo | |
| | Auteur | Message |
---|
NabaZly Lapin nain
Localisation : Pas Loin ? Nbr de messages : 8 Carottes : 6199
| Sujet: [php] script de meteo Jeu 13 Déc 2007 - 22:29 | |
| bjour à tous les lapins et lapines.. voila j'ai fait mon ptit script en php qui permet de faire causer un peu mon lapin et du coup de me donner la meteo... avantage par rapport a celui du site violet, ben je le met dans les taches planifiées de mon serveurs et comme ca il me donne toutes les infos quand je me leve, et donc un peu plus d'infos car basé sur le site www.weather.com en plus il me donne la température de chez moi au passage. m'enfin ca c'est autre chose. bon si des fois ca interesse quelqu'un voici : d'abord installer php 5 (surtout la V5) pour windows (moi j'ai pris wamp) ensuite il y a 3 choses 1 fichier curl.exe 1 fichier bat 1 fichier php dans le bat j'ai mis ca : edit : voir plus bas dans le mail pour un meilleur code - Code:
-
C:\Batch\curl.exe "http://xoap.weather.com/weather/local/FRXX0080?cc=*&dayf=1&par=0&prod=xoap&key=0&unit=m&locid=0" > C:\Batch\FRXX0080.xml
C:\wamp\bin\php\php5.2.5\php.exe C:\Batch\meteo.php sachant que FRXX0080, c'est le code de ma ville pour la meteo... pour connaitre son code, il faut regarder sur le site weather.com ensuite le fichier meteo.php - Code:
-
<?php
$token = "******"; $serial = "******"; $ville = "FRXX0080"; $file="c:\Capteur_0.txt"; $temp_int = trim(fread(fopen($file, "r"), filesize($file)));
if (file_exists('FRXX0080.xml')) {
$xml = simplexml_load_file('FRXX0080.xml'); $temp_ext = $xml->cc->tmp;
$etat = $xml->cc->t;
$temp_max = $xml->dayf->day->hi;
$temp_min = $xml->dayf->day->low; $temp_moy = ($temp_max+$temp_moy)/2;
$precip = $xml->dayf->day[0]->part->ppcp;
// traduction $temp_int = str_replace(".", ",", "$temp_int"); $temp_int = str_replace(" ", "", "$temp_int"); $etat = trim(str_replace("Mostly Sunny", "trai+Ensoleillyai", $etat)); $etat = trim(str_replace("Mostly Cloudy", "trai+nuageu", $etat)); $etat = trim(str_replace("Partly Sunny", "partiellement+Ensoleillyai", $etat)); $etat = trim(str_replace("Partly Cloudy", "partiellement+nuageu", $etat)); $etat = trim(str_replace("Clear", "claire", $etat)); $etat = trim(str_replace("Fog", "brumeu", $etat)); $etat = trim(str_replace("Fog late", "laigerement+brumeu", $etat)); $etat = trim(str_replace("Rain", "pluvieux", $etat)); $etat = trim(str_replace("and Freezing Rain", "+avec+pluie+verglassante", $etat)); $etat = trim(str_replace("Snow", "neigeu", $etat)); $etat = trim(str_replace("Light", "laigerement+", $etat)); $etat = trim(str_replace("Showers", "pluvieu", $etat));
$texte = "Aujourd'hui+il+fait+actuellement+.+$temp_ext+degrai+.+le+temps+est+$etat+.+Il+fera+environ+$temp_moy+degrai+sur+la+journai+avec+$precip+pour+100+de+chance+de+pluie+.+bonne+journai";
$texte2 = "Bonjour+Sylvain+.+chez+toi+il+fait+.+$temp_int+degrai+.+.+";
$tts = "$texte2$texte";
$url = "http://api.nabaztag.com/vl/FR/api.jsp?sn=".$serial."&token=".$token."&ttlive=300&speed=80&voice=claire22s&tts=".$tts;
echo "$url";
$fd22 = fopen($url, "r");
} else { exit('Failed to open FRXX0080.xml'); } ?> je ne suis pas du tout devellopeur, alors j'imagine que mon code ressemble a rien. mais chez moi il fonctionne. Attention, dedans il m'indique la temperature de chez moi... faudra donc virer ca pour ceux qu'il veule installer ce script chez eux. Attention2 : je n'ai pas finit la traduction des "etats meteo", type nuageux, pluie, neige.. j'ai pas tous les mots. je les mets au fur est a mesure. Attention3 : sauf erreur, ce ne sont pas des grosses fautes d'orthographes, mais j'ai du ruser pour la reconnaissance vocale. si non c'etait pas beau.. et en dernier le fichier curl.exe qui permet de récuper le fichier xml de la meteo en local sur le pc. je pense que dans le code php on doit pouvoir lui faire lire la page xml sur le site directement, mais je n'ai pas trouvé comment.. pour les feignants, un ptit ZIP avec tout dedans. voila j'espere que ca plaira à quelqu'un.
Dernière édition par le Ven 4 Jan 2008 - 10:18, édité 1 fois | |
| | | NaBoByZ Nabazteur Courtois
Localisation : Btx Nabaztag : NaBoByZ Nbr de messages : 4349 Carottes : 6637
| Sujet: Re: [php] script de meteo Mar 18 Déc 2007 - 12:53 | |
| Aucunes réponses de développeur ici, mais cela me semble plutôt interressant ! non ?
Bravo en tout cas ! | |
| | | BigPanda Kryptonite Nabz
Age : 42 Localisation : Bruxelles Nabaztag : RyoOhki (V1), Meroko (V2), Iori (V3) Nbr de messages : 7127 Carottes : 13341
| Sujet: Re: [php] script de meteo Mar 18 Déc 2007 - 13:18 | |
| Hello Personnellement, je comprends pas trop l'utilité étant donné que le lapin donne déjà la météo tout seul mais soit Sinon, pour l'appel à la page directement, tu peux utiliser curl en php (http://be.php.net/manual/fr/ref.curl.php) Pour la partie traduction, il doit y avoir plus propre comme manière de faire (ne serait-ce que faire un tableau "avant->après" et boucler dessus) Par contre merci Je connaissais pas SimpleXML et je sens qu'il va un peu me simplifier la vie (j'aime aps le Dom ^^; ) _____________________________ Compagnie de reconstitution historique (essentiellement médiévale) en belgique : Tartes et Bastons ASBL (Suis nouveau sur MN donc plein de mangas encore à ajouter et mes DVDs à mettre aussi ) | |
| | | NabaZly Lapin nain
Localisation : Pas Loin ? Nbr de messages : 8 Carottes : 6199
| Sujet: Re: [php] script de meteo Dim 30 Déc 2007 - 21:48 | |
| content que ca puisse servir, pour le code pas propre, j'en doute pas un instant, je fais avec mes connaissances.. si non pour moi l'interet etait d'y intergré la température de chez moi en plus de la météo de dehors et de la coupler à ce surper soft : girder avec ce capteur et hop depuis ma télécommande je peux lancer la diction meteo + temp de chez moi. voila tout. | |
| | | BillTag Lapin nain
Localisation : Lens Nbr de messages : 29 Carottes : 6177
| Sujet: Re: [php] script de meteo Lun 31 Déc 2007 - 11:43 | |
| Bonjour,
J'ai un soucis la :
Warning: fopen(c:\Capteur_0.txt) [function.fopen]: failed to open stream: No such file or directory in C:\wamp\www\meteo.php on line 7
Warning: filesize() [function.filesize]: stat failed for c:\Capteur_0.txt in C:\wamp\www\meteo.php on line 7 | |
| | | BigPanda Kryptonite Nabz
Age : 42 Localisation : Bruxelles Nabaztag : RyoOhki (V1), Meroko (V2), Iori (V3) Nbr de messages : 7127 Carottes : 13341
| Sujet: Re: [php] script de meteo Lun 31 Déc 2007 - 12:17 | |
| Ton fichier C:\Capteur_0.txt n'existe pas. Ce qui n'est pas étonnant vu que c'est visiblement un fichier généré par le capteur de température intérieure de NabaZly... Comme ça, ça marchera normalement mieux - Code:
-
<?php
$token = "******"; $serial = "******"; $ville = "FRXX0080";
if (file_exists('FRXX0080.xml')) { $xml = simplexml_load_file('FRXX0080.xml'); $temp_ext = $xml->cc->tmp; $etat = $xml->cc->t; $temp_max = $xml->dayf->day->hi; $temp_min = $xml->dayf->day->low; $temp_moy = ($temp_max+$temp_moy)/2; $precip = $xml->dayf->day[0]->part->ppcp;
// traduction $temp_int = str_replace(".", ",", "$temp_int"); $temp_int = str_replace(" ", "", "$temp_int"); $etat = trim(str_replace("Mostly Sunny", "trai+Ensoleillyai", $etat)); $etat = trim(str_replace("Mostly Cloudy", "trai+nuageu", $etat)); $etat = trim(str_replace("Partly Sunny", "partiellement+Ensoleillyai", $etat)); $etat = trim(str_replace("Partly Cloudy", "partiellement+nuageu", $etat)); $etat = trim(str_replace("Clear", "claire", $etat)); $etat = trim(str_replace("Fog", "brumeu", $etat)); $etat = trim(str_replace("Fog late", "laigerement+brumeu", $etat)); $etat = trim(str_replace("Rain", "pluvieux", $etat)); $etat = trim(str_replace("and Freezing Rain", "+avec+pluie+verglassante", $etat)); $etat = trim(str_replace("Snow", "neigeu", $etat)); $etat = trim(str_replace("Light", "laigerement+", $etat)); $etat = trim(str_replace("Showers", "pluvieu", $etat));
$tts = "Aujourd'hui+il+fait+actuellement+.+$temp_ext+degrai+.+le+temps+est+$etat+.+Il+fera+environ+$temp_moy+degrai+sur+la+journai+avec+$precip+pour+100+de+chance+de+pluie+.+bonne+journai";
$url = "http://api.nabaztag.com/vl/FR/api.jsp?sn=".$serial."&token=".$token."&ttlive=300&speed=80&voice=claire22s&tts=".$tts;
echo "$url";
$fd22 = fopen($url, "r"); } else exit('Failed to open FRXX0080.xml'); ?>
_____________________________ Compagnie de reconstitution historique (essentiellement médiévale) en belgique : Tartes et Bastons ASBL (Suis nouveau sur MN donc plein de mangas encore à ajouter et mes DVDs à mettre aussi ) | |
| | | BillTag Lapin nain
Localisation : Lens Nbr de messages : 29 Carottes : 6177
| Sujet: Re: [php] script de meteo Lun 31 Déc 2007 - 15:38 | |
| Ca marche Merci | |
| | | BillTag Lapin nain
Localisation : Lens Nbr de messages : 29 Carottes : 6177
| Sujet: Re: [php] script de meteo Lun 31 Déc 2007 - 15:42 | |
| J'ai rajouter ca :
$etat = trim(str_replace("Fair", "nuageu", $etat)); | |
| | | BillTag Lapin nain
Localisation : Lens Nbr de messages : 29 Carottes : 6177
| Sujet: Re: [php] script de meteo Lun 31 Déc 2007 - 19:17 | |
| Bon j'adore ton script, je prefere cette meteo que celle de violet Ca pourrait etre bien d'avoir la meteo pour plusieurs jours ... Merrci | |
| | | NabaZly Lapin nain
Localisation : Pas Loin ? Nbr de messages : 8 Carottes : 6199
| Sujet: Re: [php] script de meteo Ven 4 Jan 2008 - 10:12 | |
| Merci BigPanda pour la modif, effectivment le capteur0_txt, c'est la temperature de chez moi.. voici le meme code mais - sans la temp de chez moi - avec le lendemain. annoncé seulement si il est plus de 18h. - plus besoin du curl.exe - plus besoin d'ecrire le texte avec des + partout. - update de la "traduction" - suppression de la temp moyenne.. - Code:
-
<?php
function enleve_accent($chaine){ $chaine = strtr($chaine, "ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ", "aaaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn"); return $chaine; }
$heure = date("Hi");
$token = "*****"; $serial = "******";
$urlweather = "http://xoap.weather.com/weather/local/FRXX0080?cc=*&dayf=2&par=0&prod=xoap&key=0&unit=m&locid=0";
$xml = simplexml_load_file($urlweather); $temp_ext = $xml->cc->tmp;
$etat = $xml->cc->t;
$temp_max = $xml->dayf->day->hi;
$temp_min = $xml->dayf->day->low; $temp_moy = ($temp_max+$temp_moy)/2;
$precip = $xml->dayf->day[0]->part->ppcp;
//lendemain
$temp_ext_n = $xml->dayf->day[1]->hi;
$etat_n = $xml->dayf->day[1]->part->t;
// traduction $temp_int = str_replace(".", ",", "$temp_int"); $temp_moy = str_replace(".", ",", "$temp_moy"); $temp_int = str_replace(" ", "", "$temp_int"); $etat = trim(str_replace("Mostly Sunny", "trai Ensoleillyai", $etat)); $etat = trim(str_replace("Mostly Cloudy", "trai nuageu", $etat)); $etat = trim(str_replace("Partly Sunny", "partiellement Ensoleillyai", $etat)); $etat = trim(str_replace("Partly Cloudy", "partiellement nuageu", $etat)); $etat = trim(str_replace("Sunny", "Ensoleillyai", $etat)); $etat = trim(str_replace("Light Rain and Freezing Rain", "petite pluie et pluie verglassante", $etat)); $etat = trim(str_replace("Clear", "claire", $etat)); $etat = trim(str_replace("Foggy", "brumeu", $etat)); $etat = trim(str_replace("Fog late", "laigerement brumeu", $etat)); $etat = trim(str_replace("Fog", "brumeu", $etat)); $etat = trim(str_replace("and Freezing Rain", "avec pluie verglassante", $etat)); $etat = trim(str_replace("Snow Showers", " avec neige verglassante", $etat)); $etat = trim(str_replace("Snow", "neigeu", $etat)); $etat = trim(str_replace("Rain", "pluvieu", $etat)); $etat = trim(str_replace("Light", "laigerement+", $etat)); $etat = trim(str_replace("Showers", "pluvieu", $etat)); $etat = trim(str_replace("Fair", "clair", $etat)); $etat = trim(str_replace("Cloudy", "nuageu", $etat));
//traduction lendemain $etat_n = str_replace("/", "et", "$etat_n "); $etat_n = trim(str_replace("AM", " ", $etat_n)); $etat_n = trim(str_replace("Mostly Sunny", "trai Ensoleillyai", $etat_n)); $etat_n = trim(str_replace("Mostly Cloudy", "trai nuageu", $etat_n)); $etat_n = trim(str_replace("Partly Sunny", "partiellement Ensoleillyai", $etat_n)); $etat_n = trim(str_replace("Partly Cloudy", "partiellement nuageu", $etat_n)); $etat_n = trim(str_replace("Sunny", "Ensoleillyai", $etat_n)); $etat_n = trim(str_replace("Clear", "claire", $etat_n)); $etat_n = trim(str_replace("Foggy", "brumeu", $etat_n)); $etat_n = trim(str_replace("Fog late", "laigerement brumeu", $etat_n)); $etat_n = trim(str_replace("Fog", "brumeu", $etat_n)); $etat_n = trim(str_replace("and Freezing Rain", "avec pluie verglassante", $etat_n)); $etat_n = trim(str_replace("Snow Showers", "neige verglassante", $etat_n)); $etat_n = trim(str_replace("Snow", "neigeu", $etat_n)); $etat_n = trim(str_replace("Rain", "pluvieu", $etat_n)); $etat_n = trim(str_replace("and Freezing Rain", "+avec+pluie+verglassante", $etat_n)); $etat_n = trim(str_replace("Light", "laigerement+", $etat_n)); $etat_n = trim(str_replace("Showers", "pluvieu", $etat_n)); $etat_n = trim(str_replace("Fair", "clair", $etat_n)); $etat_n = trim(str_replace("Cloudy", "nuageu", $etat_n));
if ($heure < 1800) {
$texte = "Aujourd'hui il fait actuellement $temp_ext degrai . . le temps est $etat avec $precip pour 100 de chance de pluie .";
} else {
$texte = "Aujourd'hui il fait actuellement $temp_ext degrai . . le temps est $etat avec $precip pour 100 de chance de pluie . Demain il fera environ $temp_ext_n degrai et un temps $etat_n .";
}
$tts = "$texte"; $tts = trim(str_replace(" ", "+", $tts));
$url = "http://api.nabaztag.com/vl/FR/api.jsp?sn=".$serial."&token=".$token."&ttlive=500&speed=80&voice=claire22s&tts=".$tts;
$fd22 = fopen($url, "r");
echo "<center>"; echo "<br>"; echo "$texte"; echo "<br>"; echo "</center>";
?> | |
| | | Teka Bronze Nabz
Age : 42 Localisation : Dijon, France Nabaztag : Ksper Nbr de messages : 197 Carottes : 6170
| Sujet: Re: [php] script de meteo Ven 4 Jan 2008 - 18:13 | |
| Impressionnant mais je n'arriverai pas à le reproduire ^ | |
| | | Contenu sponsorisé
| Sujet: Re: [php] script de meteo | |
| |
| | | | [php] script de meteo | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |