Myst
Bienvenue sur Wikinews, Myst !
Pour avoir plus d'indications sur comment rédiger dans Wikinews, rends-toi en Salle de rédaction ou, pour une aide encore plus détaillée, sur Rédaction d'un article.
Pour signer tes messages (uniquement sur les pages de discussion), tu peux taper trois fois le caractère ~. Avec un quatrième tilde, en plus de ta « signature », seront affichées la date et l'heure (~~~~). Les articles de Wikinews ne sont pas signés.
Nous utilisons des sigles parfois mystérieux : tu pourras trouver leur explication sur la page Aide:jargon du projet apparenté Wikipédia.
Si tu le désires, tu peux aussi nous dire d'où tu viens et tes centres d'intérêt. Tu peux pour cela modifier ta page personnelle. Si tu viens d'une autre Wikinews ou d'un autre projet Wikimedia (par exemple Wikipédia), n'oublie pas de mettre les liens vers tes autres pages personnelles.
Et si tu as des questions à poser, n'hésite surtout pas à me contacter ou à les poser dans la salle café.
Bonne continuation parmi nous !
Quentinv57 ✍ 25 août 2010 à 22:31 (UTC)
Script meteo
modifierBon, je t'envoie comme promis mon script avant d'aller me coucher. Je n'ai pas eu le temps de le nettoyer, alors j'espère que tu t'en sortiras
Au fait, la grande majorité des constantes sont définies en fonction du fichier USer:CaBot/Config, et les correspondances entre symboles et images dans User:CaBot/Config/Meteo -- Quentinv57 ✍ 25 août 2010 à 22:39 (UTC)
<?php
function GetMonth ( $str ) {
switch ( $str )
{
case 1 : return 'Janvier' ; break ;
case 2 : return 'Février' ; break ;
case 3 : return 'Mars' ; break ;
case 4 : return 'Avril' ; break ;
case 5 : return 'Mai' ; break ;
case 6 : return 'Juin' ; break ;
case 7 : return 'Juillet' ; break ;
case 8 : return 'Août' ; break ;
case 9 : return 'Septembre' ; break ;
case 10 : return 'Octobre' ; break ;
case 11 : return 'Novembre' ; break ;
case 12 : return 'Décembre' ; break ;
default : return false ;
}
}
function CESTtoUTC ( $cest ) {
switch ( $cest )
{
case 1 : return 23 ; break ;
case 2 : return 00 ; break ;
default : return ($cest - 2) ;
}
}
function MFtoWN_img ( $str ) {
$str = mb_convert_encoding($str,'ISO-8859-1','UTF-8');
global $arr_tradimg;
if ( array_key_exists($str, $arr_tradimg) ) {
return $arr_tradimg[$str] ;
} else {
return "Erreur bot : le temps \"$str\" est inconnu";
}
}
function meteo_get_corresp ()
{
global $wpapi;
$meteoconfig = $wpapi->getpage (METEO_SYMBOLS_PAGE);
preg_match_all ( '#^ (.*) = (.*)$#m' , $meteoconfig , $m) ;
$arr_tradimg = array () ;
foreach ( $m[1] as $key => $to )
{
$from = $m[2][$key] ;
$arr_tradimg[$to] = $from ;
}
return $arr_tradimg;
}
// Chargement des correspondances entre noms d'images
$arr_tradimg = meteo_get_corresp();
$MeteoFrance = new http ;
// Météo en France
if (METEO_FRANCE == 'ON')
{
$pagewiki = $wpapi->getpage (METEO_FRANCE_PAGE) ;
// mise à jour du temps
preg_match_all('`^\|.{2,}=[^0-9]+ <!-- ([0-9]{6}) -->$`iUm' , $pagewiki , $array_regions ) ;
$night = '';
foreach ( $array_regions[1] as $i => $ville )
{
$pagemeteo = mb_convert_encoding ( $MeteoFrance->get(METEO_FRANCE_URL . $ville) , "UTF8" ) ;
preg_match ('`<td class="temperatures"><img alt="(.*[^ ]) *" src=".*" title="(.*[^ ]) *"/> .*</td>`iUs', $pagemeteo, $matches ) ;
if (empty($night) && preg_match('#night#',MFtoWN_img($matches[1]))) $night = 'oui';
if ($matches[1]==$matches[2]) $pagewiki = preg_replace ('`^(\|.{2,}=)[^0-9\n]+( <!-- ' .$ville. ' -->)$`iUm' , "$1" .MFtoWN_img($matches[1]). "$2", $pagewiki ) ;
}
// mise à jour des températures
preg_match_all('`^\|t.*=-?[0-9]+ <!-- ([0-9]{6}) -->$`iUm' , $pagewiki , $array_villes ) ;
foreach ( $array_villes[1] as $i => $ville )
{
$pagemeteo = mb_convert_encoding ( $MeteoFrance->get(METEO_FRANCE_URL . $ville) , "UTF8" ) ;
if ($i == 0) {
preg_match ( '`<p class="refreshed"><em>Actualis.+([0-9]+)h([0-9]+)</em></p>`iU' , $pagemeteo , $matches ) ;
$maj_day = date('d');
if (date('H')==0) $maj_day--;
$maj_month = GetMonth(date('m'));
$maj_year = date('Y');
$maj_hour = $matches[1];
$maj_min = $matches[2];
}
preg_match ('`<td class="temperatures"><img .*/> (-?[0-9]+)[^0-9]*°C</td>`iUs', $pagemeteo, $matches ) ;
$pagewiki = preg_replace ('`^\|t(.*)=-?[0-9]+( <!-- ' .$ville. ' -->)$`iUm' , "|t$1=" .$matches[1]. "$2", $pagewiki ) ;
}
// Mise à jour date et heure
$pagewiki = preg_replace ("`^\|date=.*$`Uim", "|date=" .$maj_day.' '.$maj_month.' '.$maj_year , $pagewiki) ;
$pagewiki = preg_replace ("`^\|heure CEST=.*$`Uim", "|heure CEST=" .$maj_hour.':'.$maj_min , $pagewiki) ;
$pagewiki = preg_replace ("`^\|heure UTC=.*$`Uim", "|heure UTC=" .CESTtoUTC($maj_hour).':'.$maj_min , $pagewiki) ;
$pagewiki = preg_replace ("`^\|nuit=.*$`Uim", "|nuit=" . $night , $pagewiki) ;
$wpapi->edit (METEO_FRANCE_PAGE, $pagewiki, METEO_FRANCE_SUMMARY, METEO_USE_MINOREDIT, METEO_USE_BOTFLAG) ;
}
// Météo en Nouvelle Calédonie
if (METEO_NCAL == 'ON')
{
$pagewiki = $wpapi->getpage (METEO_NCAL_PAGE) ;
preg_match_all('#^\{\{Image label image - nc\|x=[0-9\.]+\|y=[0-9\.]+\|type=.*\|lieu=.*\}\} <!-- (.*) -->$#iUm' , $pagewiki , $array_villes ) ;
foreach ( $array_villes[1] as $i => $ville )
{
$pagemeteo = mb_convert_encoding ( $MeteoFrance->get(METEO_NCAL_URL . $ville) , "UTF8" ) ;
if ($i == 0) {
preg_match ( '` Prévisions mises à jour le ([0-9]+)/([0-9]+)/([0-9]+) à ([0-9]+):([0-9]+) locales`iU' , $pagemeteo , $matches ) ;
$maj_day = $matches[1];
$maj_month = GetMonth($matches[2]);
$maj_year = $matches[3];
$maj_hour = $matches[4];
$maj_min = $matches[5];
}
preg_match ('#<!-- Début Contenu 1 -->\s*<TABLE.*>\s*<TBODY>\s*<TR>\s*<TD>.*'
. '</tr><tr><td><div align="center">Temps sensible</div></td><td><div align="center"><img src=".*" width="[0-9]+" height="[0-9]+" title="(.*)" /></div></td>'
. '.*'
. '</tr><tr><td><div align="center">Températures extrêmes \*</div></td><td><div align="center">(-?[0-9]+)\n °C </div></td>'
. '.*</TD>\s*</TR>\s*</TBODY>\s*</TABLE>#iUs', $pagemeteo, $matches ) ;
$pagewiki = preg_replace ('#^(\{\{Image label image - nc\|x=[0-9\.]+\|y=[0-9\.]+\|type=).*(\|lieu=.*\}\} <!-- ' .$ville. ' -->)$#iUm' , "$1" .str_replace('é','é',$matches[1]). "$2", $pagewiki ) ;
preg_match ('#^(\{\{Temp label absolute\|x=[0-9\.]+\|y=[0-9\.]+\|text=)-?[0-9]*(\|unit=c\}\} <!-- ' .$ville. ' -->)$#iUm', $pagewiki, $match ) ;
$pagewiki = preg_replace ('#^(\{\{Temp label absolute\|x=[0-9\.]+\|y=[0-9\.]+\|text=)-?[0-9]*(\|unit=c\}\} <!-- ' .$ville. ' -->)$#iUm' , $match[1] .$matches[2]. $match[2], $pagewiki ) ;
}
preg_match ("#(text=<span style=\"color: \#D0D0D0;\">'''Wikinews Météo'''<br/>'''Températures en Nouvelle Calédonie en °C'''<br/>'').*(<br />).*(''</span>)#Uim", $pagewiki, $match) ;
$pagewiki = preg_replace ("#(text=<span style=\"color: \#D0D0D0;\">'''Wikinews Météo'''<br/>'''Températures en Nouvelle Calédonie en °C'''<br/>'').*(<br />).*(''</span>)#Uim", $match[1] . $maj_day.' '.$maj_month.' '.$maj_year . $match[2] . $maj_hour.':'.$maj_min . $match[3] , $pagewiki) ;
preg_match ("#(text=<span style=\"color: black;\">'''Wikinews Météo'''<br/>'''Températures en Nouvelle Calédonie en °C'''<br/>'').*(<br />).*(''</span>)#Uim", $pagewiki, $match) ;
$pagewiki = preg_replace ("#(text=<span style=\"color: black;\">'''Wikinews Météo'''<br/>'''Températures en Nouvelle Calédonie en °C'''<br/>'').*(<br />).*(''</span>)#Uim", $match[1] . $maj_day.' '.$maj_month.' '.$maj_year . $match[2] . $maj_hour.':'.$maj_min . $match[3] , $pagewiki) ;
$pagewiki = preg_replace ("#^(\{\{\#if:\|Source : <span class=\"plainlinks\">\[http://france.meteofrance.com/france/accueil Météo France\]</span>, ).*(.\}\})$#Uim", "$1" . 'le ' . $maj_day.' '.$maj_month.' '.$maj_year . ' à ' . $maj_hour.':'.$maj_min . "$2" , $pagewiki) ;
$wpapi->edit (METEO_NCAL_PAGE, $pagewiki, METEO_NCAL_SUMMARY, METEO_USE_MINOREDIT, METEO_USE_BOTFLAG) ;
}
?>
Articles populaires
modifierBonjour, serait-il possible de rétablir les articles populaires ? Ils ne se mettent plus à jour depuis le 3 janvier. Merci Gyrostat 8 janvier 2011 à 20:22 (UTC)