Aide:Comment mettre à jour la carte météo

Une nouvelle de Wikinews, la source d'informations que vous pouvez écrire.

Cette aide est destinée à mettre à jour rapidement le modèle {{Météo en direct}} avec un minimum d'effort. Une mise à jour purement manuelle des paramètres de cette page risque de décourager les plus persévérants. Ainsi, une procédure particulière d'édition permet, en outre, de gagner considérablement du temps.


La présentation du modèle[modifier | modifier le wikicode]

La syntaxe du modèle en question est la suivante :

la première ligne

{{Image label begin|image=France_map_Lambert-93_topographic-blank.svg|width={{{width|600}}}}}

Cette première transclusion paramètre la carte sur laquelle les éléments seront ajoutés.

La ligne symbole météo

{{Image label image|x=56|y=162|image=Weather-clear-night.svg}}<!-- Bretagne Ouest --> Cette deuxième transclusion ajoute trois paramètres :

  1. x : indique l'abscisse à partir de laquelle le symbole météo sera inséré.
  2. y : indique l'ordonnée à partir de laquelle ledit symbole sera inséré. Dans les deux cas, il s'agit des coordonnées du coin supérieur gauche de l'image à partir de laquelle elle sera apposée.
  3. image : nom du fichier à insérer sur la carte. Il s'agit du nom sans le nom de son espace de nommage. Ainsi, Fichier:France_map_Lambert-93_topographic-blank.svg s'écrira France_map_Lambert-93_topographic-blank.svg
  4. Le nom de la région est inséré dans les commentaires <!-- -->. Il est un espace est inséré avant et après le nom de la région.
La ligne température

{{Temp label absolute|x=531|y=509|text=10|unit=c}}<!-- Ajaccio -->

Cette troisième transclusion concerne le paramétrage des températures pour une ville déterminée.

  1. x : indique l'abscisse à partir de laquelle la puce de couleur sera insérée. Dans celle-ci sera indiqué la température en question.
  2. y : indique l'ordonnée à partir de laquelle ladite puce sera insérée. Dans les deux cas, il s'agit des coordonnées du coin supérieur gauche de l'image à partir de laquelle elle sera apposée.
  3. text : il indique la température, qu'elle soit positive ou négative.
  4. unit : indique l'unité de température. c indique les degrés Celsius, f les degrés Farenheit.
  5. Le nom de la ville est inséré dans les commentaires <!-- -->. Il est un espace est inséré avant et après le nom de la région.
Les lignes information

{{Image label|x=-20|y=-20|scale={{{width|-1}}}|text=<span style="color: #D0D0D0;">'''Wikinews Météo'''<br/>''Températures en France en °C'''<br/>''18 mars 2009<br />16:30 CEST / 15:30 UTC''</span>}}
{{Image label|x=-19|y=-19|scale={{{width|-1}}}|text=<span style="color: black;">'''Wikinews Météo'''<br/>'''Températures en France en °C'''<br/>''18 mars 2009<br />16:30 CEST / 15:30 UTC''</span>}}
{{Image label end}}


Deux transclusions du même modèle pour les informations indiquées sur la carte. Il s'agit d'une mise en relief du texte de la carte. Le premier indique la couleur de fond, le second, la couleur principale. x et y : indique les coordonnées où commencera le positionnement du texte.

La météo en France métropolitaine[modifier | modifier le wikicode]

Un modèle met à jour la carte météo en France selon le schémas suivant :

{{Météo en France
|Bretagne ouest={{subst:Symbole météo|}}
|Bretagne est={{subst:Symbole météo|}}
|Vendée={{subst:Symbole météo|}}
|Charentes={{subst:Symbole météo|}}
|Limousin={{subst:Symbole météo|}}
|Cantal={{subst:Symbole météo|}}
|Pays Loire={{subst:Symbole météo|}}
|Eure-et Loire={{subst:Symbole météo|}}
|Cotentin={{subst:Symbole météo|}}
|Haute Normandie={{subst:Symbole météo|}}
|Nord={{subst:Symbole météo|}}
|Île de France={{subst:Symbole météo|}}
|Ardennes={{subst:Symbole météo|}}
|Luxembourg={{subst:Symbole météo|}}
|Strasbourg-Saverne={{subst:Symbole météo|}}
|Champagne={{subst:Symbole météo|}}
|Belfort={{subst:Symbole météo|}}
|Val de Saône={{subst:Symbole météo|}}
|Berry={{subst:Symbole météo|}}
|Auvergne={{subst:Symbole météo|}}
|Rhône={{subst:Symbole météo|}}
|Aquitaine={{subst:Symbole météo|}}
|Pays Basque={{subst:Symbole météo|}}
|Pyrénées={{subst:Symbole météo|}}
|Pays Toulousain={{subst:Symbole météo|}}
|Roussillon={{subst:Symbole météo|}}
|Savoie={{subst:Symbole météo|}}
|Alpe-Ouest={{subst:Symbole météo|}}
|Marseille={{subst:Symbole météo|}}
|Alpes-Maritimes={{subst:Symbole météo|}}
|Pays Catalan={{subst:Symbole météo|}}
|Corse={{subst:Symbole météo|}}
|tParis=
|tAgen=
|tAjacio=
|tAlençon=
|tAurillac=
|tBastia=
|tBayonne=
|tBordeaux=
|tBrest=
|tCherbourg=
|tClermont-Ferrand=
|tDijon=
|tDunkerque=
|tGrenoble=
|tLe Havre=
|tLa Rochelle=
|tLille=
|tLimoges=
|tLyon=
|tMarseille=
|tMontpellier=
|tMouthe=
|tMulhouse=
|tNancy=
|tNantes=
|tNevers=
|tNice=
|tOrléans=
|tPerpignan=
|tPoitiers=
|tReims=
|tRennes=
|tRodez=
|tRouen=
|tStrasbourg=
|tSierck-les-Bains=
|tTarbes=
|tThonon-les-Bains=
|tToulouse=
|tTroyes=
|tValence=
|date=~~~~~
|heure CEST=
|heure UTC=
|nuit=
}}

Les paramètres ne commençant pas par la lettre t concernent la carte du ciel. Ils suffit s'insérer le nom du symbole météorologique sans mentionner son espace de nommage (Fichier:) ni son extension en .svg. Si le paramètre nuit est renseigné, un calque supplémentaire couvrira la carte pour simuler la nuit. Le paramètre prev comporte trois options : Matin, Après-midi et Soir (1, 2, 3) pour les prévisions météorologique pour une date donnée. Il inhibe les paramètres heure CEST et heure UTC.

Paramétrage de la carte[modifier | modifier le wikicode]

Image correspondant à {{subst:Symbole météo|6}}

Un paramétrage manuel d'un tel modèle fera fuir les contributeurs les plus assidus. Aussi, un modèle d'insertion du symbole météo a été créé : {{Symbole météo}}.

Aussi, pour éviter les modifications des paramètres du modèle, l'usage de subst: est impératif. Ainsi l'image à insérer est répertoriée dans la page d'aide de ce modèle. Pour un temps voilé le jour, on inscrira {{subst:Symbole météo|6}}, lequel correspondra à l'image Fichier:Weather-day-veiled.svg.

Utilisation de w3m et de vim[modifier | modifier le wikicode]

Plusieurs outils en ligne de commande permet une édition rapide de ce modèle.

Usage de w3m[modifier | modifier le wikicode]

w3m est un navigateur en ligne de commande. Il suffit de paramétrer vim comme éditeur externe. Ce paramétrage dépend du système d'exploitation sous lequel on travaille.

Usage de vim[modifier | modifier le wikicode]

vim est un éditeur de texte en ligne de commande lequel présente des fonctionnalités puissantes d'édition.

Vim se lance après avoir cliqué sur la fenêtre de modification de Wikinews sous w3m. L'éditeur se lance et il est possible de travailler. Le texte, ainsi modifié est automatiquement intégré à w3m après avoir quitté l'éditeur (:q).

En renseignant les motifs de modification, on peut alors publier la page.

Comment utiliser vim ?[modifier | modifier le wikicode]

Paramétrage manuel[modifier | modifier le wikicode]

L'initialisation du modèle selon deux commandes :

  1. :%s/=.*[a-z]/={{subst:symbole météo\|}}/g
  2. :map <F3> <Esc>:%s/=.*[0-9]/=/g

Ces deux commandes remettent à zéro tous les paramètres et initialisent la carte du ciel en y insérant {{subst:symbole météo|}}.

On peut aller encoure plus vite par un mappage de commandes du clavier. On peut initialiser les touches <F2> et <F3> par exemple, dans le fichier de configuration .vimrc sous UNIX.

Dans ce fichier, il suffit d'insérer les deux lignes suivantes :

map <F2> <Esc>:%s/=.*[a-z]/={{subst:symbole météo\|}}<Return>
map <F3> <Esc>:%s/=.*[0-9]/=/ge<Return>


:map <F2> <Esc>:%s/=.*[a-z]/={{subst:symbole météo\|}}<Return>
:map <F3> <Esc>:%s/=.*[0-9]/=/ge<Return><Return>

Il suffit de presser les deux touches pour tout réinitialiser.

Paramétrage automatique[modifier | modifier le wikicode]

Il est possible d'aller encore plus loin en créant un script vim qui initialisera des fonctions spécifiques.

Création d'un fichier script[modifier | modifier le wikicode]

Sous UNIX, il suffit de créer un fichier meteo.vim sous le répertoire ~/vim/plugin/.

Insérez le code suivant :

"***********************************************************"
"FONCTIONS DÉDIÉES À LA MISE EN FORME DES TABLEAUX DE MÉTÉO"
"***********************************************************"


function InitMeteo()
let deb = input('entrez la première ligne à initialiser : ')
let deb1 = deb + 80
let deb2 = deb + 158
let boucle = deb + 32
while deb < boucle
let line = getline(deb)
let remp = substitute(line, '=.*[a-z]', '={{subst:symbole météo\|}}', 'ge')
call setline(deb, remp)
let deb = deb + 1
endwhile
let boucle = boucle + 80
while deb1 < boucle
let line = getline(deb1)
let remp = substitute(line, '=.*[a-z]', '={{subst:symbole météo\|}}', 'ge')
call setline(deb1, remp)
let deb1 = deb1 + 1
endwhile
let boucle = boucle + 80
while deb2 < boucle
let line = getline(deb2)
let remp = substitute(line, '=.*[a-z]', '={{subst:symbole météo\|}}', 'ge')
call setline(deb2, remp)
let deb2 = deb2 + 1
endwhile

"Suppression des températures

let boucle = deb + 41
while deb < boucle
let line = getline(deb)
let remp = substitute(line, '=.*[0-9]','=','ge')
call setline(deb, remp)
let deb = deb + 1
endwhile
let boucle = deb1 + 41
while deb1 < boucle
let line = getline(deb1)
let remp = substitute(line, '=.*[0-9]','=','ge')
call setline(deb1, remp)
let deb1 = deb1 + 1
endwhile
let boucle = deb2 + 41
while deb2 < boucle
let line = getline(deb2)
let remp = substitute(line, '=.*[0-9]','=','ge')
call setline(deb2, remp)
let deb2 = deb2 + 1
endwhile
endfunction

function MajMeteoTemp () range
let lnum = a:firstline
let lfin = a:lastline
while lnum <= lfin
let line = getline(lnum) 
let lieu = substitute(line , '|t\(.*[a-z]\)=', '\1','')
let temp = input("Température pour la ville de ".lieu . ": ")
let remp = substitute (line, '=','='.temp ,"g")
call setline(lnum, remp)
let lnum +=1
endwhile
endfunction

function MajMeteoCiel () range
let lnum = a:firstline
let lfin = a:lastline
while lnum <= lfin
let line = getline(lnum)
let lieu = substitute(line , '|\(.*[a-z][^=]\)={{.*[a-z]|}}', '\1','')
let ciel = input("Ciel pour la région ".lieu . " : ")
let remp = substitute (line, 'météo|','météo|'.ciel ,"g")
call setline(lnum, remp)
let lnum +=1
endwhile
endfunction

function MajTableauTemp () range
let tableau = input('Entrez la première ligne de donnée du tableau : ')
let lnum = a:firstline
let lfin = a:lastline
while lnum <= lfin
let tabl = getline(tableau)
let tabl1 = substitute(tabl,'\(.*[a-z]\) ||.*[a-z"|]','\1','' )
let line = getline(lnum)
let temp = substitute(line , '\(-[0-9^<tab>]*\)', '{{rouge|\1}}', 'ge')
let remp = substitute(temp ,'\(\_[^\t]*\)\t' , tabl1.'|| align="center" | \1|| align="center" |', '')
call setline(tableau, remp)
let tableau += 2
let lnum += 1
endwhile
let dl = a:firstline
let fl = a:lastline 
call SupLignes (dl , fl)
endfunction

function MajAutoCiel() range
let ciel = input('Entrez la première ligne à paramétrer : ')
let dl = a:firstline
let lnum = a:firstline
let lfin = a:lastline
while lnum <= lfin
let symb = getline(ciel)
let param = getline(lnum)
let remp = substitute (symb, 'météo|', 'météo|'.param,'')
call setline(ciel, remp)
let ciel += 1
let lnum += 1
endwhile
call SupLignes(dl, lfin)
endfunction

function MajAutoTemp () range
let temp = input('Entrez la première ligne à paramétrer : ')
let dl = a:firstline
let lnum = a:firstline
let lfin = a:lastline
while lnum <= lfin
let temp1 = getline(temp)
let param = getline(lnum)
let remp = substitute(temp1, '=','='.param ,"")
call setline(temp, remp)
let lnum += 1
let temp += 1
endwhile
call SupLignes(dl, lfin)
endfunction

Saisie au fil de l'eau[modifier | modifier le wikicode]

Initialisation de la page météo[modifier | modifier le wikicode]

Il est possible d'utiliser le mappage comme ci-dessus ou lancer la commande suivante sous vim :call InitMeteo()

La saisie météo de la carte des intempéries[modifier | modifier le wikicode]

Deux méthodes de saisie sont possibles :

  1. en tapant manuellement les numéros de début et de fin des lignes à modifier 2,33call MajMeteoCiel()
  2. en utilisant la souris en surlignant les lignes à modifier puis appuyer sur la touche :, alors les symboles ':<,'> apparaîtront et qu'il faudra compléter par call MajMeteoCiel(), la saisie sera donc la suivante :'<,'>call MajMeteoCiel()

Un message vous demandera d'inscrire le numéro du symbole météorologique concernant la ville indiquée par le prompt autant de fois que vous avez indiqué de lignes en paramètre.

Ciel pour la région <Nom région> :

La saisie météo des températures[modifier | modifier le wikicode]

Le schéma du § précédent s'applique, mais la fonction à utiliser sera MajMeteoTemp()

Le script demandera d'inscrire la température comme au § précédent.

Température pour la ville de <Nom ville> :

Après avoir modifié les dates et heures de la légende de la carte, on quittera vim après avoir sauvegardé en tapant :wq

La saisie automatique des données[modifier | modifier le wikicode]

Une autre fonctionnalité permet l'insertion rapide des données préalablement collectées dans un tableur. Cette collecte des températures et des symboles se fait à raison d'un relevé pour une ville par ligne. Une telle collecte ne peut se faire que dans l'ordre édicté par le modèle {{Météo en direct}} (Paris, Agen, Ajaccio, etc. ou encore Bretagne Ouest, Bretagne Est, Vendée, etc. pour la France)

Une fois la collecte terminée, la mise à jour du modèle devient un jeu d'enfant.

Initialisation de la carte[modifier | modifier le wikicode]

La procédure est identique que pour la saisie au fil de l'eau.

Saisie des symboles[modifier | modifier le wikicode]

Depuis votre tableur, faites un copier-coller de la colonne concernant des paramètres, vers la fin du modèle.

il suffit d'appeler la fonction MajAutoCiel() selon les mêmes modalités que ci-dessus.

Les premiers paramètres seront ceux des données à insérer dans les modèles, c'est-à-dire les lignes insérées à la fin du modèle. Dans mon exemple, il s'agit des lignes 79 à 104. Deux méthodes pour lancer la fonction :

  • manuellement par :79,104call MajAutoCiel()
  • avec la souris en surlignant les lignes : :'<,'>call MajAutoCiel() selon la procédure décrite ci-dessus.

Le message suivant apparaîtra : Entrer la première ligne à paramétrer :

Il s'agit de la première ligne du modèle à paramétrer. S'il s'agit de l'ouest de la Bretagne, on regardera la ligne où Bretagne Ouest apparaîtra en commentaire. Dans mon exemple, il s'agit de la ligne 2. Après avoir renseigné le script, celui-ci insérera automatiquement les données.

Saisie des températures[modifier | modifier le wikicode]

Les modalités du précédent paragraphe s'appliquent aussi. La fonction utilisée est MajAutoTemp().

Saisie du tableau des températures (min/max)[modifier | modifier le wikicode]

Dans la page France, une boîte permet la création du bulletin météo journalier. Lors de son initialisation, deux cartes météos sont initialisées avec un tableau présentant les températures minimales et maximales dans 41 localités.

La saisie des données implique 82 modifications dans le tableau ce qui est long et fastidieux. Comme précédemment, il suffit de copier-coller les deux colonnes de ces températures, à partir d'un tableur qui collectera les données, à la suite du tableau. Le modus operandi reste le même : ce sera la fonction MajTableauTemp(), avec passage des paramètres.