Utilisateur:Savant-bot/Tutoriel météo
Cette page explique comment créer une carte météorologique pour un pays, qui sera ensuite mise à jour par Savant-bot (d · c · b). La création de la carte est semi-automatisée, à l'aide d'un programme informatique.
Prérequis
[modifier | modifier le wikicode]- Python, langage de programmation. Il est normalement installé par défaut sur la plupart des distributions Linux.
- trouver la carte topographique du pays sur Wikimédia Commons (l'utilisateur Sting a créé de très belles cartes topographiques, vous pouvez puiser dedans). Le format SVG est largement préférable pour ce genre de cartes. Ne gardez que le nom de l'image, du type Italy relief location map.jpg
- avoir téléchargé et enregistré le code source Python suivant (le nom du fichier final importe peu, ce peut être bonjour.py ou jaimewikinews.py !). Attention : ce programme va générer deux fichier texte, code.txt et carte.txt. S'il existe deux fichiers du même nom dans le répertoire où le script est enregistré, ils seront effacés.
# -*- coding: utf-8 -*-
# Permet de créer une carte météorologique compatible avec Savant-bot
# pour Wikinews-fr
# Auteur : Savant-fou, licence WTF :p
print "** Création d'une carte météorologique pour Savant-bot. **"
carte = open("carte.txt","a")
code = open("code.txt","a")
print "Quel est le nom du pays ?"
pays = raw_input()
print "Quel est le nom de la carte Commons ?"
commons = raw_input()
code.write("def meteo_" + pays + "():\n # Récupération des données")
carte.write("{{Image label begin|image=" + commons + "|width=400}}\n")
print "Maintenant, nous allons choisir les stations météo."
continuer = True
update = '\n # Mise à jour\n texte = u"{{subst:User:Savant-bot/' + pays
while continuer:
print "Quelle est l'URL de la station ?"
urlstation = raw_input()
urlstation = urlstation[urlstation.find("t/") + 2:urlstation.find(".h")]
code.write("\n " + urlstation.lower() + " = meteo(\"" + urlstation + "\")")
print "Quelles sont les coordonnées X de la station ?"
coordx = raw_input()
print "Quelles sont les coordonnées Y de la station ?"
coordy = raw_input()
carte.write("\n{{Image label image|x=" + str(int(coordx) + 20) + "|y=" + str(int(coordy) + 20) + "|image={{{meteo" + urlstation.lower() + "}}}}} <!-- " + urlstation + " -->\n{{Temp label absolute|x=" + coordx + "|y=" + coordy + "|text={{{temp" + urlstation.lower() + "}}}|unit=c}} <!-- " + urlstation + " -->")
update += '|temp' + urlstation.lower() + '=" +' + urlstation.lower() + '[0] + "|meteo' + urlstation.lower() + '=" + ' + urlstation.lower() + '[1] + "'
print "Nouvelle station ? [oui o/non n]"
if raw_input().lower() == "o": continuer = True
else: continuer = False
carte.write('\n{{Image label|x=-20|y=-20|scale={{{width|-1}}}|text=<span style="color: white;">\'\'\'Wikinews Météo\'\'\'<br/>\'\'\'Météo en ' + pays + ' Guyane Française (°C)\'\'\'<br/>\'\'{{{date}}}<br />{{{heure}}} UTC\'\'</span>}}\n{{Image label|x=-19|y=-19|scale={{{width|-1}}}|text=<span style="color: black;">\'\'\'Wikinews Météo\'\'\'<br/>\'\'\'Météo en ' + pays + ' (°C)\'\'\'<br/>\'\'{{{date}}}<br />{{{heure}}} UTC\'\'</span>}}\n{{Image label end}}\n<includeonly>[[Catégorie:Modèles pour la météo|' + pays + ']]</includeonly>')
update += '|date=" + temps()[0] + "|heure=" + temps()[1] + "}}"\n titre = u"Modèle:Météo en " + pays\n page = wikipedia.Page(site,titre)\n page.put(texte,u"Bot : mise à jour de la météo en ' + pays + ' selon données du NOAA")'
code.write(update)
Première étape : identifier les stations météo et créer les codes
[modifier | modifier le wikicode]Savant-bot va récupérer les données sur le site du NOAA, l'agence américaine de la météo, à l'adresse http://weather.noaa.gov/. C'est en fait un réseau des stations météo d'aéroports. Lancez le script précédemment enregistré. Sous Linux, la commande à entrer dans un terminal sera du type :
python monscript.py
.
Nous allons définir une par une chaque station météo. Rendez-vous sur http://weather.noaa.gov/. Sous « International Weather Conditions », dans la boite déroulante « Select a country... » choisissez le pays en question, puis cliquez sur « Go! » pour valider. Vous accédez alors à la page du pays. Choisissez dans la liste déroulante les différentes stations météo qui seront affichées sur la carte. Revenons maintenant au script. Renseignez d'abord la carte Commons et le nom du pays, puis l'URL de la première station.
On vous demande maintenant « Quelles sont les coordonnées X de la station ? ». Pour le savoir, téléchargez la carte au format 400 px puis ouvrez-la avec un logiciel de traitement d'images tel que GIMP ou PhotoFiltre. Placez le curseur de la souris sur l'endroit où la station météo se trouve ; les coordonnées X et Y sont données en bas de l'écran.
À la fin, le script vous demande si vous souhaitez ajouter une nouvelle station ou générer le code final.
Deuxième étape : mettre en ligne le tout !
[modifier | modifier le wikicode]Vous avez fait le plus difficile . Il s'agit maintenant de créer la page Utilisateur:Savant-bot/Nom_du_pays
, avec Nom_du_pays
le nom du pays que vous avez donné au script tout à l'heure. Copiez-coller le contenu du fichier carte.txt
qui doit normalement se trouver dans le même répertoire que le script. Publiez la page.
Ensuite, déposez un gentil message (avec un chèque de 500 €) sur la page de discussion de Savant-fou en copiant-collant le contenu de code.txt
(dans une {{Boîte déroulante}} c'est plus pratique). Voilà, vous avez terminé ! Dès que Savant-fou passe, il s'occupe du reste !
Enfin, rendez-vous sur la page de discussion du modèle et copiez-collez le code suivant.
<div class="noprint"><div style="margin-top:4px; margin-bottom:4px; padding: 7px; background-color: #d3ebb0; border: 3px solid #7ecf0b; width:95%"> <div style="font-size:12pt; font-weight:bold; border-bottom:1px solid #7ecf0b;"><big>Cette page a été créée automatiquement</big></div> [[Fichier:Nuvola apps kcmprocessor.png|left|100px]] Cette carte météorologique a été actualisée de façon automatique par un programme informatique récupérant les données depuis le site du NOAA (http://weather.noaa.gov/). Toutes ces données sont seulement indicatives. ''Wikinews'' n'accepte aucune responsabilité concernant l'actualisation des données, sa précision ou tout autre usage pour laquelle elle pourrait être utilisée. Veuillez consulter nos [[Wikinews:Avertissements généraux|avertissement généraux]]. Pour plus d'informations, consultez [[Utilisateur:Savant-fou|cette personne]]. Merci. ''<small>If you have any questions, please ask [[Utilisateur:Savant-fou|this user]]. Thanks.</small>'' — [[User:Savant-bot|Savant-bot]] <small>([[Discussion Utilisateur:Savant-fou|poser une question]])</small>. </div> </div> </div>
Vous pouvez compléter la documentation de Savant-bot, au paragraphe « Modèles utilisés ».