Discussion utilisateur:Myst

Le contenu de la page n’est pas pris en charge dans d’autres langues.
Une nouvelle de Wikinews, la source d'informations que vous pouvez écrire.

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)[répondre]


Script meteo[modifier le wikicode]

Bon, 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 Mort de rire -- Quentinv57 25 août 2010 à 22:39 (UTC)[répondre]

<?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 ( '`&nbsp;Prévisions mises &agrave; jour le ([0-9]+)/([0-9]+)/([0-9]+) &agrave; ([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&eacute;ratures extr&ecirc;mes \*</div></td><td><div align="center">(-?[0-9]+)\n &deg;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('&eacute;','é',$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[modifier le wikicode]

Bonjour, 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)[répondre]