{{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 [[http://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) : http://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 ;-)