{{tag>Lucid Personnalisation}}
----
====== La météo avec conkyForecast ======
{{ http://img137.imageshack.us/img137/6690/conkyforecastimage2eo7.png?220|}}
**conkyForecast** est un script écrit en Python qui permet d'afficher la météo sur le bureau grâce à [[Conky]]. Les informations sont récupérées sur le site [[http://www.weather.com/|Weather.com]] à l'aide du service XOAP.
L'ensemble est extrêmement configurable et les prévisions peuvent être paramétrées jusqu'à 5 jours.
Le service de fourniture des données weather.com a changé depuis la mi novembre. Pour continuer à pouvoir recevoir les données météo,
il faut maintenant souscrire à un abonnement aux tarifs plutôt dissuasifs.
Rendez vous sur le forum ubuntu-fr à cette [[https://forum.ubuntu-fr.org/viewtopic.php?id=697371&p=1|adresse]] pour une alternative à conkyForecast.
===== Pré-requis =====
* Avoir [[:tutoriel:comment_installer_un_paquet|installé le paquet]] **[[apt://conky|conky]]**.
* Savoir se servir du [[terminal]]
=====Installation =====
Ce logiciel n'est pas issu des dépôts officiels, vous l'installez à vos risques et périls !
[[:tutoriel:comment_modifier_sources_maj|Ajoutez le dépôt]] ci-dessous correspondant votre distribution pour installer l'application "Conkyforecast":
Alimentation des Listes par le Terminal :
sudo add-apt-repository ppa:conky-companions/ppa
Puis [[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|rechargez la liste des paquets]] et [[:tutoriel:comment_installer_un_paquet|installez le paquet]] **[[apt://conkyforecast|conkyforecast]]**.
=====Inscription au service XOAP (Weather.com) =====
**a)** Pour que **conkyForecast** puisse récupérer les informations de la météo, il est nécessaire de s'inscrire [[http://www.weather.com/services/xmloap.html|ici]] (gratuit) :
**b)** Une fois sur le site cliquer sur le lien 'Register' en haut à droit.
**c)** Une fois le formulaire complété, vous recevrez un mail de confirmation dans lequel vous trouverez vos codes:
* **Partner ID : xxxxxxx**
* **License Key: xxxxxxx**
**Gardez ces informations sous la main**.
**d)** Dans le mail de confirmation il est conseillé de télécharger le dossier 'sdk'. Ce dernier contient l'ensemble des icônes météo en couleur utilisées par le site :
[[http://download.weather.com/web/xml/sdk.zip]]
**e)** Pour trouver le code de votre ville, rendez-vous sur le site [[http://www.weather.com/]].
**f)** Lancer la recherche et notez le code qui se trouve dans la barre d'adresse sous la forme 'FRXX000'.
Exemple : Code Paris : **FRXX0076**
=====Configuration =====
====ConkyForecast.config ====
Les paramètres principaux comme la langue, le format de l'heure, la date, ainsi que vos identifiants se trouvent dans le fichier **''~/.conkyForecast.config''**.
Ce fichier n'existe pas encore mais nous allons le créer
[[:tutoriel:comment_editer_un_fichier|éditez-le]].
Dans un Terminal lancer la commande ci-dessous pour créer le fichier.
gksudo gedit ~/.conkyForecast.config
Copier Collez le code ci-dessous en remplaçant les XXXXX par les informations qui vous avez réceptionnées de [[http://www.weather.com/]] :
# config settings for conkyForecast.py
CACHE_FOLDERPATH = /tmp/
CONNECTION_TIMEOUT = 5
EXPIRY_MINUTES = 30
TIME_FORMAT = %H:%M
DATE_FORMAT = %d-%m-%Y
LOCALE = fr
XOAP_PARTNER_ID = XXXXXXXXXXX
XOAP_LICENCE_KEY = XXXXXXXXXX
Sauvegardez puis quittez.
Le fichier **''"~/.conkyForecast.config"''** se trouve sous le chemin :
/home/votre_session/en fichier caché.
**Modifier le chemin du répertoire temporaire :**
Pour ce faire, éditez le fichier ~/.conkyForecast.config et remplacez ce qui suit par le répertoire temporaire de votre choix.
(Le $USER mentionné ci-après doit être votre nom d'utilisateur) :
CACHE_FOLDERPATH = /home/$USER/.conky_tmp
Exemple de session :
CACHE_FOLDERPATH = /home/amande/Config/Conky/.conky_tmp/
====Exemple ====
Afin de vous donner une idée de ce à quoi peut ressembler la météo sur votre bureau.\\
Vous trouverez deux fichiers dans **''/usr/share/conkyforecast/example''** :
* conkyrc (fichier de configuration de [[Conky]])
* conkyForecast.template (détaillé un peu plus loin)
Vous pouvez lancer [[Conky]] à l'aide de la commande suivante :
conky -c /usr/share/conkyforecast/example/conkyrc &
Qu'en dîtes-vous ? Passons aux choses sérieuses !
====Ville ====
Pour trouver le code de votre ville rendez-vous sur le site http://www.weather.com/ \\
Lancez une recherche et notez le code qui se trouve dans la barre d'adresse sous la forme FRXX0000.\\
Il faudra l'utiliser avec l'option --location comme suit :
--location FRXX0000
====Conkyrc ====
Avant tout il faut savoir que le script s'utilise à l'aide de la commande :
{execi 1800 conkyForecast ...options...}
Pour visionner/s'inspirer d'un conkyrc, [[:tutoriel:comment_editer_un_fichier|ouvrez le fichier]] **''/usr/share/conkyforecast/example/conkyrc''**.
Pour consulter la liste des options disponibles :
conkyForecast -h
Vous êtes perdus ? Pas de panique !
====Options ====
Voici la description des principales options :
* **''-l CODE ou --location=CODE''** : On l'utilisera pour spécifier le CODE de votre ville au script.
* **''-d DATATYPE ou --datatype=DATATYPE''** : C'est l'option principale ! Elle déterminera quelle information on souhaite afficher.
* **DW** : Jour de la semaine\\
* **WF** : Police ConkyWeather\\
* **WI** : Icône Météo\\
* **BF** : Police Bearing Font\\
* **BS** : Police Bearing Font + vitesse\\
* **BI** : Icône Bearing\\
* **LT** : Prévision température min\\
* **HT** : Prévision température max\\
* **CC** : Conditions actuelles\\
* **CT** : Conditions originales (en anglais)\\
* **PC** : Chances de précipitations (en %)\\
* **HM** : Taux d'humidité\\
* **VI** : Visibilité\\
* **WD** : Vent direction\\
* **WA** : Vent angle en degrés\\
* **WS** : Vent Vitesse\\
* **WG** : Vent raffale\\
* **CN** : Nom de la ville\\
* **CO** : Nom du pays\\
* **OB** : Nom de l'observatoire\\
* **SR** : Levé du soleil\\
* **SS** : Couché du soleil\\
* **DL** : Lumière du jour\\
* **MP** : Phase de la lune\\
* **MF** : Police pour la lune pour afficher un symbole\\
* **MI** : Icône de la lune\\
* **BR** : Pression atmosphérique\\
* **BD** : Description pression\\
* **UI** : Indice UV\\
* **UT** : Description UV\\
* **DP** : Point de rosée\\
* **WM** : Carte Métérologique et chemin d'images retourné\\
* **LU** : Dernière mise à jour de weather.com\\
* **LF** : Dernière connexion à weather.com\\
* **''-s NUMBER ou --startday=NUMBER''** : Affiche les prévisions à partir du jour donné en paramètre (1 à 4)
* **''-e NUMBER ou --endday=NUMBER''** : Utilisé avec --startday, défini le jour de fin des prévisions
* **''-S NUMBER ou --spaces=NUMBER''** : Défini un espace avec la sortie de la commande (défaut : 1)
* **''-t FILE ou --template=FILE''** : Défini le chemin du fichier conkyForecast.template
* **''-L LOCALE ou --locale=LOCALE''** : Change la langue de sortie de la commande (fr=français, en=anglais...)
* **''-i ou --imperial''** : Donne le résultat en mesure impériale (mph, °F..)
* **''-b ou --beaufort''** : Donne le résultat à l'échelle beaufort pour la vitesse du vent
* **''-M ou --metrespersecond''** : Donne le résultat en mètre seconde pour la vitesse du vent
* **''-n ou --night''** : Pour obtenir les informations de nuit
* **''-w ou --shortweekday''** : tronque les noms des jours aux 3 premières lettres (ex: samedi=sam)
* **''-u ou --hideunits''** : Cache l'unité de mesure
* **''-x ou --hidedegreesymbol''** : Cache le symbole des degrés (à utiliser avec --hideunits)
* **''-r ou --refetch''** : Télécharge les informations sans tenir compte de la durée de validité des informations en cache
* **''-v ou --verbose''** : Active le mode verbose
* **''-E ou --enableerrors''** : Si une erreur est rencontrée elle sera affichée au lieu de la sortie standard
* **''-V ou --version''** : Affiche la version du script
Exemple :
${execi 1800 conkyForecast --location=FRXX0076 --datatype=WS}
Cela affichera la vitesse du vent (WS) pour la ville de Paris (FRXX0076)
Il est possible de combiner autant d'options que nécessaires.
==== A propos des polices ====
Les différentes polices disponibles se trouvent à cet endroit : **''/usr/share/fonts/truetype/conkyforecast''**
* **ConkyWeather** doit être utilisé avec le paramètre **WF** (Weather Font) ''%%--%%datatype=WF''\\
* **Arrows** peut être utilisé avec **BF**\\
* **ConkyWind, ConkyWindN et ConkyWindNESW** peuvent être utilisés avec **BF** (Bearing Fonts ou **BS** (Bearing Fonts avec la vitesse)\\
* **Moon Phases** peut être utilisé avec **MF** (Moon Font)\\
==== ConkyForecast.template ====
Pour structurer plus facilement son texte, il est possible d'utiliser le fichier **conkyForecast.template**\\
Voici comment structurer ce fichier :
[--datatype=DW --startday=1 --shortweekday]
[--datatype=HT --startday=1 --hideunits]/[--datatype=LT --startday=1 --hideunits]
Les options se mettent entre crochets ''[--options ...]''. Ce qui est hors des crochets sera affiché comme du texte.
Pour voir un exemple de **conkyForecast.template** [[:tutoriel:comment_editer_un_fichier|ouvrez le fichier]] **''/usr/share/conkyforecast/example/conkyForecast.template''**
Enfin il faut spécifier le chemin du **conkyForecast.template** dans le **conkyrc** à l'aide de :
${execpi 1800 conkyForecast --location=MONCODE --template=/lechemindemonfichier/conkyForecast.template}
On ne peut pas utiliser les raccourcis pour les options dans le template, il faut écrire l'option en entier (ex : --datatype)
Il est désormais possible d'utiliser des caractères accentués dans le template !
L'utilisation de la commande **execpi** au lieu de **execi** permet l'utilisation des variables de conky dans le template (elles ne seraient pas interprétées dans le cas contraire).
=====A propos des mises à jours de la météo =====
Par défaut le script va vérifier les informations sur le site weather.com toutes les 30 min (1800 sec) :
${execi 1800 conkyForecast ...
Cette valeur peut être modifiée. Toutefois il faut savoir que les informations du site weather.com sont actualisées toutes les heures. Donc une mise à jour trop fréquente est inutile !
Enfin pour modifier la durée de validité des informations mises en cache, il faut modifier la ligne :
EXPIRY_MINUTES = 30
Dans le fichier **''~/.conkyForecast.config''**
=====Changer "kph" en "km/h" =====
Par défaut l'unité de mesure pour la vitesse du vent sera en **kph** (km par heure). Si cela vous embête, une petite manipulation très simple vous permettra d'obtenir des **km/h**.\\
Pour cela [[:tutoriel:comment_editer_un_fichier|éditez]] le fichier en tant que [[sudo|root]] **''/usr/share/conkyforecast/conkyForecast.py''**\\
* Pour les versions 2.12 : Rendez-vous à la ligne 1 225.
* Pour les versions 2.15 : Rendez-vous à la ligne 1 236
* Pour les versions antérieurs à la 2.12 : Rendez-vous à la ligne 966.
speedunit = u"kph"
Changez **kph** par **km/h**, sauvegardez puis quittez.
===== Problèmes rencontrés =====
==== La météo est tronquée ====
Si le nombre d'informations à afficher est important (symboles...), il est possible que votre [[Conky]] ne s'affiche pas correctement et qu'il manque un bout. Pour y remedier, rajoutez à votre **conkyrc** avant la section TEXT :
text_buffer_size 2048
====Précipitations non disponibles (N/A) ====
Il faut rajouter l'option ''%%--%%startday=0'' comme ceci :
--datatype=PC --startday=0
==== Certains caractères ne s'affichent pas correctement ====
Rajoutez l'option suivante à votre **conkyrc** avant la section TEXT :
override_utf8_locale yes
==== Pas de météo au démarrage ====
**conkyForecast** utilise le répertoire temporaire **/tmp**. Or, par défaut, ce répertoire est vidé à l'extinction du système. Il vous faut donc définir un autre répertoire temporaire qui ne sera pas vidé, comme **/home** par exemple :
mkdir ~/.conky_tmp
Il faut changer le chemin du répertoire temporaire dans le **conkyForecast.config**. Pour ce faire, [[:tutoriel:comment_editer_un_fichier|éditez le fichier]] **''~/.conkyForecast.config''** et remplacez ce qui suit par le nouveau chemin du répertoire temporaire (le $USER mentionné ci-après doit être votre nom d'utilisateur) :
CACHE_FOLDERPATH = /home/$USER/.conky_tmp
===== Liens =====
* Topic officiel (anglais) : https://ubuntuforums.org/showthread.php?t=869328
* Historique du développement : https://code.launchpad.net/~m-buck/+junk/conkyforecast
* Détails sur les paquets disponibles : https://launchpad.net/~m-buck/+archive
* Site de l'auteur de ce script : http://www.kaivalagi.com
Merci à Mark Buck @Kaivalagi pour son script ;-)