Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1301 Le 21/09/2012, à 10:42

ragamatrix

Re : [Conky] Alternative à weather.com (2)

Phyllinux a écrit :

OK, je comprends le but et la manière d'y arriver : limiter la charge processeur au renouvellement d'image en utilisant un fichier mask.png sauvegardé qui sera appliqué à l'image téléchargée.
En revanche, pour arriver à ce résultat, à part ne pas effacer le fichier mask.png, en supprimant la ligne

rm /tmp/mask.png

je ne sais comment faire. Cela ne me dérange pas d'avoir le fichier mask.png dans mon répertoire /tmp/ et de faire un appel à ce masque à chaque utilisation de l'image...
Si cela permet de soulager le processeur, je suis preneur. Au 'repos', je tourne à 7-8%, mais dès l'actualisation, je grimpe à 100%, et cela ralentit l'ordi jusqu'à la fin du traitement de l'image.

Autre chose, toujours dans le même ordre d'idée de gain de ressource du processeur, même si ce n'est pas l'objet du fil de ce post dédié au conky météo : Connais tu un script d'affichage de pochette de CD dans un conky musique ? Celui de conkyclementine fonctionne très bien, mais il consomme beaucoup trop, et il est inutilisable sur mon netbook, car clementine est déjà gourmand, et si je lance le conky en même temps, je suis à 100% d'utilisation du processeur. Impossible donc de travailler sur la machine avec le conky activé! J'ai cherché un peu sur les forums, et je n'ai rien trouvé d'assez léger, que ce soit pour clémentine, audacious ou vlc mad
Et j'avais vu sur un post que tu essayais de trouver une solution en utilisant dbus.

Pour conky musique et pochettes j'utilise le lecteur deadbeef (qui ne consomme presque rien comme ressource)
Quand je rentre en début de semaine prochaine je te fais un pack.
Mais tu peux déjà te renseigner pour installer deadbeef avec les lib qui vont bien, comme le plugin (mpriss et album cover art)
Pas bien sur des termes exacts...regarde par ici où par là....conkydbcool

Hors ligne

#1302 Le 21/09/2012, à 18:37

Didier-T

Re : [Conky] Alternative à weather.com (2)

Phyllinux a écrit :

OK, je comprends le but et la manière d'y arriver : limiter la charge processeur au renouvellement d'image en utilisant un fichier mask.png sauvegardé qui sera appliqué à l'image téléchargée.
En revanche, pour arriver à ce résultat, à part ne pas effacer le fichier mask.png, en supprimant la ligne

rm /tmp/mask.png

je ne sais comment faire. Cela ne me dérange pas d'avoir le fichier mask.png dans mon répertoire /tmp/ et de faire un appel à ce masque à chaque utilisation de l'image...
Si cela permet de soulager le processeur, je suis preneur. Au 'repos', je tourne à 7-8%, mais dès l'actualisation, je grimpe à 100%, et cela ralentit l'ordi jusqu'à la fin du traitement de l'image.

Autre chose, toujours dans le même ordre d'idée de gain de ressource du processeur, même si ce n'est pas l'objet du fil de ce post dédié au conky météo : Connais tu un script d'affichage de pochette de CD dans un conky musique ? Celui de conkyclementine fonctionne très bien, mais il consomme beaucoup trop, et il est inutilisable sur mon netbook, car clementine est déjà gourmand, et si je lance le conky en même temps, je suis à 100% d'utilisation du processeur. Impossible donc de travailler sur la machine avec le conky activé! J'ai cherché un peu sur les forums, et je n'ai rien trouvé d'assez léger, que ce soit pour clémentine, audacious ou vlc mad
Et j'avais vu sur un post que tu essayais de trouver une solution en utilisant dbus.

Bon dans un premier temps, voici pour le script détourage, en admettant que ton mask.png soit dans /home/gilles/

detour_terre.sh

#!/bin/bash

# script detour_terre.sh
wget -q -O  /home/gilles/image1.jpg http://www.ruwenzori.net/earth/Earth_EMEA+Atlantic_1280x1024.jpg
# pour le cadrage et le diametre si il ya lieu jouer sur 630,50
convert /home/gilles/image1.jpg  /home/gilles/mask.png  -alpha off -compose CopyOpacity -composite /home/gilles/image1.png
#your final image is in.png you have to modify it in conky file
#attention l'image finale est en .png a modifier dans ton conky
# ${image /home/YOUR_USERNAME/image1.png -p 0,0 -s 500x400 -f 60} 

pour le second soucis, malheureusement je n'ai toujours pas trouvé de vrai solution, mais j'ai fait un script lua qui par des moyen détourné permet de récupérer les données pour Gmusique Browser
(je l'avais fait pour Shamen456)

voici le pack, dit moi ce que sa donne sur ton portable (il faudra modifier les chemins dans le conkyrc)

Edit : j'avais oublié dans Gmusicbrowser, il faut activer le plugin "MPRIS v1"

Dernière modification par Didier-T (Le 21/09/2012, à 18:41)

Hors ligne

#1303 Le 22/09/2012, à 09:49

Phyllinux

Re : [Conky] Alternative à weather.com (2)

Nickel big_smile
Tout tourne sur mon netbook !
Pour le script de détourage, c'est bon, et je pense que je gagne en conso de processeur, même si je ne m'en rends pas compte en utilisation normale, car ce nest qu'au moment du rechargement de l'image que cela se voit, et je n'ai pas encore testé pour voir la différence 'avec' et 'sans' l'appel au masque.

Pour le conky de GMbrowser, c'est du tout bon aussi.
C'est dans le style du conky de VastOne Conkymulti lecteurs, qui utilise le script lua de Wlourf, qui est une usine à gaz beaucoup trop gourmande sur mon netbook (mais qui tourne bien sur mon desktop) en plus light.
2 petits trucs cependant :
- L'anneau volume ne fonctionne pas. Je regarderai ça de plus près plus tard. Pour le moment, il est bloqué à environ 1/4, au même niveau que sur les impressions d'écran de shamen456. C'est l'interprétation de la ligne

arg='Gmusic_volume',

du rings.lua qui ne se fait pas correctement. Mais cela n'est pas du tout gênant, même sur le rendu visuel du conky.
- Heureusement qu'il y a conky control ! Car, à la fermeture du GMbrowser, avec le conky actif, il y a un max de message d'erreurs en console, indiquant qu'il ne trouve plus rien quand le lecteur est éteint. Il est donc utile de pouvoir le 'killer' pour éviter ça.
Je pense qu'une petite ligne de code en plus pour empêcher cela serait utile. Un peu comme le conky clémentine de Voyager. Si le lecteur n'est pas actif, un message 'No Activiy' ou 'Lecteur Arrêté' s'affiche au lieu d'avoir le conky normal. Ce message pourrait être à la place du conky circulaire, ou bien écrit dans le conky.
Qu'en penses tu ?

Sinon, encore bravo, car avec mon conky météo intégré au fond d'écran, le conky qui affiche la terre entourée des rings lua qui donnent les infos système, GMbrowser en route et son conky dédié, mon netbook bien faiblard est à 70-80% d'utilisation du processeur. Et je peux même lancer des applications sans que cela coupe le son de la musique ! Exactement le but recherché.


The ship is sinking normally...

Hors ligne

#1304 Le 22/09/2012, à 13:47

Didier-T

Re : [Conky] Alternative à weather.com (2)

Bonjour a tous,

une évolution dans le script Beta qui devrait faire plaisir à ragamatrix.

Prévision sur huit heures.
13 nouvelles données pour chaqu'une des huit heures :

  1. Température ressentie = ${template1 huitHeures_TempR <Num de l'heure>}

  2. Température actuelle = ${template1 huitHeures_Temp <Num de l'heure>}

  3. Direction du vent = ${template1 huitHeures_VentDir <Num de l'heure>}

  4. Direction pleine en toutes lettres (Nord, Sud ...) = ${template1 huitHeures_VentDirP <Num de l'heure>}

  5. Vitesse du vent = ${template1 huitHeures_VentForce <Num de l'heure>}

  6. Taux d'humidité = ${template1 huitHeures_Humidite <Num de l'heure>}

  7. Point de rosée = ${template1 huitHeures_Rose <Num de l'heure>}

  8. Indice UV = ${template1 huitHeures_Uv <Num de l'heure>}

  9. Couverture nuageuse = ${template1 huitHeures_CouvNuage <Num de l'heure>}

  10. Probabilité de précipitation = ${template1 huitHeures_ProbPrec <Num de l'heure>}

  11. Heure concerné par la prévision = ${template1 huitHeures_Heure <Num de l'heure>}

  12. Icône météo = ${template2 huitHeures_IconeM <répertoire> <position> <dimensions> <Num de l'heure>}

  13. Icône du vent = ${template2 huitHeures_IconeV <répertoire> <position> <dimensions> <Num de l'heure>}

lien vers le pack

P.S. : normalement le problème d'affichage du nom de certaine ville devrait être réglé.

Hors ligne

#1305 Le 23/09/2012, à 09:34

carpediem

Re : [Conky] Alternative à weather.com (2)

Salut à tous, depuis 2 jours mes conky ne font pas de MAJ j'ai beau chercher mais je ne trouve pas sad

2359.jpeg  http://imagik.fr/view-rl/2361

meteo.cfg

# Créé par jpdipsy (forum.ubuntu-fr.org)

#Répertoire de sauvegarde
repsauv=~/conky/meteo

#Répertoire temporaire
TempShell=/tmp

#Copier votre adresse Accuweather ici
#Attention à bien tronqué la fin de l'adresse 
#Mauvaise adresse http://www.accuweather.com/en/fr/argenteuil/133593/current-weather/133593
#Bonne adresse http://www.accuweather.com/en/fr/argenteuil/133593
web=Maj http://www.accuweather.com/fr/fr/stiring-wendel/135054

#Prévision sur n jour (de 1 à 15) moyenne pour la journée
periode=5

#Prévision infos sur la matinée (oui, non)
matinée=non

#Prévision infos sur la Après Midi (oui, non)
am=oui

#Prévision infos sur la Soirée (oui, non)
soiree=non

#Prévision infos sur la Nuit (oui, non)
nuit=oui

Merci pour votre aide
Carpediem

Dernière modification par carpediem (Le 23/09/2012, à 09:38)


"Carpe diem quam minimum credula postero"
(Cueille le jour présent, en te fiant le moins possible au lendemain.)
HORACE

Hors ligne

#1306 Le 23/09/2012, à 10:07

Didier-T

Re : [Conky] Alternative à weather.com (2)

Bonjour carpediem,

Tu pourrais poster les messages renvoyé en terminal par ton conky. (ton fichier meteo.cfg est étrange)

Merci

Dernière modification par Didier-T (Le 23/09/2012, à 10:08)

Hors ligne

#1307 Le 23/09/2012, à 10:19

carpediem

Re : [Conky] Alternative à weather.com (2)

@Didier-T

Merci de ta réponse, j'espère que c'est ce que tu me demande smile

carpediem ~$ conky -c /home/claude/conky/conkyrc-baro
Conky: /home/claude/conky/conkyrc-baro: 22: no such configuration: 'maximum_width300'
Conky: /home/claude/conky/conkyrc-baro: 31: no such configuration: 'border_margin'
Conky: forked to background, pid is 13040
carpediem ~$ 
Conky: desktop window (1e001d5) is subwindow of root window (61)
Conky: window type - override
Conky: drawing to created window (0x5400001)
Conky: drawing to double buffer
web = Maj http://www.accuweather.com/fr/fr/stiring-wendel/135054
        Pévision Nb jours = 5
        Pévision Matin = non
        Pévision Après Midi = oui
        Pévision Soirée = non
        Pévision Nuit = oui
        Délais = 600
        Chemin de travail = /tmp
        Chemin de sauvegarde = /home/claude/conky/meteo/
conky -c /homcd /Conky: llua_do_call: function conky_Meteo_enligne execution failed: /home/claude/conky/meteo/conky/script/meteo.lua:439: attempt to perform arithmetic on a nil value
cpu             = 
Conky: llua_do_call: function conky_main execution failed: /home/claude/conky/Baro/baro.lua:145: attempt to perform arithmetic on local 'value' (a nil value)
cpu             =       12
lua     Meteo_Pression  =       1013
lua     Meteo_TempRes   =       20
lua     Meteo_TempAct   =       20
cpu             =       13
lua     Meteo_Pression  =       1013
lua     Meteo_TempRes   =       20
lua     Meteo_TempAct   =       20
cpu             =       13
lua     Meteo_Pression  =       1013
lua     Meteo_TempRes   =       20
lua     Meteo_TempAct   =       20
cpu             =       13
lua     Meteo_Pression  =       1013
lua     Meteo_TempRes   =       20
lua     Meteo_TempAct   =       20
cpu             =       15
lua     Meteo_Pression  =       1013
lua     Meteo_TempRes   =       20
lua     Meteo_TempAct   =       20
cpu             =       13
lua     Meteo_Pression  =       1013
lua     Meteo_TempRes   =       20
lua     Meteo_TempAct   =       20
cpu             =       12
lua     Meteo_Pression  =       1013
lua     Meteo_TempRes   =       20
lua     Meteo_TempAct   =       20
cpu             =       13
lua     Meteo_Pression  =       1013
lua     Meteo_TempRes   =       20
lua     Meteo_TempAct   =       20
cpu             =       14
lua     Meteo_Pression  =       1013
lua     Meteo_TempRes   =       20
lua     Meteo_TempAct   =       20
cpu             =       13
lua     Meteo_Pression  =       1013
lua     Meteo_TempRes   =       20
lua     Meteo_TempAct   =       20
cpu             =       11
lua     Meteo_Pression  =       1013
lua     Meteo_TempRes   =       20
lua     Meteo_TempAct   =       20
cpu             =       10
lua     Meteo_Pression  =       1013
lua     Meteo_TempRes   =       20
lua     Meteo_TempAct   =       20

"Carpe diem quam minimum credula postero"
(Cueille le jour présent, en te fiant le moins possible au lendemain.)
HORACE

Hors ligne

#1308 Le 23/09/2012, à 10:47

Didier-T

Re : [Conky] Alternative à weather.com (2)

@ carpediem,

Bon, de toute évidence tu utilise un ancien script meteo.lua.

Copie le fichier cfg si dessous, sa devrait régler ton problème.

meteo.cfg

# Créé par jpdipsy (forum.ubuntu-fr.org)

#Répertoire de sauvegarde
repsauv=~/conky/meteo

#Répertoire temporaire
TempShell=/tmp

#Copier votre adresse Accuweather ici
#Attention à bien tronqué la fin de l'adresse 
#Mauvaise adresse http://www.accuweather.com/en/fr/argenteuil/133593/current-weather/133593
#Bonne adresse http://www.accuweather.com/en/fr/argenteuil/133593
web=http://www.accuweather.com/fr/fr/stiring-wendel/135054

#Prévision sur n jour (de 1 à 15) moyenne pour la journée
periode=5

#Prévision infos sur la matinée (oui, non)
matinée=non

#Prévision infos sur la Après Midi (oui, non)
am=oui

#Prévision infos sur la Soirée (oui, non)
soiree=non

#Prévision infos sur la Nuit (oui, non)
nuit=oui

Hors ligne

#1309 Le 23/09/2012, à 11:46

carpediem

Re : [Conky] Alternative à weather.com (2)

@Didier-T

Visiblement cela coince toujours

meteo.cfg

# Créé par jpdipsy (forum.ubuntu-fr.org)

#Répertoire de sauvegarde
repsauv=~/conky/meteo

#Répertoire temporaire
TempShell=/tmp

#Copier votre adresse Accuweather ici
#Attention à bien tronqué la fin de l'adresse 
#Mauvaise adresse http://www.accuweather.com/en/fr/argenteuil/133593/current-weather/133593
#Bonne adresse http://www.accuweather.com/en/fr/argenteuil/133593
web=http://www.accuweather.com/fr/fr/stiring-wendel/135054

#Prévision sur n jour (de 1 à 15) moyenne pour la journée
periode=5

#Prévision infos sur la matinée (oui, non)
matinée=non

#Prévision infos sur la Après Midi (oui, non)
am=oui

#Prévision infos sur la Soirée (oui, non)
soiree=non

#Prévision infos sur la Nuit (oui, non)
nuit=oui

meteo.lua "version 4.4"

-- Créé par Didier-T (forum.ubuntu-fr.org)
-- Nécessite imagemagick http://apt.ubuntu.com/p/imagemagick



require "io"
require "os"
local Version = "v4.4"
local conditionJour = {}
local conditionNuit = {}
local conditionMatin = {}
local conditionAM = {}
local conditionSoiree = {}
local conditionNoct = {}
local InfoJour = {}
local conditioncourante = {}
local Rep, cmd, jours, matin, apresmidi, soiree, nuit, delais, r, repsauv, l, fichier_init, MAJ, tc, dermodif



--Traduction date
function trad_date(d)
	local date = d
	date = date:gsub("Monday", "Lundi"):gsub("Tuesday", "Mardi"):gsub("Wednesday", "Mercredi"):gsub("Thursday", "Jeudi"):gsub("Friday", "Vendredi"):gsub("Saturday", "Samedi"):gsub("Sunday", "Dimanche")

	date = date:gsub("lun", "Lun"):gsub("mar", "Mar"):gsub("mer", "Mer"):gsub("jeu", "Jeu"):gsub("ven", "Ven"):gsub("sam", "Sam"):gsub("dim", "Dim")

	date = date:gsub("Mon", "Lun"):gsub("Tue", "Mar"):gsub("Wed", "Mer"):gsub("Thu", "Jeu"):gsub("Fri", "Ven"):gsub("Sat", "Sam"):gsub("Sun", "Dim")
	
	date = date:gsub("January", "Janvier"):gsub("February", "Février"):gsub("March", "Mars"):gsub("April", "Avril"):gsub("May", "Mai"):gsub("June", "Juin"):gsub("July", "Juillet"):gsub("August", "Août"):gsub("September", "Septembre"):gsub("October", "Octobre"):gsub("November", "Novembre"):gsub("December", "Décembre")

	date = date:gsub("jan", "Jan"):gsub("fev", "Fév"):gsub("mar", "Mar"):gsub("avr", "Avr"):gsub("mai", "Mai"):gsub("jui", "Jui"):gsub("aou", "Aoû"):gsub("sep", "Sep"):gsub("oct", "Oct"):gsub("nov", "Nov"):gsub("dec", "Déc")
	
	date = date:gsub("Feb", "Fév"):gsub("Apr", "Avr"):gsub("May", "Mai"):gsub("Jun", "Juin"):gsub("Jul", "Juil"):gsub("Aug", "Aoû"):gsub("Dec", "Déc")
		
	return date
end

--Vérifier l'existence d'un fichier
function existe(file) 
  local a = io.open(file, "r")
  local present
  if a then
    present = true
    io.close(a)
  else
    present = false
  end
  return present
end

--Formatage des accents
function string.accent(ligne)

	ligne = ligne:gsub("&#244;", "ô"):gsub("&#226;", "â"):gsub("&#233;", "é"):gsub("&#232;", "è"):gsub("&#224;", "à"):gsub("&#231;", "ç"):gsub("&#234;", "ê"):gsub("&#246;", "ö"):gsub("&#238;", "î"):gsub("&#239;", "ï"):gsub("&#251;", "û"):gsub("&#252;", "ü"):gsub("&#39;", "'"):gsub("Poudreries", "Bourrasques de neige"):gsub("&#201;", "É")

	return ligne
end

function string.balise(self, arg1, arg2)
	local a, b, c
	
	a,b = self:find(arg1)
	if a ~= nil then
		if b == nil then
			b = a+1
		else
			b = b+1
		end
		
		c = self:find(arg2, b)
		if c == nil then
			c = b
		else
			c = c-1
		end
	end
	
	return b, c
end


--Traitement information Quart de journée
function Prevision_Quart_T(fichier)
	local pos1, pos2, icone, Descriptif, TempMax, TempMin, TempMaxR, TempMinR, Vdir, Vforce, Prec, Pluie, Neige, Humidite, Couverture, Rosee, Visibilite, parse
	local file = assert(io.open(fichier, "rb") )
	local line = file:read()

	parse = 0
	
	for line in file:lines() do
		if string.find(line, '"details"') ~= nil then
			parse = 1
		end
		if parse == 1 then
			if string.find(line, 'class="icon i-') ~= nil then
				pos1, pos2 = line:balise('-', '"')
				icone = string.sub(line, pos1, pos2)
			elseif string.find(line, '"cond"') ~= nil then
				pos1, pos2 = line:balise('d">', '<')
				Descriptif = line:sub(pos1, pos2):accent()
			elseif string.find(line, '"temp"') ~= nil then
				pos1, pos2 = line:balise('>', '<')
				TempMax = string.sub(line, pos1, pos2)
			elseif string.find(line, '"lo"') ~= nil then
				pos1, pos2 = line:balise('Mn', '<')
				TempMin = string.sub(line, pos1, pos2)
			elseif string.find(line, '"realfeel"') ~= nil then
				pos1, pos2 = line:balise('4; ', '&')
				TempMaxR = string.sub(line, pos1, pos2)
				pos1, pos2 = line:balise('/ ', '&')
				TempMinR = string.sub(line, pos1, pos2)
			elseif string.find(line, 'var d') ~= nil then
				pos1, pos2 = line:balise("'", "'")
				Vdir = string.gsub(string.sub(line, pos1, pos2), "W", "O")
			elseif string.find(line, 'var s') ~= nil then
				pos1, pos2 = line:balise("'", "'")
				Vforce = line:sub(pos1, pos2):match("(%d+)")
			elseif string.find(line, 'cipitations') ~= nil then
				pos1, pos2 = line:balise("g>", "<")
				Prec = line:sub(pos1, pos2):match("(%d+)")
			elseif string.find(line, 'Pluie') ~= nil then
				pos1, pos2 = line:balise("g>", " ")
				Pluie = string.sub(line, pos1, pos2)
			elseif string.find(line, 'Neige') ~= nil then
				pos1, pos2 = line:balise("g>", " ")
				Neige = string.sub(line, pos1, pos2)
			elseif string.find(line, 'Humidit') ~= nil then
				pos1, pos2 = line:balise("g>", "<")
				Humidite = line:sub(pos1, pos2):match("(%d+)")
			elseif string.find(line, 'Couverture') ~= nil then
				pos1, pos2 = line:balise("g>", "<")
				Couverture = line:sub(pos1, pos2):match("(%d+)")
			elseif string.find(line, 'Point') ~= nil then
				pos1, pos2 = line:balise("g>", "&")
				Rosee = string.sub(line, pos1, pos2)
			elseif string.find(line, 'Visibilit') ~= nil then
				pos1, pos2 = line:balise("g>", " ")
				Visibilite = string.sub(line, pos1, pos2)
			end
		end
	end
	io.close(file)

		return {Icone=icone, CondMeteo=Descriptif, TempMax=TempMax, TempMin=TempMin, TempMaxR=TempMaxR, TempMinR=TempMinR, VentDir=Vdir, VentForce=Vforce, Humidite=Humidite, CouvNuage=Couverture, PointRosee=Rosee, ProbPrec=Prec, Visibilite=Visibilite, QNeige=Neige, QPluie=Pluie}
end


--Prévision
function prevision(fichier)
	local iconej, iconen, Tmax, Tmin, Tmaxr, Tminr, ProbPrecj, ProbPrecn, Vdirj, Vdirn, Vforcej, Vforcen, Vrafalesj, Vrafalesn, Descriptifj, Descriptifn, UV, ProbOragesj, ProbOragesn, Precj, Precn, Pluiej, Pluien, Neigej, Neigen, Verglasj, Verglasn, Datej, LeverSoleil, CoucherSoleil, parse, pos1, pos2, LeverSoleilH, LeverSoleilM, CoucherSoleilH, CoucherSoleilM, histo, histo1, Histo_Max, Histo_Min
	local file = assert(io.open(fichier, "rb") )
	local line = file:read()
	for line in file:lines() do
		if string.find(line, '"details"') ~= nil then
			parse = 1
		end
		if parse == 1 then
			if string.find(line, 'class="icon i-') ~= nil then
				pos1, pos2 = line:balise("-", '"')
				if iconej == nil then
					iconej = string.sub(line, pos1, pos2)
				else
					iconen = string.sub(line, pos1, pos2)
				end
			elseif string.find(line, '"temp"') ~= nil then
				pos1, pos2 = line:balise('"temp">', '<')
				if Tmax == nil then
					Tmax = string.sub(line, pos1, pos2)
				else
					Tmin = string.sub(line, pos1, pos2)
				end
			elseif string.find(line, 'RealFeel&#174;') ~= nil then
				pos1, pos2 = line:balise(';', '&')
				if Tmaxr == nil then
					Tmaxr = string.sub(line, pos1, pos2)
				else
					Tminr = string.sub(line, pos1, pos2)
				end
			elseif string.find(line, 'cipitations ') ~= nil then
				pos1, pos2 = line:balise('s ', '<')
				if ProbPrecj == nil then
					ProbPrecj = line:sub(pos1, pos2):match("(%d+)")
				else
					ProbPrecn = line:sub(pos1, pos2):match("(%d+)")
				end
			elseif string.find(line, 'var d') ~= nil then
				pos1, pos2 = line:balise("'", "'")
				if Vdirj == nil then
					Vdirj = string.gsub(string.sub(line, pos1, pos2), "W", "O")
				else
					Vdirn = string.gsub(string.sub(line, pos1, pos2), "W", "O")
				end
			elseif string.find(line, 'var s') ~= nil then
				pos1, pos2 = line:balise("'", "'")
				if Vforcej == nil then
					Vforcej = line:sub(pos1, pos2):match("(%d+)")
				else
					Vforcen = line:sub(pos1, pos2):match("(%d+)")
				end
			elseif string.find(line, 'Rafales') ~= nil then
				pos1, pos2 = line:balise("> ", " ")
				if Vrafalesj == nil then
					Vrafalesj = line:sub(pos1, pos2):match("(%d+)")
					if Vrafalesj == nil then Vrafalesj = Vforcen end
				else
					Vrafalesn = line:sub(pos1, pos2):match("(%d+)")
					if Vrafalesn == nil then Vrafalesn = Vforcej end
				end
			elseif Descriptifn == nil and string.find(line, '<p>') ~= nil then
				pos1, pos2 = line:balise(">", "<")
				if Descriptifj == nil then
					Descriptifj = string.sub(line, pos1, pos2):accent()
					local troplong = string.find(Descriptifj, ";")
					if troplong ~= nil then
						Descriptifj = string.sub(Descriptifj, "1", troplong-1)
					end
				else
					Descriptifn = string.sub(line, pos1, pos2):accent()
					local troplong = string.find(Descriptifn, ";")
					if troplong ~= nil then
						Descriptifn = string.sub(Descriptifn, "1", troplong-1)
					end
				end
			elseif string.find(line, 'UV') ~= nil then
				pos1, pos2 = line:balise("g>", "<")
				if UV == nil then
					UV = string.sub(line, pos1, pos2)
				end
			elseif string.find(line, 'Orages') ~= nil then
				pos1, pos2 = line:balise('">', "<")
				if ProbOragesj == nil then
					ProbOragesj = line:sub(pos1, pos2):match("(%d+)")
				else
					ProbOragesn = line:sub(pos1, pos2):match("(%d+)")
				end
			elseif string.find(line, 'cipitations:') ~= nil then
				pos1, pos2 = line:balise("g>", " ")
				if Precj == nil then
					Precj = string.sub(line, pos1, pos2)
				else
					Precn = string.sub(line, pos1, pos2)
				end
			elseif string.find(line, 'Pluie:') ~= nil then
				pos1, pos2 = line:balise('">', " ")
				if Pluiej == nil then
					Pluiej = string.sub(line, pos1, pos2)
				else
					Pluien = string.sub(line, pos1, pos2)
				end
			elseif string.find(line, 'Neige:') ~= nil then
				pos1, pos2 = line:balise('">', " ")
				if Neigej == nil then
					Neigej = string.sub(line, pos1, pos2)
				else
					Neigen = string.sub(line, pos1, pos2)
				end
			elseif string.find(line, 'Verglas:') ~= nil then
				pos1, pos2 = line:balise('">', " ")
				if Verglasj == nil then
					Verglasj = string.sub(line, pos1, pos2)
				else
					Verglasn = string.sub(line, pos1, pos2)
				end
			elseif string.find(line, 'Historique ') ~= nil then
				pos1, pos2 = line:balise('- ', "<")
				local j, m, a = line:sub(pos1, pos2):match("(%d+)/(%d+)/(%d+)")
				Datej = os.time{year=a, month=m, day=j, hour=0}
			elseif string.find(line, 'start"') ~= nil then
				pos1, pos2 = line:balise('>', "<")
				if LeverSoleil == nil then
					LeverSoleil = string.sub(line, pos1, pos2)
					LeverSoleilH, LeverSoleilM = LeverSoleil:match("(%d+):(%d+)")
				end
			elseif string.find(line, 'finish"') ~= nil then
				pos1, pos2 = line:balise('>', "<")
				if CoucherSoleil == nil then
					CoucherSoleil = string.sub(line, pos1, pos2)
					CoucherSoleilH, CoucherSoleilM = CoucherSoleil:match("(%d+):(%d+)")
				end
			elseif string.find(line, '<td class="high">') ~= nil then
				histo = 1
			elseif string.find(line, '<td>') ~= nil and histo ~= nil then
				if histo1 == nil then
					histo1 = 1
				else
					pos1, pos2 = line:balise('>', "&")
					if Histo_Max == nil then
						histo1 = nil
						histo = nil
						Histo_Max = string.sub(line, pos1, pos2)
					elseif Histo_Min == nil then
						Histo_Min = string.sub(line, pos1, pos2)
					end
				end
				
			end
		end
	end
	io.close(file)
		return { Icone=iconej, CondMeteo=Descriptifj, Temp=Tmax, TempRes=Tmaxr, ProbPrec=ProbPrecj, VentDir=Vdirj, VentForce=Vforcej, VentRafales=Vrafalesj, Uv=UV, ProbOrage=ProbOragesj, NivPrec=Precj, QPluie=Pluiej, QNeige=Neigej, EVerglas=Verglasj }, { Icone=iconen, CondMeteo=Descriptifn, Temp=Tmin, TempRes=Tminr, ProbPrec=ProbPrecn, VentDir=Vdirn, VentForce=Vforcen, VentRafales=Vrafalesn, ProbOrage=ProbOragesn, NivPrec=Precn, QPluie=Pluien, QNeige=Neigen, EVerglas=Verglasn }, { Jour=Datej, LeverSoleil=LeverSoleil, LeverSoleilH=LeverSoleilH, LeverSoleilM=LeverSoleilM, CoucherSoleil=CoucherSoleil, CoucherSoleilH=CoucherSoleilH, CoucherSoleilM=CoucherSoleilM, Histo_Max=Histo_Max, Histo_Min=Histo_Min }

end


--Infos condition courante
function current(fichier)
	local pos1, pos2, icone, Descriptif, Temp, Tempr, Vdir, Vforce, Humidite, Pression, Couverture, UV, Rosee, Prec, Visibilite, Date, Ville, latitude, longitude, geo, parse
	local file = assert(io.open(fichier, "rb") )
	local line = file:read()
	geo = nil
	parse = nil

	for line in file:lines() do
		if string.find(line, '"details"') ~= nil then
			parse = 1
		end
		if parse == 1 then
			if string.find(line, 'class="icon i-') ~= nil then
				pos1, pos2 = line:balise('-', '"')
				icone = string.sub(line, pos1, pos2)
			elseif string.find(line, '"cond"') ~= nil then
				pos1, pos2 = line:balise('"cond">', '<')
				Descriptif = string.sub(line, pos1, pos2):accent()
				pos1, pos2 = line:balise('"temp">', '<')
				Temp = string.sub(line, pos1, pos2)
				pos1, pos2 = line:balise('; ', '<')
				Tempr = string.sub(line, pos1, pos2)
			elseif string.find(line, 'var d') ~= nil then
				pos1, pos2 = line:balise("'", "'")
				Vdir = string.gsub(string.sub(line, pos1, pos2), "W", "O")
			elseif string.find(line, 'var s') ~= nil then
				pos1, pos2 = line:balise("'", "'")
				Vforce = line:sub(pos1, pos2):match("(%d+)")
			elseif string.find(line, 'Humidit') ~= nil then
				pos1, pos2 = line:balise("g>", "<")
				Humidite = line:sub(pos1, pos2):match("(%d+)")
			elseif string.find(line, 'Pression') ~= nil then
				pos1, pos2 = line:balise("g>", " k")
				Pression = line:sub(pos1, pos2)*10
			elseif string.find(line, 'Couverture') ~= nil then
				pos1, pos2 = line:balise("g>", "<")
				Couverture = line:sub(pos1, pos2):match("(%d+)")
			elseif string.find(line, 'UV') ~= nil then
				if UV == nil then
					pos1, pos2 = line:balise("g>", "<")
					UV = string.sub(line, pos1, pos2)
				end
			elseif string.find(line, 'Point') ~= nil then
				pos1, pos2 = line:balise("g>", "&")
				Rosee = string.sub(line, pos1, pos2)
			elseif string.find(line, 'cipitations') ~= nil then
				pos1, pos2 = line:balise("g>", " ")
				Prec = string.sub(line, pos1, pos2)
			elseif string.find(line, 'Visibilit') ~= nil then
				pos1, pos2 = line:balise("g>", " ")
				Visibilite = string.sub(line, pos1, pos2)
			elseif string.find(line, 'Historique ') ~= nil then
				pos1, pos2 = line:balise("- ", "<")
				local j, m, a = line:sub(pos1, pos2):match("(%d+)/(%d+)/(%d+)")
				Date = os.time{year=a, month=m, day=j, hour=0}
			elseif string.find(line, 'latitude') ~= nil then
				geo = 1
			elseif string.find(line, 'title" ') ~= nil then
				pos1, pos2 = line:balise('e="', '"')
				if Ville == nil then
					Ville = string.sub(line, pos1, pos2):accent()
				end
				if geo ~= nil then
					if latitude ~= nil then
						longitude = string.sub(line, pos1, pos2)
					end
					if latitude == nil then
						latitude = string.sub(line, pos1, pos2)
					end
				end
			end
		end
	end
	io.close(file)

		return {Icone=icone, Cond=Descriptif, Temp=Temp, Tempr=Tempr, VentDir=Vdir, VentForce=Vforce, Humidite=Humidite, Pression=Pression, CouvNuage=Couverture, Uv=UV, PointRosee=Rosee, QPrec=Prec, Visibilite=Visibilite, Date=Date, Ville=Ville, latitude=latitude, longitude=longitude}
end


--Infos lunaison
function lunaison(r)

	s = "${exec wget --tries=3 -q -O "..r.."/cal_lunaire http://www.calendrier-lunaire.net/}"
	conky_parse( s )

	local file = assert(io.open(r..'/cal_lunaire', "rb") )
	local line = file:read()

	for line in file:lines() do
		local pos1 = string.find(line, '">')
		local pos2 = string.find(line, "</", pos1)
		local pos1, pos2 = line:balise('">', "</")
		if string.find(line, "ephemerides_1") ~= nil then
			pos1, pos2 = line:balise('src="', '" /')
			s = "${exec wget --tries=3 -q -O "..r.."/lune.png http://www.calendrier-lunaire.net/"..string.sub(line, pos1, pos2).."}"
			conky_parse( s )
			conky_parse( "${exec convert "..r.."/lune.png -transparent '#091a2a' "..r.."/lune.png}" )
		elseif string.find(line, "<h2>") ~= nil then
			ephemerides1 = string.sub(line, pos1, pos2)
			local pos3 = string.find(line, 'n>', pos2)+3
			local pos4 = string.find(line, "</", pos2+3)-1
			ephemerides2 = string.sub(line, pos3, pos4)
			ephemerides = ephemerides1.." "..ephemerides2
		elseif string.find(line, "Visibilit") ~= nil then
			Visibilite = string.sub(line, pos1, pos2-2)
		elseif string.find(line, "Phases") ~= nil then
			Phases = string.gsub(string.sub(line, pos1, pos2), "&eacute;", "é")
			local pos3 = string.find(Phases, ',')
			Phases1 = string.sub(Phases, 0, pos3-1)
			Phases2 = string.sub(Phases, pos3+2)
		elseif string.find(line, "Noeud lunaire") ~= nil then
			Noeud_lunaire = line:sub(pos1, pos2):match("(%d+)")
			if Noeud_lunaire == nil then Noeud_lunaire = line:sub(pos1, pos2) end
		elseif string.find(line, "Apog") ~= nil then
			Apogee = line:sub(pos1, pos2):match("(%d+)")
			if Apogee == nil then Apogee = line:sub(pos1, pos2) end
		elseif string.find(line, "Perig") ~= nil then
			Perigee = line:sub(pos1, pos2):match("(%d+)")
			if perigee == nil then Perigee = line:sub(pos1, pos2) end
		elseif string.find(line, "Distance") ~= nil then
			Distance = line:sub(pos1, pos2):match("(%d+)")
		elseif string.find(line, "Age de la Lune") ~= nil then
			Age = string.sub(line, pos1, pos2)
		elseif string.find(line, "La Lune se") ~= nil then
			Lever_LuneHeure, Lever_LuneMinute = line:sub(pos1, pos2):match("(%d+):(%d+)")
			if Lever_LuneHeure == nil then Lever_LuneHeure, Lever_LuneMinute = "N/A", "N/A" end
			local pos3 = string.find(line, '">', pos2)+2
			local pos4 = string.find(line, "</", pos3+3)-1
			Coucher_LuneHeure, Coucher_LuneMinute = line:sub(pos3, pos4):match("(%d+):(%d+)")
			if Coucher_LuneHeure == nil then Coucher_LuneHeure, Coucher_LuneMinute = "N/A", "N/A" end
		elseif string.find(line, "eclipse_partielle") ~= nil then
			local pos3 = string.find(line, '">', pos1+1)
			local a = string.sub(line, pos3+2, pos2)
			Eclipse_partielle = datelune(a)
		elseif string.find(line, "eclipse_totale") ~= nil then
			local pos3 = string.find(line, '">', pos1+1)
			local a = string.sub(line, pos3+2, pos2)
			Eclipse_total = datelune(a)
		end
	end
	io.close(file)

end

function datelune(d)

	local j, m, a, h, min = d:gsub("Janvier", "01"):gsub("Février", "02"):gsub("Mars", "03"):gsub("Avril", "04"):gsub("Mais", "05"):gsub("Juin", "06"):gsub("Juillet", "07"):gsub("Août", "08"):gsub("septembre", "09"):gsub("Octobre", "10"):gsub("Novembre", "11"):gsub("Décembre", "12"):match("(%d+) (%d+) (%d+) <br /> (%d+):(%d+)")
	d = os.time{year=a, month=m, day=j, hour=h, min=min}

	return d
	
end


--Détermine icône vent
function direction_vent(i)

	if i == "Calme" then
		return 0
	elseif i == "N" then
		return 10
	elseif i == "NNE" then
		return 11
	elseif i == "NE" then
		return 12
	elseif i == "ENE" then
		return 13
	elseif i == "E" then
		return 14
	elseif i == "ESE" then
		return 15
	elseif i == "SE" then
		return 16
	elseif i == "SSE" then
		return 17
	elseif i == "S" then
		return 2
	elseif i == "SSO" then
		return 3
	elseif i == "SO" then
		return 4
	elseif i == "OSO" then
		return 5
	elseif i == "O" then
		return 6
	elseif i == "ONO" then
		return 7
	elseif i == "NO" then
		return 8
	elseif i == "NNO" then
		return 9
	else
		return 1
	end

end


--Renvoi vent direction pleine en toute lettre
function vent_plein(d)

	local b

	if string.len(d) == 1 then
		if string.find(d, "N") ~= nil then 
			b = string.gsub(d, "N", "Nord") 
		elseif string.find(d, "S") ~= nil then 
			b = string.gsub(d, "S", "Sud") 
		elseif string.find(d, "E") ~= nil then
			b = string.gsub(d, "E", "Est") 
		elseif string.find(d, "O") ~= nil then
			b = string.gsub(d, "O", "Ouest")
		end
	else
		b = d
	end

	return b

end


--Détermine l'icône vent en tenant conte de la force du vent
function icone_vent(d, fo)

	local f = tonumber(fo)
	local n

	if f <= Palier then
		n = d
	elseif f <= Palier*2 then
		n = d + 17
	elseif f <= Palier*3 then
		n = d + 34
	elseif f >= (Palier*3)+1 then
		n = d + 51
	end

	if n <= 9 then 
		n = "0"..n
	end

	return n..".png"

end


--Découpage descriptions sur deux lignes
function decoupage(d)

	local l1, l2, n, p1, p2, n1, n2, l1b, l2b, dm, dp
	if string.len(d) >= 22 then
		n = math.ceil(string.len(d)/2)
		dm = string.sub(d, 1, n)
		dp = string.sub(d, n)
		p1 = string.find(dp, " ")
		local b = 1
		p2 = nil
		if string.find(dm, ' ') then
			while p2 == nil do
				b = b+1
				p2 = string.find(dm, ' ', -b)
			end
		end
		if p1 ~= nil then p1 = n+p1-1 end
		
		if p1 == nil and p2 == nil then p1 = string.find(d, " ") end
		if p2 == nil then p2 = p1 end
		if p1 == nil then p1 = p2 end
		if p1-n >= n-p2 then
			l1b = string.sub(d, 1, p2-1)
			l2b = string.sub(d, p2+1)
		else
			l1b = string.sub(d, 1, p1-1)
			l2b = string.sub(d, p1+1)
		end
	else
		l1b = d
		l2b = " "
	end
	n1 = math.ceil((22 - string.len(l1b))/2)
	l1 = string.rep(" ", n1)..l1b 
	n2 = math.ceil((22 - string.len(l2b))/2)
	l2 = string.rep(" ", n2)..l2b 

--Retour information avec espaces ligne 1 & 2 et sans espaces ligne 1 & 2
	return l1, l2, l1b, l2b

end


--Information Matin
function Prevision_Matin(a, j, x)
	local i = j+x
		local s = '${exec wget --tries=3 -q --load-cookies '..Rep..'/cookie -O '..Rep..'/Matin'..j..' '..a..'?day='..i..'}'
		conky_parse( s )
		conditionMatin[j] = Prevision_Quart_T(Rep..'/Matin'..j)

	if conditionMatin[j].VentDir == "CLM" then
		conditionMatin[j].VentDir = "Calme"
		conditionMatin[j].VentForce = "0"
	end
	conditionMatin[j].VentIcone = icone_vent(direction_vent(conditionMatin[j].VentDir), conditionMatin[j].VentForce)
	conditionMatin[j].VentP = vent_plein(conditionMatin[j].VentDir)
	conditionMatin[j].CondMeteo1, conditionMatin[j].CondMeteo2, conditionMatin[j].CondMeteo1se, conditionMatin[j].CondMeteo2se = decoupage(conditionMatin[j].CondMeteo)
	print("Matin "..j.." Ok")
end


--Information Après-midi
function Prevision_AM(a, j, x)
	local i = j+x
		local s = '${exec wget --tries=3 -q --load-cookies '..Rep..'/cookie -O '..Rep..'/ApresMidi'..j..' '..a..'?day='..i..'}'
		conky_parse( s )
		conditionAM[j] = Prevision_Quart_T(Rep..'/ApresMidi'..j)

	if conditionAM[j].VentDir == "CLM" then
		conditionAM[j].VentDir = "Calme"
		conditionAM[j].VentForce = "0"
	end
	conditionAM[j].VentIcone = icone_vent(direction_vent(conditionAM[j].VentDir), conditionAM[j].VentForce)
	conditionAM[j].VentP = vent_plein(conditionAM[j].VentDir)
	conditionAM[j].CondMeteo1, conditionAM[j].CondMeteo2, conditionAM[j].CondMeteo1se, conditionAM[j].CondMeteo2se = decoupage(conditionAM[j].CondMeteo)
	print("Apres Midi "..j.." Ok")
end


--Information Soirée
function Prevision_Soiree(a, j, x)
	local i = j+x
		local s = '${exec wget --tries=3 -q --load-cookies '..Rep..'/cookie -O '..Rep..'/Soiree'..j..' '..a..'?day='..i..'}'
		conky_parse( s )
		conditionSoiree[j] = Prevision_Quart_T(Rep..'/Soiree'..j)

	if conditionSoiree[j].VentDir == "CLM" then
		conditionSoiree[j].VentDir = "Calme"
		conditionSoiree[j].VentForce = "0"
	end
	conditionSoiree[j].VentIcone = icone_vent(direction_vent(conditionSoiree[j].VentDir), conditionSoiree[j].VentForce)
	conditionSoiree[j].VentP = vent_plein(conditionSoiree[j].VentDir)
	conditionSoiree[j].CondMeteo1, conditionSoiree[j].CondMeteo2, conditionSoiree[j].CondMeteo1se, conditionSoiree[j].CondMeteo2se = decoupage(conditionSoiree[j].CondMeteo)
	print("Soiree "..j.." Ok")
end


--Information Nuit
function Prevision_Nuit(a, j, x)
	local i = j+x
		local s = '${exec wget --tries=3 -q --load-cookies '..Rep..'/cookie -O '..Rep..'/Nuit'..j..' '..a..'?day='..i..'}'
		conky_parse( s )
		conditionNoct[j] = Prevision_Quart_T(Rep..'/Nuit'..j)
	
	if conditionNoct[j].VentDir == "CLM" then
		conditionNoct[j].VentDir = "Calme"
		conditionNoct[j].VentForce = "0"
	end
	conditionNoct[j].VentIcone = icone_vent(direction_vent(conditionNoct[j].VentDir), conditionNoct[j].VentForce)
	conditionNoct[j].VentP = vent_plein(conditionNoct[j].VentDir)
	conditionNoct[j].CondMeteo1, conditionNoct[j].CondMeteo2, conditionNoct[j].CondMeteo1se, conditionNoct[j].CondMeteo2se = decoupage(conditionNoct[j].CondMeteo)
	print("Nuit "..j.." Ok")
end


--Traitement infos prévisions (15 jours max) jour 1 = aujourd'hui
function jour_n(a, j, x)

	local i = j+x
		local s = '${exec wget --tries=3 -q --load-cookies '..Rep..'/cookie -O '..Rep..'/details'..j..' '..a..'?day='..i..'}'
		conky_parse( s )
		conditionJour[j], conditionNuit[j], InfoJour[j] = prevision(Rep..'/details'..j)

	if conditionJour[j].VentDir == "CLM" then
		conditionJour[j].VentDir = "Calme"
		conditionJour[j].VentForce = "0"
	end
	conditionJour[j].VentIcone = icone_vent(direction_vent(conditionJour[j].VentDir), conditionJour[j].VentForce)
	conditionJour[j].RafalesIcone = icone_vent(direction_vent(conditionJour[j].VentDir), conditionJour[j].VentRafales)
	conditionJour[j].VentP = vent_plein(conditionJour[j].VentDir)
	conditionJour[j].CondMeteo1, conditionJour[j].CondMeteo2, conditionJour[j].CondMeteo1se, conditionJour[j].CondMeteo2se = decoupage(conditionJour[j].CondMeteo)

	if conditionNuit[j].VentDir == "Calme" then
		conditionNuit[j].VentForce = "0"
	end
	conditionNuit[j].VentIcone = icone_vent(direction_vent(conditionNuit[j].VentDir), conditionNuit[j].VentForce)
	conditionNuit[j].RafalesIcone = icone_vent(direction_vent(conditionNuit[j].VentDir), conditionNuit[j].VentRafales)
	conditionNuit[j].VentP = vent_plein(conditionNuit[j].VentDir)
	conditionNuit[j].CondMeteo1, conditionNuit[j].CondMeteo2, conditionNuit[j].CondMeteo1se, conditionNuit[j].CondMeteo2se = decoupage(conditionNuit[j].CondMeteo)
	print("Prévision "..j.." Ok")

end

--initialisation paramètres
function conky_init(cfg)

	local cmd1, pos1
	local home = os.getenv("HOME")
	cfg = string.gsub(cfg, "~", home)
	cfg = string.gsub(cfg, "$HOME", home)
	fichier_init = cfg
	
	local file = assert(io.open(cfg, "rb") )
	local line = file:read()
	for line in file:lines() do
		pos1 = string.find(line, '#')
		if pos1 ~= nil then
			line = string.sub(line, 1, pos1-1)
		end
		pos1 = string.find(line, '=')
		if string.find(line, 'repsauv=') ~= nil then
			repsauv = string.sub(line, pos1+1)
		elseif string.find(line, 'TempShell=') ~= nil then
			r = string.sub(line, pos1+1)
		elseif string.find(line, 'web=') ~= nil then
			cmd1 = string.sub(line, pos1+1)
		elseif string.find(line, 'periode=') ~= nil then
			jours = string.sub(line, pos1+1)
		elseif string.find(line, 'matinée=') ~= nil then
			matin = string.sub(line, pos1+1)
		elseif string.find(line, 'am=') ~= nil then
			apresmidi = string.sub(line, pos1+1)
		elseif string.find(line, 'soiree=') ~= nil then
			soiree = string.sub(line, pos1+1)
		elseif string.find(line, 'nuit=') ~= nil then
			nuit = string.sub(line, pos1+1)
		elseif string.find(line, 'Palier=') ~= nil then
			Palier = tonumber(string.sub(line, pos1+1))
		elseif string.find(line, 'update=') ~= nil then
			delais = string.sub(line, pos1+1)
		end
	end
	io.close(file)	
	r = r:gsub("~", home):gsub("$HOME", home)
	repsauv = repsauv:gsub("~", home):gsub("$HOME", home)

print("", "version = "..Version.."\n", "web = "..cmd1.."\n", "Pévision Nb jours = "..jours.."\n", "Pévision Matin = "..matin.."\n", "Pévision Après Midi = "..apresmidi.."\n", "Pévision Soirée = "..soiree.."\n", "Pévision Nuit = "..nuit.."\n", "Délais = "..delais.."\n", "Chemin de travail = "..r.."\n","Palier = "..Palier.."\n", "Chemin de sauvegarde = "..repsauv)

--Création répertoire de travail
	l = cmd1:match("/(%d+)")
	if string.find(cmd1, 'forecast') ~= nil then
		pos1 = string.find(cmd1, '/weather')
		cmd = string.sub(cmd1, 0, pos1-1)
	else
		pos1 = string.find(cmd1, '/current')
		cmd = string.sub(cmd1, 0, pos1-1)
	end

	local bar, bar1
	local l1 = string.gsub(cmd, '/'..l, "" )
	local b = 1
	while bar1 == nil do
		b = b+1
		bar1 = string.find(l1, '/', -b)
	end
	l1 = string.sub(l1, bar1+1)
	Rep = r.."/"..l1.."/"..l
	if os.execute("cd "..Rep) ~= 0 then
		os.execute("mkdir "..r.."/"..l1.."&& mkdir "..Rep)
	end
	
--initialisation compteurs
	t = os.time()-delais
	tc = t
	start = 1
	
--Vérification existence repsauv

	if os.execute("cd "..repsauv) ~= 0 then
--création de repsauv si inexistant
		local pos1 = 1
		local chemin = nil
		local cheminsup = nil
		while pos1 ~= nil do
			pos1 = string.find(repsauv, '/', pos1+1)
			if pos1 ~= nil then
				cheminsup = string.sub(repsauv, pos1)
				chemin = string.gsub(repsauv, cheminsup, "")
			else
				cheminsup = ""
				chemin = repsauv
			end
			if os.execute("cd "..chemin) ~= 0 then
				os.execute("mkdir "..chemin)
			end
		end
	end
	
	if not existe(repsauv.."/CondCour") then
		conky_Meteo_enligne()
	end
	
	MAJ ="0"
	
end

--Mise à jour météo
function conky_Meteo_Maj()

	local s = '${if_gw}${lua conky_Meteo_enligne}${else}${lua conky_Meteo_horsligne}${endif}'
	conky_parse( s )
	return " "
end

--hors ligne récupération de données
function conky_Meteo_horsligne()

	if dermodif == nil or dermodif ~= conky_parse("${exec date -r "..repsauv.."/CondCour '+%s'}") then
		dermodif=conky_parse("${exec date -r "..repsauv.."/CondCour '+%s'}")
--Récupération dernière condition courante
		local file = assert(io.open(repsauv.."/CondCour", "r") )
		local line = file:read()
		local i = 0
		local donee = {}
		for line in file:lines() do
			i = i+1
			donee[i] = line
		end
		local t = {"Icone", "Tempr", "Temp", "Cond", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "VentDir", "VentPlein", "VentForce", "VentIcone", "Humidite", "PointRosee", "Pression", "Visibilite", "Date", "Ville", "CouvNuage", "Uv", "QPrec", "latitude", "longitude"}
		for i = 1,23 do
			conditioncourante[t[i]] = donee[i]
		end
		time = donee[24]
		io.close(file)
		
--Récupération prévision
		
		for j = 1,jours do
			local file = assert(io.open(repsauv.."/prevision"..j, "r"))
			local line = file:read()
			local i = 0
			local donee = {}
			for line in file:lines() do
				i = i+1
				donee[i] = line
			end
			local info = {}
			local t = {"CondMeteo", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "Temp", "TempRes", "ProbPrec", "VentDir", "VentP", "VentForce", "VentRafales", "Uv", "ProbOrage", "NivPrec", "QPluie", "QNeige", "Icone", "VentIcone", "RafalesIcone", "EVerglas"}
			conditionJour[j] = {}
			for i = 1, 21 do
				info[t[i]] = donee[i]
			end
			conditionJour[j] = info
			local info1 = {}
			t = {"CondMeteo", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "Temp", "TempRes", "ProbPrec", "VentDir", "VentP", "VentForce", "VentRafales", "ProbOrage", "NivPrec", "QPluie", "QNeige", "Icone", "VentIcone", "RafalesIcone", "EVerglas"}
			conditionNuit[j] = {}
			for i = 22, 41 do
				info1[t[i-21]] = donee[i]
			end
			conditionNuit[j] = info1
			local info2 = {}
			t= {"Jour", "LeverSoleilH", "LeverSoleilM", "CoucherSoleilH", "CoucherSoleilM", "Histo_Max", "Histo_Min"}
			InfoJour[j] = {}
			for i = 42, 48 do
				info2[t[i-41]] = donee[i]
			end
			InfoJour[j] = info2
			io.close(file)
			
			if matin == "oui" then
				local file = assert(io.open(repsauv.."/matin"..j, "r"))
				local line = file:read()
				local i = 0
				local donee = {}
				for line in file:lines() do
					i = i+1
					donee[i] = line
				end
				local t = {"CondMeteo", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "TempMax", "TempMin", "TempMaxR", "TempMinR", "ProbPrec", "VentDir", "VentP", "VentForce", "QPluie", "QNeige", "Humidite", "CouvNuage", "PointRosee", "Visibilite", "Icone", "VentIcone"}
				conditionMatin[j] = {}
				local info3 = {}
				for i = 1, 21 do
					info3[t[i]] = donee[i]
				end
				conditionMatin[j] = info3
				io.close(file)
			end

			if apresmidi == "oui" then
				local file = assert(io.open(repsauv.."/ApresMidi"..j, "r"))
				local line = file:read()
				local i = 0
				local donee = {}
				for line in file:lines() do
					i = i+1
					donee[i] = line
				end
				local t = {"CondMeteo", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "TempMax", "TempMin", "TempMaxR", "TempMinR", "ProbPrec", "VentDir", "VentP", "VentForce", "QPluie", "QNeige", "Humidite", "CouvNuage", "PointRosee", "Visibilite", "Icone", "VentIcone"}
				conditionAM[j] = {}
				local info3 = {}
				for i = 1, 21 do
					info3[t[i]] = donee[i]
				end
				conditionAM[j] = info3
				io.close(file)
			end

			if soiree == "oui" then
				local file = assert(io.open(repsauv.."/Soiree"..j, "r"))
				local line = file:read()
				local i = 0
				local donee = {}
				for line in file:lines() do
					i = i+1
					donee[i] = line
				end
				local t = {"CondMeteo", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "TempMax", "TempMin", "TempMaxR", "TempMinR", "ProbPrec", "VentDir", "VentP", "VentForce", "QPluie", "QNeige", "Humidite", "CouvNuage", "PointRosee", "Visibilite", "Icone", "VentIcone"}
				conditionSoiree[j] = {}
				local info3 = {}
				for i = 1, 21 do
					info3[t[i]] = donee[i]
				end
				conditionSoiree[j] = info3
				io.close(file)
			end

			if nuit == "oui" then
				local file = assert(io.open(repsauv.."/Nuit"..j, "r"))
				local line = file:read()
				local i = 0
				local donee = {}
				for line in file:lines() do
					i = i+1
					donee[i] = line
				end
				local t = {"CondMeteo", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "TempMax", "TempMin", "TempMaxR", "TempMinR", "ProbPrec", "VentDir", "VentP", "VentForce", "QPluie", "QNeige", "Humidite", "CouvNuage", "PointRosee", "Visibilite", "Icone", "VentIcone"}
				conditionNoct[j] = {}
				local info3 = {}
				for i = 1, 21 do
					info3[t[i]] = donee[i]
				end
				conditionNoct[j] = info3
				io.close(file)
			end

		end

--Récupération lunaison
		local file = assert(io.open(repsauv.."/lunaison", "r"))
		local line = file:read()
		local i = 0
		local donee = {}
		for line in file:lines() do
			i = i+1
			donee[i] = line
		end
		ephemerides = donee[1]
		ephemerides1 = donee[2]
		ephemerides2 = donee[3]
		Visibilite = donee[4]
		Phases = donee[5]
		Phases1 = donee[6]
		Phases2 = donee[7]
		Noeud_lunaire = donee[8]
		Apogee = donee[9]
		Perigee = donee[10]
		Distance = donee[11]
		Age = donee[12]
		Lever_LuneHeure = donee[13]
		Lever_LuneMinute = donee[14]
		Coucher_LuneHeure = donee[15]
		Coucher_LuneMinute = donee[16]
		Eclipse_partielle = donee[17]
		Eclipse_total = donee[18]
		io.close(file)

		
		if MAJ == "0" then
			MAJ = "1"
		else
			MAJ = "0"
		end

		
		collectgarbage()
	end
	return ""
end

--en ligne mise à jour
function conky_Meteo_enligne()
	
	if tonumber(delais) <= os.difftime(os.time(), t) then
		t = os.time()
		time = t

			conditioncourante.Date = nil
			while conditioncourante.Date == nil do

				local s = '${exec wget --tries=3 -q --save-cookies '..Rep..'/cookie -O '..Rep..'/curr_cond_raw '..cmd..'/current-weather/'..l..'}'
				conky_parse( s )
				
				conditioncourante = current(Rep.."/curr_cond_raw")
				if conditioncourante.VentDir == "CLM" then
					conditioncourante.VentDir = "Calme"
					conditioncourante.VentForce = "0"
				end
				conditioncourante.VentIcone = icone_vent(direction_vent(conditioncourante.VentDir), conditioncourante.VentForce)
				conditioncourante.VentPlein = vent_plein(conditioncourante.VentDir)
				conditioncourante.CondMeteo1, conditioncourante.CondMeteo2, conditioncourante.CondMeteo1se, conditioncourante.CondMeteo2se = decoupage(conditioncourante.Cond)
				print("Condition courante Ok")

				if 14400 <= os.difftime(os.time(), tc) or start == 1 then
					start = 2
					tc = t

					local addr_week = cmd..'/daily-weather-forecast/'..l
					jour_n(addr_week, 1, 0)

					if conditioncourante.Date == InfoJour[1].Jour then
						for i = 2,jours do jour_n(addr_week, i, 0) end
					else
						for i = 1,jours do jour_n(addr_week, i, 1) end
					end

--infos matin si demandée
					if matin == "oui" then
						addr_week = cmd..'/morning-weather-forecast/'..l

						if conditioncourante.Date == InfoJour[1].Jour then
							for i = 1,jours do Prevision_Matin(addr_week, i, 0) end
						else
							for i = 1,jours do Prevision_Matin(addr_week, i, 1) end
						end
					end

--infos Après Midi si demandée
					if apresmidi == "oui" then
						addr_week = cmd..'/afternoon-weather-forecast/'..l

						if conditioncourante.Date == InfoJour[1].Jour then
							for i = 1,jours do Prevision_AM(addr_week, i, 0) end
						else
							for i = 1,jours do Prevision_AM(addr_week, i, 1) end
						end
					end

--infos Soirée si demandée
					if soiree == "oui" then
						addr_week = cmd..'/evening-weather-forecast/'..l

						if conditioncourante.Date == InfoJour[1].Jour then
							for i = 1,jours do Prevision_Soiree(addr_week, i, 0) end
						else
							for i = 1,jours do Prevision_Soiree(addr_week, i, 1) end
						end
					end

--infos Nuit si demandée
					if nuit == "oui" then
						addr_week = cmd..'/overnight-weather-forecast/'..l

						if conditioncourante.Date == InfoJour[1].Jour then
							for i = 1,jours do Prevision_Nuit(addr_week, i, 0) end
						else
							for i = 1,jours do Prevision_Nuit(addr_week, i, 1) end
						end
					end
					
				end -- fin mise à jour compète
			end
			
			lunaison(r)
			print("lunaison Ok")
--lancement sauvegarde
		if repsauv ~= nil then
			sauvegarde()
		end
		
		
		if MAJ == "0" then
			MAJ = "1"
		else
			MAJ = "0"
		end

		
		collectgarbage()
	end
	return " "
end


--Retour d'information météo

--Condition courrante

function conky_Meteo_IconeM(r, p, s, f)
	if os.date("%H%M", os.time()) <= InfoJour[1].CoucherSoleilH..InfoJour[1].CoucherSoleilM and os.date("%H%M", os.time()) >= InfoJour[1].LeverSoleilH..InfoJour[1].LeverSoleilM then
		return "${image "..r.."/jour/"..conditioncourante.Icone..".png -p "..p.." -s "..s.." -f "..f.."}"
	else
		return "${image "..r.."/nuit/"..conditioncourante.Icone..".png -p "..p.." -s "..s.." -f "..f.."}"
	end
end

function conky_Meteo_TempRes()
	return conditioncourante.Tempr
end

function conky_Meteo_TempAct()
	return conditioncourante.Temp
end

function conky_Meteo_CondMeteo()
	return conditioncourante.Cond
end

function conky_Meteo_CondMeteo1()
	return conditioncourante.CondMeteo1
end

function conky_Meteo_CondMeteo2()
	return conditioncourante.CondMeteo2
end

function conky_Meteo_CondMeteo1se()
	return conditioncourante.CondMeteo1se
end

function conky_Meteo_CondMeteo2se()
	return conditioncourante.CondMeteo2se
end

function conky_Meteo_VentDir()
	return conditioncourante.VentDir
end

function conky_Meteo_VentDirP()
	return conditioncourante.VentPlein
end

function conky_Meteo_VentForce()
	return conditioncourante.VentForce
end

function conky_Meteo_IconeV(r, p, s, f)
	return "${image "..r.."/"..conditioncourante.VentIcone.." -p "..p.." -s "..s.." -f "..f.."}"
end

function conky_Meteo_Humidite()
	return tonumber(conditioncourante.Humidite)
end

function conky_Meteo_Rose()
	return tonumber(conditioncourante.PointRosee)
end

function conky_Meteo_Pression()
	return tonumber(conditioncourante.Pression)
end

function conky_Meteo_Visibilite()
	return tonumber(conditioncourante.Visibilite)
end

function conky_Meteo_Date(format)
	format = string.gsub(format, "_", " ")
	return trad_date(os.date(format, conditioncourante.Date))
end

function conky_Meteo_Ville()
	return conditioncourante.Ville
end

function conky_Meteo_CouvNuage(r)
	if r == nil then r = 100 end
	local Couv = (tonumber(conditioncourante.CouvNuage) / 100) * r
	if Couv - math.floor(Couv) <= 0.5 then 
		Couv = math.floor(Couv)
	else
		Couv = math.ceil(Couv)
	end
	return Couv
end

function conky_Meteo_Uv()
	return conditioncourante.Uv
end

function conky_Meteo_QPrec()
	return conditioncourante.QPrec
end

function conky_Meteo_latitude()
	return conditioncourante.latitude
end

function conky_Meteo_longitude()
	return conditioncourante.longitude
end

function conky_Meteo_Heure()
	return os.date("%H", time)
end

function conky_Meteo_Minute()
	return os.date("%M", time)
end


--Prévision Météo

--Jour

function conky_Meteo_Jour_CondMeteo(j)
	return conditionJour[tonumber(j)].CondMeteo
end

function conky_Meteo_Jour_CondMeteo1(j)
	return conditionJour[tonumber(j)].CondMeteo1
end

function conky_Meteo_Jour_CondMeteo2(j)
	return conditionJour[tonumber(j)].CondMeteo2
end

function conky_Meteo_Jour_CondMeteo1se(j)
	return conditionJour[tonumber(j)].CondMeteo1se
end

function conky_Meteo_Jour_CondMeteo2se(j)
	return conditionJour[tonumber(j)].CondMeteo2se
end

function conky_Meteo_Jour_Temp(j)
	return tonumber(conditionJour[tonumber(j)].Temp)
end

function conky_Meteo_Jour_TempRes(j)
	return tonumber(conditionJour[tonumber(j)].TempRes)
end

function conky_Meteo_Jour_ProbPrec(j)
	return tonumber(conditionJour[tonumber(j)].ProbPrec)
end

function conky_Meteo_Jour_VentDir(j)
	return conditionJour[tonumber(j)].VentDir
end

function conky_Meteo_Jour_VentDirP(j)
	return conditionJour[tonumber(j)].VentP
end

function conky_Meteo_Jour_VentForce(j)
	return tonumber(conditionJour[tonumber(j)].VentForce)
end

function conky_Meteo_Jour_VentRafales(j)
	return tonumber(conditionJour[tonumber(j)].VentRafales)
end

function conky_Meteo_Jour_Uv(j)
	return tonumber(conditionJour[tonumber(j)].Uv)
end

function conky_Meteo_Jour_ProbOrage(j)
	return tonumber(conditionJour[tonumber(j)].ProbOrage)
end

function conky_Meteo_Jour_NivPrec(j)
	return tonumber(conditionJour[tonumber(j)].NivPrec)
end

function conky_Meteo_Jour_QPluie(j)
	return tonumber(conditionJour[tonumber(j)].QPluie)
end

function conky_Meteo_Jour_QNeige(j)
	return tonumber(conditionJour[tonumber(j)].QNeige)
end

function conky_Meteo_Jour_EVerglas(j)
	return tonumber(conditionJour[tonumber(j)].EVerglas)
end

function conky_Meteo_Jour_IconeM(r, p, s, f, j)
	return "${image "..r.."/jour/"..conditionJour[tonumber(j)].Icone..".png -p "..p.." -s "..s.." -f "..f.."}"
end

function conky_Meteo_Jour_IconeV(r, p, s, f, j)
	return "${image "..r.."/"..conditionJour[tonumber(j)].VentIcone.." -p "..p.." -s "..s.." -f "..f.."}"
end

function conky_Meteo_Jour_IconeR(r, p, s, f, j)
	return "${image "..r.."/"..conditionJour[tonumber(j)].RafalesIcone.." -p "..p.." -s "..s.." -f "..f.."}"
end


--Nuit

function conky_Meteo_Nuit_CondMeteo(j)
	return conditionNuit[tonumber(j)].CondMeteo
end

function conky_Meteo_Nuit_CondMeteo1(j)
	return conditionNuit[tonumber(j)].CondMeteo1
end

function conky_Meteo_Nuit_CondMeteo2(j)
	return conditionNuit[tonumber(j)].CondMeteo2
end

function conky_Meteo_Nuit_CondMeteo1se(j)
	return conditionNuit[tonumber(j)].CondMeteo1se
end

function conky_Meteo_Nuit_CondMeteo2se(j)
	return conditionNuit[tonumber(j)].CondMeteo2se
end

function conky_Meteo_Nuit_Temp(j)
	return tonumber(conditionNuit[tonumber(j)].Temp)
end

function conky_Meteo_Nuit_TempRes(j)
	return tonumber(conditionNuit[tonumber(j)].TempRes)
end

function conky_Meteo_Nuit_ProbPrec(j)
	return tonumber(conditionNuit[tonumber(j)].ProbPrec)
end

function conky_Meteo_Nuit_VentDir(j)
	return conditionNuit[tonumber(j)].VentDir
end

function conky_Meteo_Nuit_VentDirP(j)
	return conditionNuit[tonumber(j)].VentP
end

function conky_Meteo_Nuit_VentForce(j)
	return tonumber(conditionNuit[tonumber(j)].VentForce)
end

function conky_Meteo_Nuit_VentRafales(j)
	return tonumber(conditionNuit[tonumber(j)].VentRafales)
end

function conky_Meteo_Nuit_ProbOrage(j)
	return tonumber(conditionNuit[tonumber(j)].ProbOrage)
end

function conky_Meteo_Nuit_NivPrec(j)
	return tonumber(conditionNuit[tonumber(j)].NivPrec)
end

function conky_Meteo_Nuit_QPluie(j)
	return tonumber(conditionNuit[tonumber(j)].QPluie)
end

function conky_Meteo_Nuit_QNeige(j)
	return tonumber(conditionNuit[tonumber(j)].QNeige)
end

function conky_Meteo_Nuit_EVerglas(j)
	return tonumber(conditionNuit[tonumber(j)].EVerglas)
end

function conky_Meteo_Nuit_IconeM(r, p, s, f, j)
	return "${image "..r.."/nuit/"..conditionNuit[tonumber(j)].Icone..".png -p "..p.." -s "..s.." -f "..f.."}"
end

function conky_Meteo_Nuit_IconeV(r, p, s, f, j)
	return "${image "..r.."/"..conditionNuit[tonumber(j)].VentIcone.." -p "..p.." -s "..s.." -f "..f.."}"
end

function conky_Meteo_Nuit_IconeR(r, p, s, f, j)
	return "${image "..r.."/"..conditionNuit[tonumber(j)].RafalesIcone.." -p "..p.." -s "..s.." -f "..f.."}"
end


--Infos sur la journée

function conky_Meteo_Jour(format, j)
	format = string.gsub(format, "_", " ")
	return trad_date(os.date(format, InfoJour[tonumber(j)].Jour))
end

function conky_Meteo_HLeverSoleil(j)
	return InfoJour[tonumber(j)].LeverSoleilH
end

function conky_Meteo_MLeverSoleil(j)
	return InfoJour[tonumber(j)].LeverSoleilM
end

function conky_Meteo_LeverSoleil(j)
	return tonumber((InfoJour[tonumber(j)].LeverSoleilH*60)+InfoJour[tonumber(j)].LeverSoleilM)
end

function conky_Meteo_HCoucherSoleil(j)
	return InfoJour[tonumber(j)].CoucherSoleilH
end

function conky_Meteo_MCoucherSoleil(j)
	return InfoJour[tonumber(j)].CoucherSoleilM
end

function conky_Meteo_CoucherSoleil(j)
	return tonumber((InfoJour[tonumber(j)].CoucherSoleilH*60)+InfoJour[tonumber(j)].CoucherSoleilM)
end

function conky_Meteo_HDureeJour(j)
	return InfoJour[tonumber(j)].CoucherSoleilH-InfoJour[tonumber(j)].LeverSoleilH
end

function conky_Meteo_MDureeJour(j)
	return os.date("%M", ((((InfoJour[tonumber(j)].CoucherSoleilH*3600)-3600)+(InfoJour[tonumber(j)].CoucherSoleilM*60))-(((InfoJour[tonumber(j)].LeverSoleilH*3600))+(InfoJour[tonumber(j)].LeverSoleilM*60))))
end

function conky_Meteo_Histo_Min(j)
	return InfoJour[tonumber(j)].Histo_Min
end

function conky_Meteo_Histo_Max(j)
	return InfoJour[tonumber(j)].Histo_Max
end


--Matin

function conky_Meteo_Matin_CondMeteo(j)
	return conditionMatin[tonumber(j)].CondMeteo
end

function conky_Meteo_Matin_CondMeteo1(j)
	return conditionMatin[tonumber(j)].CondMeteo1
end

function conky_Meteo_Matin_CondMeteo2(j)
	return conditionMatin[tonumber(j)].CondMeteo2
end

function conky_Meteo_Matin_CondMeteo1se(j)
	return conditionMatin[tonumber(j)].CondMeteo1se
end

function conky_Meteo_Matin_CondMeteo2se(j)
	return conditionMatin[tonumber(j)].CondMeteo2se
end

function conky_Meteo_Matin_TempMax(j)
	return tonumber(conditionMatin[tonumber(j)].TempMax)
end

function conky_Meteo_Matin_TempMin(j)
	return tonumber(conditionMatin[tonumber(j)].TempMin)
end

function conky_Meteo_Matin_TempMaxRes(j)
	return tonumber(conditionMatin[tonumber(j)].TempMaxR)
end

function conky_Meteo_Matin_TempMinRes(j)
	return tonumber(conditionMatin[tonumber(j)].TempMinR)
end

function conky_Meteo_Matin_ProbPrec(j)
	return tonumber(conditionMatin[tonumber(j)].ProbPrec)
end

function conky_Meteo_Matin_VentDir(j)
	return conditionMatin[tonumber(j)].VentDir
end

function conky_Meteo_Matin_VentDirP(j)
	return conditionMatin[tonumber(j)].VentP
end

function conky_Meteo_Matin_VentForce(j)
	return tonumber(conditionMatin[tonumber(j)].VentForce)
end

function conky_Meteo_Matin_QPluie(j)
	return tonumber(conditionMatin[tonumber(j)].QPluie)
end

function conky_Meteo_Matin_QNeige(j)
	return tonumber(conditionMatin[tonumber(j)].QNeige)
end

function conky_Meteo_Matin_Humidite(j)
	return tonumber(conditionMatin[tonumber(j)].Humidite)
end

function conky_Meteo_Matin_CouvNuage(j, r)
	if r == nil then r = 100 end
	local Couv = (tonumber(conditionMatin[tonumber(j)].CouvNuage) / 100) * r
	if Couv - math.floor(Couv) <= 0.5 then 
		Couv = math.floor(Couv)
	else
		Couv = math.ceil(Couv)
	end
	return Couv
end

function conky_Meteo_Matin_Rose(j)
	return tonumber(conditionMatin[tonumber(j)].PointRosee)
end

function conky_Meteo_Matin_Visibilite(j)
	return tonumber(conditionMatin[tonumber(j)].Visibilite)
end

function conky_Meteo_Matin_IconeM(r, p, s, f, j)
	return "${image "..r.."/jour/"..conditionMatin[tonumber(j)].Icone..".png -p "..p.." -s "..s.." -f "..f.."}"
end

function conky_Meteo_Matin_IconeV(r, p, s, f, j)
	return "${image "..r.."/"..conditionMatin[tonumber(j)].VentIcone.." -p "..p.." -s "..s.." -f "..f.."}"
end


--Après Midi

function conky_Meteo_AM_CondMeteo(j)
	return conditionAM[tonumber(j)].CondMeteo
end

function conky_Meteo_AM_CondMeteo1(j)
	return conditionAM[tonumber(j)].CondMeteo1
end

function conky_Meteo_AM_CondMeteo2(j)
	return conditionAM[tonumber(j)].CondMeteo2
end

function conky_Meteo_AM_CondMeteo1se(j)
	return conditionAM[tonumber(j)].CondMeteo1se
end

function conky_Meteo_AM_CondMeteo2se(j)
	return conditionAM[tonumber(j)].CondMeteo2se
end

function conky_Meteo_AM_TempMax(j)
	return tonumber(conditionAM[tonumber(j)].TempMax)
end

function conky_Meteo_AM_TempMin(j)
	return tonumber(conditionAM[tonumber(j)].TempMin)
end

function conky_Meteo_AM_TempMaxRes(j)
	return tonumber(conditionAM[tonumber(j)].TempMaxR)
end

function conky_Meteo_AM_TempMinRes(j)
	return tonumber(conditionAM[tonumber(j)].TempMinR)
end

function conky_Meteo_AM_ProbPrec(j)
	return tonumber(conditionAM[tonumber(j)].ProbPrec)
end

function conky_Meteo_AM_VentDir(j)
	return conditionAM[tonumber(j)].VentDir
end

function conky_Meteo_AM_VentDirP(j)
	return conditionAM[tonumber(j)].VentP
end

function conky_Meteo_AM_VentForce(j)
	return tonumber(conditionAM[tonumber(j)].VentForce)
end

function conky_Meteo_AM_QPluie(j)
	return tonumber(conditionAM[tonumber(j)].QPluie)
end

function conky_Meteo_AM_QNeige(j)
	return tonumber(conditionAM[tonumber(j)].QNeige)
end

function conky_Meteo_AM_Humidite(j)
	return tonumber(conditionAM[tonumber(j)].Humidite)
end

function conky_Meteo_AM_CouvNuage(j, r)
	if r == nil then r = 100 end
	local Couv = (tonumber(conditionAM[tonumber(j)].CouvNuage) / 100) * r
	if Couv - math.floor(Couv) <= 0.5 then 
		Couv = math.floor(Couv)
	else
		Couv = math.ceil(Couv)
	end
	return Couv
end

function conky_Meteo_AM_Rose(j)
	return tonumber(conditionAM[tonumber(j)].PointRosee)
end

function conky_Meteo_AM_Visibilite(j)
	return tonumber(conditionAM[tonumber(j)].Visibilite)
end

function conky_Meteo_AM_IconeM(r, p, s, f, j)
	return "${image "..r.."/jour/"..conditionAM[tonumber(j)].Icone..".png -p "..p.." -s "..s.." -f "..f.."}"
end

function conky_Meteo_AM_IconeV(r, p, s, f, j)
	return "${image "..r.."/"..conditionAM[tonumber(j)].VentIcone.." -p "..p.." -s "..s.." -f "..f.."}"
end


--Soirée

function conky_Meteo_Soiree_CondMeteo(j)
	return conditionSoiree[tonumber(j)].CondMeteo
end

function conky_Meteo_Soiree_CondMeteo1(j)
	return conditionSoiree[tonumber(j)].CondMeteo1
end

function conky_Meteo_Soiree_CondMeteo2(j)
	return conditionSoiree[tonumber(j)].CondMeteo2
end

function conky_Meteo_Soiree_CondMeteo1se(j)
	return conditionSoiree[tonumber(j)].CondMeteo1se
end

function conky_Meteo_Soiree_CondMeteo2se(j)
	return conditionSoiree[tonumber(j)].CondMeteo2se
end

function conky_Meteo_Soiree_TempMax(j)
	return tonumber(conditionSoiree[tonumber(j)].TempMax)
end

function conky_Meteo_Soiree_TempMin(j)
	return tonumber(conditionSoiree[tonumber(j)].TempMin)
end

function conky_Meteo_Soiree_TempMaxRes(j)
	return tonumber(conditionSoiree[tonumber(j)].TempMaxR)
end

function conky_Meteo_Soiree_TempMinRes(j)
	return tonumber(conditionSoiree[tonumber(j)].TempMinR)
end

function conky_Meteo_Soiree_ProbPrec(j)
	return tonumber(conditionSoiree[tonumber(j)].ProbPrec)
end

function conky_Meteo_Soiree_VentDir(j)
	return conditionSoiree[tonumber(j)].VentDir
end

function conky_Meteo_Soiree_VentDirP(j)
	return conditionSoiree[tonumber(j)].VentP
end

function conky_Meteo_Soiree_VentForce(j)
	return tonumber(conditionSoiree[tonumber(j)].VentForce)
end

function conky_Meteo_Soiree_QPluie(j)
	return tonumber(conditionSoiree[tonumber(j)].QPluie)
end

function conky_Meteo_Soiree_QNeige(j)
	return tonumber(conditionSoiree[tonumber(j)].QNeige)
end

function conky_Meteo_Soiree_Humidite(j)
	return tonumber(conditionSoiree[tonumber(j)].Humidite)
end

function conky_Meteo_Soiree_CouvNuage(j, r)
	if r == nil then r = 100 end
	local Couv = (tonumber(conditionSoiree[tonumber(j)].CouvNuage) / 100) * r
	if Couv - math.floor(Couv) <= 0.5 then 
		Couv = math.floor(Couv)
	else
		Couv = math.ceil(Couv)
	end
	return Couv
end

function conky_Meteo_Soiree_Rose(j)
	return tonumber(conditionSoiree[tonumber(j)].PointRosee)
end

function conky_Meteo_Soiree_Visibilite(j)
	return tonumber(conditionSoiree[tonumber(j)].Visibilite)
end

function conky_Meteo_Soiree_IconeM(r, p, s, f, j)
	return "${image "..r.."/jour/"..conditionSoiree[tonumber(j)].Icone..".png -p "..p.." -s "..s.." -f "..f.."}"
end

function conky_Meteo_Soiree_IconeV(r, p, s, f, j)
	return "${image "..r.."/"..conditionSoiree[tonumber(j)].VentIcone.." -p "..p.." -s "..s.." -f "..f.."}"
end


--Nuit

function conky_Meteo_Noct_CondMeteo(j)
	return conditionNoct[tonumber(j)].CondMeteo
end

function conky_Meteo_Noct_CondMeteo1(j)
	return conditionNoct[tonumber(j)].CondMeteo1
end

function conky_Meteo_Noct_CondMeteo2(j)
	return conditionNoct[tonumber(j)].CondMeteo2
end

function conky_Meteo_Noct_CondMeteo1se(j)
	return conditionNoct[tonumber(j)].CondMeteo1se
end

function conky_Meteo_Noct_CondMeteo2se(j)
	return conditionNoct[tonumber(j)].CondMeteo2se
end

function conky_Meteo_Noct_TempMax(j)
	return tonumber(conditionNoct[tonumber(j)].TempMax)
end

function conky_Meteo_Noct_TempMin(j)
	return tonumber(conditionNoct[tonumber(j)].TempMin)
end

function conky_Meteo_Noct_TempMaxRes(j)
	return tonumber(conditionNoct[tonumber(j)].TempMaxR)
end

function conky_Meteo_Noct_TempMinRes(j)
	return tonumber(conditionNoct[tonumber(j)].TempMinR)
end

function conky_Meteo_Noct_ProbPrec(j)
	return tonumber(conditionNoct[tonumber(j)].ProbPrec)
end

function conky_Meteo_Noct_VentDir(j)
	return conditionNoct[tonumber(j)].VentDir
end

function conky_Meteo_Noct_VentDirP(j)
	return conditionNoct[tonumber(j)].VentP
end

function conky_Meteo_Noct_VentForce(j)
	return tonumber(conditionNoct[tonumber(j)].VentForce)
end

function conky_Meteo_Noct_QPluie(j)
	return tonumber(conditionNoct[tonumber(j)].QPluie)
end

function conky_Meteo_Noct_QNeige(j)
	return tonumber(conditionNoct[tonumber(j)].QNeige)
end

function conky_Meteo_Noct_Humidite(j)
	return tonumber(conditionNoct[tonumber(j)].Humidite)
end

function conky_Meteo_Noct_CouvNuage(j, r)
	if r == nil then r = 100 end
	local Couv = (tonumber(conditionNoct[tonumber(j)].CouvNuage) / 100) * r
	if Couv - math.floor(Couv) <= 0.5 then 
		Couv = math.floor(Couv)
	else
		Couv = math.ceil(Couv)
	end
	return Couv
end

function conky_Meteo_Noct_Rose(j)
	return tonumber(conditionNoct[tonumber(j)].PointRosee)
end

function conky_Meteo_Noct_Visibilite(j)
	return tonumber(conditionNoct[tonumber(j)].Visibilite)
end

function conky_Meteo_Noct_IconeM(r, p, s, f, j)
	return "${image "..r.."/nuit/"..conditionNoct[tonumber(j)].Icone..".png -p "..p.." -s "..s.." -f "..f.."}"
end

function conky_Meteo_Noct_IconeV(r, p, s, f, j)
	return "${image "..r.."/"..conditionNoct[tonumber(j)].VentIcone.." -p "..p.." -s "..s.." -f "..f.."}"
end


--Lunaison

function conky_Lune_ephemerides()
	return ephemerides
end

function conky_Lune_ephemerides1()
	return ephemerides1
end

function conky_Lune_ephemerides2()
	return ephemerides2
end

function conky_Lune_Visibilite()
	return Visibilite
end

function conky_Lune_Phases()
	return Phases
end

function conky_Lune_Phases1()
	return Phases1
end

function conky_Lune_Phases2()
	return Phases2
end

function conky_Lune_Noeudlunaire()
	return Noeud_lunaire
end

function conky_Lune_Apogee()
	return Apogee
end

function conky_Lune_Perigee()
	return Perigee
end

function conky_Lune_Distance()
	return Distance
end

function conky_Lune_Age()
	return Age
end

function conky_Lune_HLeverLune()
	return Lever_LuneHeure
end

function conky_Lune_MLeverLune()
	return Lever_LuneMinute
end

function conky_Lune_HCoucherLune()
	return Coucher_LuneHeure
end

function conky_Lune_MCoucherLune()
	return Coucher_LuneMinute
end

function conky_Lune_EclipsePartielle(format)
	if format == nil then format = "%A_%d_%B_%Y_à_%H:%M" end
	format = string.gsub(format, "_", " ")
	return trad_date(os.date(format, Eclipse_partielle))
end

function conky_Lune_EclipseTotal()
	if format == nil then format = "%A_%d_%B_%Y_à_%H:%M" end
	format = string.gsub(format, "_", " ")
	return trad_date(os.date(format, Eclipse_total))
end


--Informations sur le lua
function conky_Version()
	return Version
end

function conky_Meteo_fichier_init()
	return fichier_init
end

function conky_Meteo_etat_MAJ()
	return MAJ
end


--Sauvegarde des données
function sauvegarde()

--sauvegarde prévision
	for j = 1,jours do
		local file = assert(io.open(repsauv.."/prevision"..j, "w+"))
		file:write ("\n")
		local t = {"CondMeteo", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "Temp", "TempRes", "ProbPrec", "VentDir", "VentP", "VentForce", "VentRafales", "Uv", "ProbOrage", "NivPrec", "QPluie", "QNeige", "Icone", "VentIcone", "RafalesIcone", "EVerglas"}
		for i = 1, 21 do
			file:write (conditionJour[j][t[i]], "\n")
		end
		t = {"CondMeteo", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "Temp", "TempRes", "ProbPrec", "VentDir", "VentP", "VentForce", "VentRafales", "ProbOrage", "NivPrec", "QPluie", "QNeige", "Icone", "VentIcone", "RafalesIcone", "EVerglas"}
		for i = 1, 20 do
			file:write (conditionNuit[j][t[i]], "\n")
		end
		t= {"Jour", "LeverSoleilH", "LeverSoleilM", "CoucherSoleilH", "CoucherSoleilM", "Histo_Max", "Histo_Min"}
		for i = 1, 7 do
			file:write (InfoJour[j][t[i]], "\n")
		end
		io.close(file)

		if matin == "oui" then
			local file = assert(io.open(repsauv.."/matin"..j, "w+"))
			file:write ("\n")
			local t = {"CondMeteo", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "TempMax", "TempMin", "TempMaxR", "TempMinR", "ProbPrec", "VentDir", "VentP", "VentForce", "QPluie", "QNeige", "Humidite", "CouvNuage", "PointRosee", "Visibilite", "Icone", "VentIcone"}
			for i = 1, 21 do
				file:write (conditionMatin[j][t[i]], "\n")
			end
			io.close(file)
		end
		if apresmidi == "oui" then
			local file = assert(io.open(repsauv.."/ApresMidi"..j, "w+"))
			file:write ("\n")
			local t = {"CondMeteo", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "TempMax", "TempMin", "TempMaxR", "TempMinR", "ProbPrec", "VentDir", "VentP", "VentForce", "QPluie", "QNeige", "Humidite", "CouvNuage", "PointRosee", "Visibilite", "Icone", "VentIcone"}
			for i = 1, 21 do
				file:write (conditionAM[j][t[i]], "\n")
			end
			io.close(file)
		end
		if soiree == "oui" then
			local file = assert(io.open(repsauv.."/Soiree"..j, "w+"))
			file:write ("\n")
			local t = {"CondMeteo", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "TempMax", "TempMin", "TempMaxR", "TempMinR", "ProbPrec", "VentDir", "VentP", "VentForce", "QPluie", "QNeige", "Humidite", "CouvNuage", "PointRosee", "Visibilite", "Icone", "VentIcone"}
			for i = 1, 21 do
				file:write (conditionSoiree[j][t[i]], "\n")
			end
			io.close(file)
		end
		if nuit == "oui" then
			local file = assert(io.open(repsauv.."/Nuit"..j, "w+"))
			file:write ("\n")
			local t = {"CondMeteo", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "TempMax", "TempMin", "TempMaxR", "TempMinR", "ProbPrec", "VentDir", "VentP", "VentForce", "QPluie", "QNeige", "Humidite", "CouvNuage", "PointRosee", "Visibilite", "Icone", "VentIcone"}
			for i = 1, 21 do
				file:write (conditionNoct[j][t[i]], "\n")
			end
			io.close(file)
		end
	end

--sauvegarde lunaison
	local file = assert(io.open(repsauv.."/lunaison", "w+"))
	file:write ("\n", ephemerides, "\n")
	file:write (ephemerides1, "\n")
	file:write (ephemerides2, "\n")
	file:write (Visibilite, "\n")
	file:write (Phases, "\n")
	file:write (Phases1, "\n")
	file:write (Phases2, "\n")
	file:write (Noeud_lunaire, "\n")
	file:write (Apogee, "\n")
	file:write (Perigee, "\n")
	file:write (Distance, "\n")
	file:write (Age, "\n")
	file:write (Lever_LuneHeure, "\n")
	file:write (Lever_LuneMinute, "\n")
	file:write (Coucher_LuneHeure, "\n")
	file:write (Coucher_LuneMinute, "\n")
	file:write (Eclipse_partielle, "\n")
	file:write (Eclipse_total, "\n")
	io.close(file)
	
--Sauvegarde condition courante
	local file = assert(io.open(repsauv.."/CondCour", "w+") )
	file:write ("\n")
	local t = {"Icone", "Tempr", "Temp", "Cond", "CondMeteo1", "CondMeteo2", "CondMeteo1se", "CondMeteo2se", "VentDir", "VentPlein", "VentForce", "VentIcone", "Humidite", "PointRosee", "Pression", "Visibilite", "Date", "Ville", "CouvNuage", "Uv", "QPrec", "latitude", "longitude"}
	for i = 1,23 do
		file:write (conditioncourante[t[i]], "\n")
	end
	file:write (time, "\n")
	io.close(file)

--modification des droits utilisateur
	os.execute('chmod o+rw- '..r..'/*lun*')
	os.execute('chmod -R o+rw- '..repsauv)
	os.execute('chmod -R o+rw- '..Rep)
end

Toujours pas de mise à jour


"Carpe diem quam minimum credula postero"
(Cueille le jour présent, en te fiant le moins possible au lendemain.)
HORACE

Hors ligne

#1310 Le 23/09/2012, à 12:27

Didier-T

Re : [Conky] Alternative à weather.com (2)

@ carpediem,

en fait tu n'utilise pas ce script meteo.lua, ton conky pointe vers une version plus ancienne (ce qui me fait dire ceci est le fait que le numéro de version n'apparais pas dans le terminal)

Pourrais tu me montrer ton conky, ainsi que baro.lua, et m'indiquer ou ce situ dans ton arborescence le script meteo.lua que tu a copié sur le forum.

A+

Hors ligne

#1311 Le 23/09/2012, à 12:41

carpediem

Re : [Conky] Alternative à weather.com (2)

mon conky

2372.jpeg http://imagik.fr/view-rl/2372

baro.lua

--==============================================================================
--                                 baro.lua
--
--  author  : SLK-adapted by shamen456
--  version : v2011-06-13
--  license : Distributed under the terms of GNU GPL version 2 or later
--
--==============================================================================

require 'cairo'

--------------------------------------------------------------------------------
--                                                                    gauge DATA
gauge = {

{
    name='cpu',                arg='',                      max_value=1060, sub_value=960,
    x=175,                          y=200,
    graph_radius=60,
    graph_thickness=10,
    graph_start_angle=235,
    graph_unit_angle=2.5,          graph_unit_thickness=2.,
    graph_bg_colour=0xFFFFFF,      graph_bg_alpha=0.4,
    graph_fg_colour=0xB1ADA7,      graph_fg_alpha=0,
    hand_fg_colour=0x000000,       hand_fg_alpha=.0,
    txt_radius=0,
    txt_weight=0,                  txt_size=10.0,
    txt_fg_colour=0xFFFFFF,        txt_fg_alpha=0,
    graduation_radius=50,
    graduation_thickness=8,        graduation_mark_thickness=2,
    graduation_unit_angle=18,
    graduation_fg_colour=0x4F4B41, graduation_fg_alpha=0,
    caption='',
    caption_weight=1,              caption_size=8.0,
    caption_fg_colour=0xFFFFFF,    caption_fg_alpha=0.8,
},
{
    name='lua',                arg='Meteo_Pression',                      max_value=1050, sub_value=950,
    x=175,                          y=200,
    graph_radius=30,
    graph_thickness=70,
    graph_start_angle=255,
    graph_unit_angle=2.1,          graph_unit_thickness=2.,
    graph_bg_colour=0xFFFFFF,      graph_bg_alpha=0.4,
    graph_fg_colour=0xB1ADA7,      graph_fg_alpha=0,
    hand_fg_colour=0xFF0000,       hand_fg_alpha=.5,
    txt_radius=20,
    txt_weight=0,                  txt_size=10.0,
    txt_fg_colour=0xFFFFFF,        txt_fg_alpha=0,
    graduation_radius=70,
    graduation_thickness=8,        graduation_mark_thickness=2,
    graduation_unit_angle=18,
    graduation_fg_colour=0x4F4B41, graduation_fg_alpha=1,
    caption='',
    caption_weight=1,              caption_size=8.0,
    caption_fg_colour=0xFFFFFF,    caption_fg_alpha=0.8,
},
{
    name='lua',                arg='Meteo_TempRes',   
    max_value=60,                   sub_value=-30,--valeur de depart du graphe
    x=175,                          y=250,
    graph_radius=20,
    graph_thickness=40,
    graph_start_angle=75,
    graph_unit_angle=2.33,          graph_unit_thickness=1.5,
    graph_bg_colour=0xFFFFFF,      graph_bg_alpha=0.4,
    graph_fg_colour=0xB1ADA7,      graph_fg_alpha=0,
    hand_fg_colour=0xFF0000,       hand_fg_alpha=1,
    txt_radius=18,
    txt_weight=1,                  txt_size=10.0,
    txt_fg_colour=0xC0C0FF,        txt_fg_alpha=0,
    graduation_radius=20,
    graduation_thickness=8,        graduation_mark_thickness=2,
    graduation_unit_angle=11.6,
    graduation_fg_colour=0x4F4B41, graduation_fg_alpha=0.6,
    caption='',
    caption_weight=1,              caption_size=8.0,
    caption_fg_colour=0xFFFFFF,    caption_fg_alpha=0.3,
},
{
    name='lua',                arg='Meteo_TempAct',                      max_value=60, sub_value=-30,
    x=175,                          y=250,
    graph_radius=20,
    graph_thickness=40,
    graph_start_angle=75,
    graph_unit_angle=2.33,          graph_unit_thickness=1.5,
    graph_bg_colour=0xFFFFFF,      graph_bg_alpha=0.,
    graph_fg_colour=0xB1ADA7,      graph_fg_alpha=0,
    hand_fg_colour=0xED7F77,       hand_fg_alpha=1,
    txt_radius=30,
    txt_weight=1,                  txt_size=10.0,
    txt_fg_colour=0xED7F77,        txt_fg_alpha=0,
    graduation_radius=22,
    graduation_thickness=14,        graduation_mark_thickness=2,
    graduation_unit_angle=23.3,
    graduation_fg_colour=0x4F4B41, graduation_fg_alpha=1,
    caption='',
    caption_weight=1,              caption_size=8.0,
    caption_fg_colour=0xFFFFFF,    caption_fg_alpha=0.3,
},

}

-------------------------------------------------------------------------------
--                                                                 rgb_to_r_g_b
-- converts color in hexa to decimal
--
function rgb_to_r_g_b(colour, alpha)
    return ((colour / 0x10000) % 0x100) / 255., ((colour / 0x100) % 0x100) / 255., (colour % 0x100) / 255., alpha
end

-------------------------------------------------------------------------------
--                                                            angle_to_position
-- convert degree to rad and rotate (0 degree is top/north)
--
function angle_to_position(start_angle, current_angle)
    local pos = current_angle + start_angle
    return ( ( pos * (2 * math.pi / 360) ) - (math.pi / 2) )
end

-------------------------------------------------------------------------------
--                                                              draw_gauge_ring
-- displays gauges
--
function draw_gauge_ring(display, data, value)
    local max_value = data['max_value']-data['sub_value']
    local sub_value = data['sub_value']
    local x, y = data['x'], data['y']
    local graph_radius = data['graph_radius']
    local graph_thickness, graph_unit_thickness = data['graph_thickness'], data['graph_unit_thickness']
    local graph_start_angle = data['graph_start_angle']
    local graph_unit_angle = data['graph_unit_angle']
    local graph_bg_colour, graph_bg_alpha = data['graph_bg_colour'], data['graph_bg_alpha']
    local graph_fg_colour, graph_fg_alpha = data['graph_fg_colour'], data['graph_fg_alpha']
    local hand_fg_colour, hand_fg_alpha = data['hand_fg_colour'], data['hand_fg_alpha']
    local graph_end_angle = (max_value * graph_unit_angle) % 360

    -- background ring
    cairo_arc(display, x, y, graph_radius, angle_to_position(graph_start_angle, 0), angle_to_position(graph_start_angle, graph_end_angle))
    cairo_set_source_rgba(display, rgb_to_r_g_b(graph_bg_colour, graph_bg_alpha))
    cairo_set_line_width(display, graph_thickness)
    cairo_stroke(display)

    -- arc of value
    local val = (value-sub_value) % (max_value + 1)
    local start_arc = 0
    local stop_arc = 0
    local i = 1
    while i <= val do
        start_arc = (graph_unit_angle * i) - graph_unit_thickness
        stop_arc = (graph_unit_angle * i)
        cairo_arc(display, x, y, graph_radius, angle_to_position(graph_start_angle, start_arc), angle_to_position(graph_start_angle, stop_arc))
        cairo_set_source_rgba(display, rgb_to_r_g_b(graph_fg_colour, graph_fg_alpha))
        cairo_stroke(display)
        i = i + 1
    end
    local angle = start_arc

    -- hand
    start_arc = (graph_unit_angle * val) - (graph_unit_thickness * 2)
    stop_arc = (graph_unit_angle * val)
    cairo_arc(display, x, y, graph_radius, angle_to_position(graph_start_angle, start_arc), angle_to_position(graph_start_angle, stop_arc))
    cairo_set_source_rgba(display, rgb_to_r_g_b(hand_fg_colour, hand_fg_alpha))
    cairo_stroke(display)

    -- graduations marks
    local graduation_radius = data['graduation_radius']
    local graduation_thickness, graduation_mark_thickness = data['graduation_thickness'], data['graduation_mark_thickness']
    local graduation_unit_angle = data['graduation_unit_angle']
    local graduation_fg_colour, graduation_fg_alpha = data['graduation_fg_colour'], data['graduation_fg_alpha']
    if graduation_radius > 0 and graduation_thickness > 0 and graduation_unit_angle > 0 then
        local nb_graduation = graph_end_angle / graduation_unit_angle
        local i = 0
        while i < nb_graduation do
            cairo_set_line_width(display, graduation_thickness)
            start_arc = (graduation_unit_angle * i) - (graduation_mark_thickness / 2)
            stop_arc = (graduation_unit_angle * i) + (graduation_mark_thickness / 2)
            cairo_arc(display, x, y, graduation_radius, angle_to_position(graph_start_angle, start_arc), angle_to_position(graph_start_angle, stop_arc))
            cairo_set_source_rgba(display,rgb_to_r_g_b(graduation_fg_colour,graduation_fg_alpha))
            cairo_stroke(display)
            cairo_set_line_width(display, graph_thickness)
            i = i + 1
        end
    end

    -- text
    local txt_radius = data['txt_radius']
    local txt_weight, txt_size = data['txt_weight'], data['txt_size']
    local txt_fg_colour, txt_fg_alpha = data['txt_fg_colour'], data['txt_fg_alpha']
    local movex = txt_radius * math.cos(angle_to_position(graph_start_angle, angle))
    local movey = txt_radius * math.sin(angle_to_position(graph_start_angle, angle))
    cairo_select_font_face (display, "ubuntu", CAIRO_FONT_SLANT_NORMAL, txt_weight)
    cairo_set_font_size (display, txt_size)
    cairo_set_source_rgba (display, rgb_to_r_g_b(txt_fg_colour, txt_fg_alpha))
    cairo_move_to (display, x + movex - (txt_size / 2), y + movey + 3)
    cairo_show_text (display, value)
    cairo_stroke (display)

    -- caption
    local caption = data['caption']
    local caption_weight, caption_size = data['caption_weight'], data['caption_size']
    local caption_fg_colour, caption_fg_alpha = data['caption_fg_colour'], data['caption_fg_alpha']
    local tox = graph_radius * (math.cos((graph_start_angle * 2 * math.pi / 360)-(math.pi/2)))
    local toy = graph_radius * (math.sin((graph_start_angle * 2 * math.pi / 360)-(math.pi/2)))
    cairo_select_font_face (display, "ubuntu", CAIRO_FONT_SLANT_NORMAL, caption_weight);
    cairo_set_font_size (display, caption_size)
    cairo_set_source_rgba (display, rgb_to_r_g_b(caption_fg_colour, caption_fg_alpha))
    cairo_move_to (display, x + tox + 5, y + toy + 1)
    -- bad hack but not enough time !
    if graph_start_angle < 105 then
        cairo_move_to (display, x + tox - 30, y + toy + 1)
    end
    cairo_show_text (display, caption)
    cairo_stroke (display)
end


-------------------------------------------------------------------------------
--                                                               go_gauge_rings
-- loads data and displays gauges
--
function go_gauge_rings(display)
    local function load_gauge_rings(display, data)
        local str, value = '', 0
        str = string.format('${%s %s}',data['name'], data['arg'])
        str = conky_parse(str)
print(data['name'], data['arg'], "= ", str)
        value = tonumber(str)
        draw_gauge_ring(display, data, value)
    end
    
    for i in pairs(gauge) do
        load_gauge_rings(display, gauge[i])
    end
end

-------------------------------------------------------------------------------
--                                                                         MAIN
function conky_main()
    if conky_window == nil then 
        return
    end

    local cs = cairo_xlib_surface_create(conky_window.display, conky_window.drawable, conky_window.visual, conky_window.width, conky_window.height)
    local display = cairo_create(cs)
    
    local updates = conky_parse('${updates}')
    update_num = tonumber(updates)
    
    if update_num > 5 then
        go_gauge_rings(display)
    end

end

conkyrc baro

#Fonctionnement de conky 
  total_run_times 0               #Temps en secondes ; 0 = toujours actif
  background yes                  #Pour que conky tourne en arrière plan ; no = pour les tests

#Réglages système
  cpu_avg_samples 1               #Nb d'échantillons pour calculer la moyenne d'utilisation CPU
  net_avg_samples 2               #Nb d'échantillons pour calculer la moyenne d'utilisation CPU

#Mémoire
  double_buffer yes               #Éviter le clignotement
  no_buffers yes                  #Soustraire les mémoires tampons de la mémoire utilisée
  text_buffer_size 2048           #Taille du cache pour le texte

#Affichage
  out_to_console no               #Affiche le texte sur la sortie standard
  update_interval 1               #Taux de rafraîchissement de la fenêtre (s)

#Fenêtre conky
#alignment top_left             #Alignement
 #---
  minimum_size 350 50            #Taille minimum (px) ; largeur / hauteur
  maximum_width300 100              #Largeur maximum (px)
 #---
 gap_x 480                     #Écart avec le bord gauche / droit
 gap_y 585                      #Écart avec le bord haut / bas
 #---
  draw_shades no                  #Afficher les ombres
  draw_outline no                 #Afficher les contours de fenêtre
  draw_borders no                 #Afficher des contours autour des blocs de texte
  border_width 1                  #Largeur du contour
  border_margin 1           #Largeur des marges
 #---
  own_window yes                  #Utiliser sa propre fenêtre
  own_window_type override        #Type de fenêtre ; normal / override / desktop
  own_window_transparent yes      #Pseudo transparence
  own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager

#Mise en forme
  use_xft yes                     #Utiliser Xft (polices lissées etc)
  xftalpha 1                      #Utiliser Xft
  override_utf8_locale yes        #Force l'UTF8
  uppercase no                    #Tout le texte en majuscule
  use_spacer right                #Ajoute des espaces après certains objets (qu'avec des polices fixes)
 #---
  xftfont saxMono:size=9          #Police par défaut
 #---
  default_bar_size 360 3          #Barre par défaut (longeur hauteur)
  stippled_borders 6              #Taille des pointillés

#Couleurs
  default_color FFFFFF            #Couleur par défaut
  default_shade_color 333333      #Couleur des ombres
  default_outline_color black     #Couleur des contours
 #---
  color1 242424                   #Gris
 #---
  short_units yes                 #Unités courtes
  pad_percents 2                  #Unité à 2 décimales

default_color FFFFFF
color1 D2CBC1
color2 red #red, color of current T°
color3 blue #color of feels like T°
color4 B1ADA7
color5 7B7870
color6 3F3C36
color7 black #text color

# -- Declaration template -- #
    template0 ${image ~/conky/meteo/conky/script/images/\1 -p \2 -s \3} # -- images fond -- #
    template1 ${lua Meteo_\1 \2 \3 \4 \5 \6} # -- gestion météo --#
    template2 ${lua_parse Meteo_\1 \2 \3 \4 60 \5} # -- icones météo -- \2=repertoir icones \3=position \4=taille \5=jour (pour les prévisions) #
    template3 ${lua Lune_\1} 
    
    lua_load ~/conky/meteo.lua


lua_load ~/conky/Baro/baro.lua
lua_draw_hook_pre main

lua_load ~/conky/Baro/textwriting.lua
lua_draw_hook_post draw_text

lua_startup_hook init ~/conky/meteo.cfg


TEXT
#### Lancement du script récupérant les données météo ####
${template1 Maj}
${font URW Chancery L:style=Bold:size=14}${image /usr/share/conkyforecast/images/weathericons/00.png  -s 60x60 -p 10,200}\
${image /usr/share/conkyforecast/images/weathericons/40.png  -s 60x60 -p 20,130}\
${image /usr/share/conkyforecast/images/weathericons/09.png  -s 60x60 -p 50,80}\
${image /usr/share/conkyforecast/images/weathericons/39.png  -s 60x60 -p 120,50}\
${image /usr/share/conkyforecast/images/weathericons/28.png  -s 60x60 -p 200,50}\
${image /usr/share/conkyforecast/images/weathericons/30.png  -s 60x60 -p 250,90}\
${image /usr/share/conkyforecast/images/weathericons/34.png  -s 60x60 -p 270,140}\
${image /usr/share/conkyforecast/images/weathericons/32.png  -s 60x60 -p 270,200}
${voffset 170}${color black}${alignc}${template1 Pression} mb  
${voffset 70}${font URW Chancery L:style=Bold:size=18}${goto 50}T°${font URW Chancery L:style=Bold:size=12} Actuelle / Ressentie#
${voffset -8}${goto 220}${font URW Chancery L:style=Bold:size=18}T° ${font URW Chancery L:style=Bold:size=12}Nuit
${font URW Chancery L:style=Bold:size=16}${goto 60}${color2}${template1 TempAct}°C / ${template1 TempRes}°C
${voffset -30}${goto 240}${color3}${template1 Nuit_Temp 1}°C ${font Verdana:size=2}

conkyrc meteo

#Fonctionnement de conky 
  total_run_times 0               #Temps en secondes ; 0 = toujours actif
  background yes                  #Pour que conky tourne en arrière plan ; no = pour les tests

#Réglages système
  cpu_avg_samples 1               #Nb d'échantillons pour calculer la moyenne d'utilisation CPU
  net_avg_samples 2               #Nb d'échantillons pour calculer la moyenne d'utilisation CPU

#Mémoire
  double_buffer yes               #Éviter le clignotement
  no_buffers yes                  #Soustraire les mémoires tampons de la mémoire utilisée
  text_buffer_size 2048           #Taille du cache pour le texte

#Affichage
  out_to_console no               #Affiche le texte sur la sortie standard
  update_interval 1               #Taux de rafraîchissement de la fenêtre (s)

#Fenêtre conky
  #alignment top_left            #Alignement
 #---
  minimum_size 350 100              #Taille minimum (px) ; largeur / hauteur
  maximum_width 300                #Largeur maximum (px)
 #---
  gap_x 820                      #Écart avec le bord gauche / droit
  gap_y 25                       #Écart avec le bord haut / bas
 #---
  draw_shades no                  #Afficher les ombres
  draw_outline no                 #Afficher les contours de fenêtre
  draw_borders no                 #Afficher des contours autour des blocs de texte
  border_width 1                  #Largeur du contour
  border_inner_margin 1           #Largeur des marges
 #---
  own_window yes                 #Utiliser sa propre fenêtre
  own_window_type override        #Type de fenêtre ; normal / override / desktop
  own_window_transparent yes      #Pseudo transparence
  own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager,below

#Mise en forme
  use_xft yes                     #Utiliser Xft (polices lissées etc)
  xftalpha 1                      #Utiliser Xft
  override_utf8_locale yes        #Force l'UTF8
  uppercase no                    #Tout le texte en majuscule
  use_spacer right                #Ajoute des espaces après certains objets (qu'avec des polices fixes)
 #---
  xftfont saxMono:size=9          #Police par défaut
 #---
  default_bar_size 50 4           #Barre par défaut (longeur hauteur)
  stippled_borders 3              #Taille des pointillés

#Couleurs
  default_color FFFFFF            #Couleur par défaut
  default_shade_color 333333      #Couleur des ombres
  default_outline_color black     #Couleur des contours
 #---
  color1 242424                   #Gris
 #---
  short_units yes                 #Unités courtes
  pad_percents 2                  #Unité à 2 décimales

	# -- Declaration template -- #
	template0 ${image ~/conky/meteo/conky/script/images/\1 -p \2 -s \3} # -- images fond -- #
	template1 ${lua Meteo_\1 \2 \3 \4 \5 \6} # -- gestion météo --#
	template2 ${lua_parse Meteo_\1 \2 \3 \4 60 \5} # -- icones météo -- \2=repertoir icones \3=position \4=taille \5=jour (pour les prévisions) #
	template3 ${lua Lune_\1} 
	

	lua_load /home/claude/conky/meteo.lua
	lua_startup_hook init /home/claude/conky/meteo.cfg
	lua_load ~/conky/Clic_info.lua


TEXT
#### Lancement du script récupérant les données météo ####
${template1 Maj}${lua click}#Mise à jours via le réseau si disponible, sinon récupération des informations sauvegardées
${font chopinscript:size=20}${alignc}${color1}La Météo à ${template1 Ville}${font verdana:size=16}
${font chopinscript:size=15}Précipitations :${alignr}${font verdana:size=8}${template1 Jour_QPluie 1} mm${font verdana:size=4}
${font chopinscript:size=15}Taux d'humidité :${alignr}${font verdana:size=8}${template1  Humidite}%${font verdana:size=4}
${font chopinscript:size=15}Levé du soleil à :${alignr}${font verdana:size=8}${template1 HLeverSoleil}h${template1 MLeverSoleil}${font verdana:size=4}
${font chopinscript:size=15}Couché du soleil à :${alignr}${font verdana:size=8}${template1 HCoucherSoleil}h${template1 MCoucherSoleil}${font verdana:size=6}
${hr}
${font chopinscript:size=16}Aujourd'hui: ${font verdana:size=8} ${template1  CondMeteo}  ${template2 IconeM ~/conky/meteo/conky/meteo+lune/icones/base 200,140 120x40}
${font chopinscript:size=16}Vent:${font verdana:size=8}    ${template1 VentForce} km/h     ${template1 VentDirP} 
${hr}
${goto 20}${exec date --date '1 day' +%a| sed 's/^./\u&/;'}#
${goto 90}${exec date --date '2 day' +%a| sed 's/^./\u&/;'}# 
${goto 175}${exec date --date '3 day' +%a| sed 's/^./\u&/;'}#
${goto 260}${exec date --date '4 day' +%a| sed 's/^./\u&/;'}# 
${template2 Jour_IconeM ~/conky/meteo/conky/meteo+lune/icones/base -10,205 86x52 2}
${template2 Jour_IconeM ~/conky/meteo/conky/meteo+lune/icones/base 70,205 86x52 3}
${template2 Jour_IconeM ~/conky/meteo/conky/meteo+lune/icones/base 145,205 86x52 4}
${template2 Jour_IconeM ~/conky/meteo/conky/meteo+lune/icones/base 225,205 86x52 5}
${voffset 5}
${goto 10}${template1 Jour_Temp 2}°/${template1 Nuit_Temp 2}°#
${goto 90}${template1 Jour_Temp 3}°/${template1 Nuit_Temp 3}°#
${goto 165}${template1 Jour_Temp 4}°/${template1 Nuit_Temp 4}°#
${goto 250}${template1 Jour_Temp 5}°/${template1 Nuit_Temp 5}°#

"Carpe diem quam minimum credula postero"
(Cueille le jour présent, en te fiant le moins possible au lendemain.)
HORACE

Hors ligne

#1312 Le 23/09/2012, à 12:53

Didier-T

Re : [Conky] Alternative à weather.com (2)

Tu as oublié de noter le chemin du meteo.lua que tu montre sur ton précédent post.

Hors ligne

#1313 Le 23/09/2012, à 12:56

carpediem

Re : [Conky] Alternative à weather.com (2)

/home/claude/conky/meteo.lua


"Carpe diem quam minimum credula postero"
(Cueille le jour présent, en te fiant le moins possible au lendemain.)
HORACE

Hors ligne

#1314 Le 23/09/2012, à 13:11

Didier-T

Re : [Conky] Alternative à weather.com (2)

alors quelques petites modifications.

conkyrc meteo

#Fonctionnement de conky 
  total_run_times 0               #Temps en secondes ; 0 = toujours actif
  background yes                  #Pour que conky tourne en arrière plan ; no = pour les tests

#Réglages système
  cpu_avg_samples 1               #Nb d'échantillons pour calculer la moyenne d'utilisation CPU
  net_avg_samples 2               #Nb d'échantillons pour calculer la moyenne d'utilisation CPU

#Mémoire
  double_buffer yes               #Éviter le clignotement
  no_buffers yes                  #Soustraire les mémoires tampons de la mémoire utilisée
  text_buffer_size 2048           #Taille du cache pour le texte

#Affichage
  out_to_console no               #Affiche le texte sur la sortie standard
  update_interval 1               #Taux de rafraîchissement de la fenêtre (s)

#Fenêtre conky
  #alignment top_left            #Alignement
 #---
  minimum_size 350 100              #Taille minimum (px) ; largeur / hauteur
  maximum_width 300                #Largeur maximum (px)
 #---
  gap_x 820                      #Écart avec le bord gauche / droit
  gap_y 25                       #Écart avec le bord haut / bas
 #---
  draw_shades no                  #Afficher les ombres
  draw_outline no                 #Afficher les contours de fenêtre
  draw_borders no                 #Afficher des contours autour des blocs de texte
  border_width 1                  #Largeur du contour
  border_inner_margin 1           #Largeur des marges
 #---
  own_window yes                 #Utiliser sa propre fenêtre
  own_window_type override        #Type de fenêtre ; normal / override / desktop
  own_window_transparent yes      #Pseudo transparence
  own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager,below

#Mise en forme
  use_xft yes                     #Utiliser Xft (polices lissées etc)
  xftalpha 1                      #Utiliser Xft
  override_utf8_locale yes        #Force l'UTF8
  uppercase no                    #Tout le texte en majuscule
  use_spacer right                #Ajoute des espaces après certains objets (qu'avec des polices fixes)
 #---
  xftfont saxMono:size=9          #Police par défaut
 #---
  default_bar_size 50 4           #Barre par défaut (longeur hauteur)
  stippled_borders 3              #Taille des pointillés

#Couleurs
  default_color FFFFFF            #Couleur par défaut
  default_shade_color 333333      #Couleur des ombres
  default_outline_color black     #Couleur des contours
 #---
  color1 242424                   #Gris
 #---
  short_units yes                 #Unités courtes
  pad_percents 2                  #Unité à 2 décimales

	# -- Declaration template -- #
	template0 ${image ~/conky/meteo/conky/script/images/\1 -p \2 -s \3} # -- images fond -- #
	template1 ${lua Meteo_\1 \2 \3 \4 \5 \6} # -- gestion météo --#
	template2 ${lua_parse Meteo_\1 \2 \3 \4 60 \5} # -- icones météo -- \2=repertoir icones \3=position \4=taille \5=jour (pour les prévisions) #
	template3 ${lua Lune_\1} 
	

	lua_load ~/conky/meteo.lua
	lua_startup_hook init ~/conky/meteo.cfg


TEXT
#### Lancement du script récupérant les données météo ####
${template1 horsligne}#Mise à jours via le réseau si disponible, sinon récupération des informations sauvegardées
${font chopinscript:size=20}${alignc}${color1}La Météo à ${template1 Ville}${font verdana:size=16}
${font chopinscript:size=15}Précipitations :${alignr}${font verdana:size=8}${template1 Jour_QPluie 1} mm${font verdana:size=4}
${font chopinscript:size=15}Taux d'humidité :${alignr}${font verdana:size=8}${template1  Humidite}%${font verdana:size=4}
${font chopinscript:size=15}Levé du soleil à :${alignr}${font verdana:size=8}${template1 HLeverSoleil}h${template1 MLeverSoleil}${font verdana:size=4}
${font chopinscript:size=15}Couché du soleil à :${alignr}${font verdana:size=8}${template1 HCoucherSoleil}h${template1 MCoucherSoleil}${font verdana:size=6}
${hr}
${font chopinscript:size=16}Aujourd'hui: ${font verdana:size=8} ${template1  CondMeteo}  ${template2 IconeM ~/conky/meteo/conky/meteo+lune/icones/base 200,140 120x40}
${font chopinscript:size=16}Vent:${font verdana:size=8}    ${template1 VentForce} km/h     ${template1 VentDirP} 
${hr}
${goto 20}${exec date --date '1 day' +%a| sed 's/^./\u&/;'}#
${goto 90}${exec date --date '2 day' +%a| sed 's/^./\u&/;'}# 
${goto 175}${exec date --date '3 day' +%a| sed 's/^./\u&/;'}#
${goto 260}${exec date --date '4 day' +%a| sed 's/^./\u&/;'}# 
${template2 Jour_IconeM ~/conky/meteo/conky/meteo+lune/icones/base -10,205 86x52 2}
${template2 Jour_IconeM ~/conky/meteo/conky/meteo+lune/icones/base 70,205 86x52 3}
${template2 Jour_IconeM ~/conky/meteo/conky/meteo+lune/icones/base 145,205 86x52 4}
${template2 Jour_IconeM ~/conky/meteo/conky/meteo+lune/icones/base 225,205 86x52 5}
${voffset 5}
${goto 10}${template1 Jour_Temp 2}°/${template1 Nuit_Temp 2}°#
${goto 90}${template1 Jour_Temp 3}°/${template1 Nuit_Temp 3}°#
${goto 165}${template1 Jour_Temp 4}°/${template1 Nuit_Temp 4}°#
${goto 250}${template1 Jour_Temp 5}°/${template1 Nuit_Temp 5}°#

meteo.cfg

# Créé par jpdipsy (forum.ubuntu-fr.org)

#Répertoire de sauvegarde
repsauv=~/conky/meteo

#Répertoire temporaire
TempShell=/tmp

#Copier votre adresse Accuweather ici
web=http://www.accuweather.com/fr/fr/stiring-wendel/135054/weather-forecast/135054

#Prévision sur n jour (de 1 à 15) moyenne pour la journée
periode=5

#Prévision infos sur la matinée (oui, non)
matinée=non

#Prévision infos sur la Après Midi (oui, non)
am=oui

#Prévision infos sur la Soirée (oui, non)
soiree=non

#Prévision infos sur la Nuit (oui, non)
nuit=oui

#Palier changement de couleur rose des vents (Km/h)
Palier=20

#Temps entre les mises à jour prévision (secondes)
update=300

Si il y a encore des soucis redonne moi la copie du terminal, avec les nouveaux messages.
P.S. : je crois te l'avoir déjà dit, j'adore ton écran, une vrai œuvre d'art.

Hors ligne

#1315 Le 23/09/2012, à 13:28

carpediem

Re : [Conky] Alternative à weather.com (2)

un grand merci @Didier-T pour ton aide, ça fonctionne super bien

et merci pour tes compliments cela me touche sincèrement

claude

Dernière modification par carpediem (Le 23/09/2012, à 13:30)


"Carpe diem quam minimum credula postero"
(Cueille le jour présent, en te fiant le moins possible au lendemain.)
HORACE

Hors ligne

#1316 Le 23/09/2012, à 13:29

Didier-T

Re : [Conky] Alternative à weather.com (2)

Cool, le problème heures début et fin de journée est réglé aussi ?

Hors ligne

#1317 Le 23/09/2012, à 13:31

carpediem

Re : [Conky] Alternative à weather.com (2)

les heures de levé et couché du soleil fonctionne egalement


"Carpe diem quam minimum credula postero"
(Cueille le jour présent, en te fiant le moins possible au lendemain.)
HORACE

Hors ligne

#1318 Le 23/09/2012, à 13:32

Didier-T

Re : [Conky] Alternative à weather.com (2)

Et bien c'est donc parfait. cool

Hors ligne

#1319 Le 23/09/2012, à 13:38

Didier-T

Re : [Conky] Alternative à weather.com (2)

@ Phyllinux,

J'ai modifier le script pour Gmusic browser, sa devrait être mieux

il est ici

Hors ligne

#1320 Le 23/09/2012, à 13:44

Phyllinux

Re : [Conky] Alternative à weather.com (2)

Didier-T a écrit :

@ Phyllinux,

J'ai modifier le script pour Gmusic browser, sa devrait être mieux

il est ici

Très actif cet AM Didier !
Je termine mon boulot sous Calc et je teste tout ça.
Je te tiens au courant des résultats.
Merci


The ship is sinking normally...

Hors ligne

#1321 Le 24/09/2012, à 08:23

carpediem

Re : [Conky] Alternative à weather.com (2)

Salut à tous,

Un grand merci à Didier pour son aide, mais il subsiste encore un petit problème.
les valeurs de la pression atmosphérique ne sont pas correct sad

2401.jpeg   http://imagik.fr/view-rl/2401

valeur actuelle 90 mb ???


Fichier CondCour

c
13
16
Ciel Nuageux
     Ciel Nuageux
           
Ciel Nuageux

S
Sud
20
02.png
87
14
90  "valeur à 2 chiffres"
16
1348437600
Stiring-Wendel
90 
10
49.19951
6.92763
1348471029

Merci de votre aide
carpediem


"Carpe diem quam minimum credula postero"
(Cueille le jour présent, en te fiant le moins possible au lendemain.)
HORACE

Hors ligne

#1322 Le 24/09/2012, à 10:03

ragamatrix

Re : [Conky] Alternative à weather.com (2)

@Phyllinux
Tiens comme promis :
Conkydb:conkydb
Tu pourras comparer, chez moi ça tourne nickel.
ps/Beaucoup plus facile à installer que les explications données sur le lien précédent.:cool:

Dernière modification par ragamatrix (Le 24/09/2012, à 10:22)

Hors ligne

#1323 Le 24/09/2012, à 10:07

ragamatrix

Re : [Conky] Alternative à weather.com (2)

Didier-T a écrit :

Bonjour a tous,

une évolution dans le script Beta qui devrait faire plaisir à ragamatrix.

Prévision sur huit heures.
13 nouvelles données pour chaqu'une des huit heures :

  1. Température ressentie = ${template1 huitHeures_TempR <Num de l'heure>}

  2. Température actuelle = ${template1 huitHeures_Temp <Num de l'heure>}

  3. Direction du vent = ${template1 huitHeures_VentDir <Num de l'heure>}

  4. Direction pleine en toutes lettres (Nord, Sud ...) = ${template1 huitHeures_VentDirP <Num de l'heure>}

  5. Vitesse du vent = ${template1 huitHeures_VentForce <Num de l'heure>}

  6. Taux d'humidité = ${template1 huitHeures_Humidite <Num de l'heure>}

  7. Point de rosée = ${template1 huitHeures_Rose <Num de l'heure>}

  8. Indice UV = ${template1 huitHeures_Uv <Num de l'heure>}

  9. Couverture nuageuse = ${template1 huitHeures_CouvNuage <Num de l'heure>}

  10. Probabilité de précipitation = ${template1 huitHeures_ProbPrec <Num de l'heure>}

  11. Heure concerné par la prévision = ${template1 huitHeures_Heure <Num de l'heure>}

  12. Icône météo = ${template2 huitHeures_IconeM <répertoire> <position> <dimensions> <Num de l'heure>}

  13. Icône du vent = ${template2 huitHeures_IconeV <répertoire> <position> <dimensions> <Num de l'heure>}

lien vers le pack

P.S. : normalement le problème d'affichage du nom de certaine ville devrait être réglé.

Merci pour ta vivacité !
J'ai juste fais un test en changeant seulement le script meteo.lua, la ville ne s'affiche pas et j'ai quelques erreurs dans l'execution du script.
Je m'y plongerais un peu plus en tous cas c'est une bonne nouvelle wink

Dernière modification par ragamatrix (Le 24/09/2012, à 10:08)

Hors ligne

#1324 Le 24/09/2012, à 12:04

Didier-T

Re : [Conky] Alternative à weather.com (2)

@ ragamatrix,
il faut aussi changer le meteo.cfg

Hors ligne

#1325 Le 24/09/2012, à 12:06

Didier-T

Re : [Conky] Alternative à weather.com (2)

@ ragamatrix,
il faut aussi changer le meteo.cfg

Hors ligne