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.

#351 Le 11/12/2011, à 13:18

Didier-T

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

Un grand merci à nikyo15,
grâce à qui j'ai enfin retrouvé mes marques sous Ubuntu 11.10 (plus de machin avant gardiste, la liberté ouf...)
1323605557.png 1323605792.png

Hors ligne

#352 Le 11/12/2011, à 13:38

destroyedlolo

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

Didier-T a écrit :
destroyedlolo a écrit :

...
Mais pourquoi y aurait-il des fuites de mémoires dans LUA ?

Pourquoi je ne sais pas, mais je l'ai constaté cher moi sur un conky utilisant le script ring.lua, la consommation de ce conky est passer d'environ 4Mo à près de 50Mo en quelques heures (~5 si je me souviens bien), je limite donc au maximum l'utilisation des script lua à regret, car ils donnent des résultats magnifiques.

Hum, d'apres ce que j'ai lu sur le net, je ne pense pas que Lua soit fautif mais plus les scripts qui ne liberent pas correctement les resources cairos ...
Quoi qu'il soit, je vais surveille ce que donne mon script sur la duree big_smile

Hors ligne

#353 Le 11/12/2011, à 18:50

destroyedlolo

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

Carpediem, c'est VRAIMENT tres beau cool
Je virerai peut être juste l'horloge dans le panel en bas qui est redondant avec le Conky, mais c'est une belle réussite.

Hors ligne

#354 Le 11/12/2011, à 20:16

destroyedlolo

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

Et voici la version finale avec Google.
Ma config conky avec Google weather

Et les scripts qui vont bien :

alignment top_left
double_buffer yes
default_color white
background no
update_interval 1.0 # Sera changé dans le script une fois les données récupérées
out_to_console no
out_to_stderr no

own_window yes
own_window_class Conky
own_window_type normal
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
own_window_transparent yes

lua_load GoogleMeteo.lua

TEXT
${if_empty ${lua GoogleMeteo_Maj ${curl http://www.google.com/ig/api?weather=Annecy/France&oe=utf8&hl=fr 15 }}}
En attente ...
${else}${iconv_start UTF-8 ISO_8859-1}${color Green}${lua GoogleMeteo_city}${offset 8}$color${voffset -2}${hr}

${color grey}Condition à : $color${time %H:%M:%S}
${lua_parse GoogleMeteo_Icon}${offset 42}${color grey}Température : ${color orange}${lua GoogleMeteo_Temperature } °C
${offset 42}${color grey}Humidité : $color${lua GoogleMeteo_humidity}%
${offset 42}${color grey}Vent : $color${lua GoogleMeteo_Wind}

${voffset 3}
${color grey}Prévision pour ${color orange}Aujourd'hui ${offset 8}${color grey}${voffset -2}${hr}

${lua_parse GoogleMeteo_pIcon 1}${offset 42}$color${lua GoogleMeteo_date }
${offset 42}${color grey}Températures : $color${lua GoogleMeteo_pMini 1} ${color grey}/ $color${lua GoogleMeteo_pMaxi 1} ${color grey}°C


${color grey}Prévision pour les jours suivants ${offset 8}${color grey}${voffset -2}${hr}

${lua_parse GoogleMeteo_pIcon 2}${lua_parse GoogleMeteo_pIcon 3}${lua_parse GoogleMeteo_pIcon 4}
${voffset 22}  ${color orange}${lua GoogleMeteo_pJour 2}${offset 59}${lua GoogleMeteo_pJour 3}${offset 53}${lua GoogleMeteo_pJour 4}
$color${lua GoogleMeteo_pMinif 2} ${color grey}/ $color${lua GoogleMeteo_pMaxif 2} ${color grey}°C ${offset 10}$color${lua GoogleMeteo_pMinif 3} ${color grey}/ $color${lua GoogleMeteo_pMaxif 3} ${color grey}°C${offset 10}$color${lua GoogleMeteo_pMinif 4} ${color grey}/ $color${lua GoogleMeteo_pMaxif 4} ${color grey}°C
$color$hr${iconv_stop}
${endif}
require "lxp"

ICONS_DIR='icons/' -- Where to find icons

function conky_GoogleMeteo_Maj( cmd )
    s = conky_parse( cmd )

    if s == "" then    -- Pas de reponse
        return ""
    end
    conky_set_update_interval(900) -- Pas besoin d'avoir des mise a jour frequentes : 15'

        -- Construit la reponse
    prevision = {}
    local idx=0
    local current_conditions = false; local forecast_conditions = false
    callbacks = {
        StartElement = function (parser, name, attrs)
            if name == "city" then
                city = attrs.data;
            elseif name == "forecast_date" then
                forecast_date = attrs.data
            elseif name == "condition" then
                if current_conditions then
                    condition = attrs.data
                elseif forecast_conditions then
                    fcondition = attrs.data
                end
            elseif name == "icon" then
                    -- 20 = len("/ig/images/weather/")
                local icn = string.sub( attrs.data, 20)
                if current_conditions then
                    icon = icn
                elseif forecast_conditions then
                    ficon = icn
                end
            elseif name == "humidity" then
                humidity = string.match(attrs.data, "%d+")
            elseif name == "wind_condition" then
                wind_condition = string.gsub(attrs.data, "%a+ : ", "" )
            elseif name == "temp_c" then
                temperature = attrs.data
            elseif name == "current_conditions" then
                current_conditions = true
            elseif name == "forecast_conditions" then
                forecast_conditions = true
                idx = idx + 1
            elseif name == "day_of_week" then
                jour = attrs.data
            elseif name == "low" then
                minimum = attrs.data
            elseif name == "high" then
                maximum = attrs.data
            end
        end,
            EndElement = function (parser, name)
            if name == "current_conditions" then
                current_conditions = false
            elseif name == "forecast_conditions" then
                prevision[idx] = { jour=jour, condition=fcondition, minimum=minimum, maximum=maximum, icon=ficon }
                forecast_conditions = false
            end
        end
    }
    p = lxp.new(callbacks)
    p:parse(s)
    p:parse()
    p:close() 

        -- Formate la date de la prévision
    local a,m,j = forecast_date:match("(%d+)-(%d+)-(%d+)")
    forecast_date = os.time{year=a, month=m, day=j, hour=0}

    return "ok"
end

function conky_GoogleMeteo_date()
    return os.date("%a %d %b %Y", forecast_date)
end

function conky_GoogleMeteo_city()
    return city
end

function conky_GoogleMeteo_condition()
    return condition
end

function conky_GoogleMeteo_humidity()
    return humidity
end

function conky_GoogleMeteo_Wind()
    return wind_condition
end

function conky_GoogleMeteo_Temperature()
    return temperature
end

function conky_GoogleMeteo_Icon()
    return "${image ".. ICONS_DIR .. icon .." -p 0,28 }"
end

function conky_GoogleMeteo_pJour( idx )
    return prevision[tonumber(idx)].jour
end

function conky_GoogleMeteo_pCondition( idx )
    return prevision[tonumber(idx)].condition
end

function conky_GoogleMeteo_pMini( idx )
    return prevision[tonumber(idx)].minimum
end

function conky_GoogleMeteo_pMinif( idx )
    return string.format("%2d", prevision[tonumber(idx)].minimum)
end


function conky_GoogleMeteo_pMaxi( idx )
    return prevision[tonumber(idx)].maximum
end

function conky_GoogleMeteo_pMaxif( idx )
    return string.format("%2d", prevision[tonumber(idx)].maximum)
end

function conky_GoogleMeteo_pIcon( idx )
    idx = tonumber(idx)
    if idx == 1 then
        return "${image ".. ICONS_DIR .. prevision[1].icon .." -p 0,92 }"
    elseif idx == 2 then
        return "${image ".. ICONS_DIR .. prevision[2].icon .." -p 9,151 }"
    elseif idx == 3 then
        return "${image ".. ICONS_DIR .. prevision[3].icon .." -p 85,151 }"
    elseif idx == 4 then
        return "${image ".. ICONS_DIR .. prevision[4].icon .." -p 161,151 }"
    else
        return "Mauvais index"
    end

end

Les icones doivent se trouver dans un sous-repertoire icons du repertoire courent. Je vous laisse les recuperer depuis le lien que j'avais donné car je ne pense pas qu'il soit libre de droit (j'en sais rien).

Au passage, le 12 en plaine pour mercredi fait un peu peur pour la neige mais bon ... faut faire avec sad

Je m'attaque maintenant a meteorologic pour avoir des infos plus completes et sur aussi sur les stations ... qq'un saurait-il ou je peux trouver l'épaisseur de neige ? ( A nouveau en API ou en flux RSS).

Bye

Dernière modification par destroyedlolo (Le 11/12/2011, à 20:19)

Hors ligne

#355 Le 12/12/2011, à 09:47

shamen456

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

@Didier-T : merci pour le script, ça marche sans problèmes... j 'ai maintenant mon fond d'horloge qui change en fonction de l'heure... la journée j'ai l'image du ciel et la nuit la lune....

Est-ce que tu connaîtrais un site (convivial...pas juste les pages man wink pour apprendre à créer des scripts Bash... car j'ai des problèmes avec la mise en forme ( pourquoi [ a la place de (( ou && a la place de || ??)...car apparemment la logique est bonne..


Bon Conky à Tous

Hors ligne

#356 Le 12/12/2011, à 10:44

destroyedlolo

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

Generalement, il y a de bonnes choses sur le site du Zero ...

Par contre, pour des trucs qui tournent souvent, il faut faire attention aux perfs avec les scripts shell ...

Hors ligne

#357 Le 12/12/2011, à 13:02

Didier-T

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

shamen456 a écrit :

@Didier-T : merci pour le script, ça marche sans problèmes... j 'ai maintenant mon fond d'horloge qui change en fonction de l'heure... la journée j'ai l'image du ciel et la nuit la lune....

Est-ce que tu connaîtrais un site (convivial...pas juste les pages man wink pour apprendre à créer des scripts Bash... car j'ai des problèmes avec la mise en forme ( pourquoi [ a la place de (( ou && a la place de || ??)...car apparemment la logique est bonne..


Bon Conky à Tous

Quand je cherche une bonne doc je passe par wikipedia, ensuite il suffit de suivre les liens externes.

Les [ pour les valeurs "numérique" (donc plus d'espace à la fin des nombres)
Et le && signifie "ET logique"

Hors ligne

#358 Le 13/12/2011, à 08:39

Phyllinux

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

@ shamen456 et carpediem :
Une petite question concernant le baromètre :
Je souhaiterais changer la couleur de l'aiguille de la pression, mais je ne trouve pas la ligne qui définit l'argument 'couleur'.
Elle est actuellement grise. Or sur le conky de carpediem, elle est rouge.
J'ai eu beau repasser en revue les différents fichiers, je n'arrive pas à trouver à quel endroit cette couleur est définie.
Merci


The ship is sinking normally...

Hors ligne

#359 Le 13/12/2011, à 09:43

carpediem

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

Salut @Phyllinux, pour modifier la couleur des aiguilles tu dois changer les codes de couleur dans le baro.lua
lignes 46/68/89  "hand_fg_colour=0xFF0000,       hand_fg_alpha=.5,"

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=150,
    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='execpi',                arg='120 bash ~/conky/conkymeteo/afmeteo pression cc|sed "s/ mb//"|sed "s/,/\./"',                      max_value=1050, sub_value=950,
    x=175,                          y=150,
    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='execi',                arg='120 ~/conky/conkymeteo/afmeteo temp_res cc',   
    max_value=60,                   sub_value=-30,--valeur de depart du graphe
    x=175,                          y=200,
    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='execi',                arg='120 ~/conky/conkymeteo/afmeteo temp cc',                      max_value=60, sub_value=-30,
    x=175,                          y=200,
    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)
        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

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

Hors ligne

#360 Le 13/12/2011, à 09:49

shamen456

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

@Phyllinux : tu dois aller changer ca dans le fichier "baro.lua", hand_fg_colour=0x******
pour l'aiguille du barometre c'est la ligne 47, col 22

pour avoir le code couleur hexadecimal, je te conseille d'installer KColorChooser

Hors ligne

#361 Le 13/12/2011, à 09:53

shamen456

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

@Carpediem: Arrghh... coiffé sur le poteau....;)

...c'est bizarre j'ai une ligne en plus dans le lua...


Bon Conky à Tous...

Hors ligne

#362 Le 13/12/2011, à 10:06

Didier-T

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

shamen456 a écrit :

@Carpediem: Arrghh... coiffé sur le poteau....;)

...c'est bizarre j'ai une ligne en plus dans le lua...


Bon Conky à Tous...

Tu utilise certainement la version que j'ai modifié, la ligne en plus doit être pour le ratio

Hors ligne

#363 Le 13/12/2011, à 10:14

Phyllinux

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

@ carpediem et shamen456
Merci beaucoup, et félicitations pour votre réactivité big_smile
Pour moi, c'était bien ligne 47 ! J'utilise la version de Didier-T, avec le ratio qiu permet de jouer sur la taille.


The ship is sinking normally...

Hors ligne

#364 Le 13/12/2011, à 13:44

destroyedlolo

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

Bonjour,

est-ce que qq'un serait s'il existe un service distribuant sous forme d'API XML ou du meme genre les donnees d'enneigement des stations ?
J'ai trouver une interface complete chez http://www.mountainnews.fr mais il semble que ce soit un service payant ...

Merci smile

Update :

Hum, je viens de trouver my weather qui semble faire exactement ce que je cherche.
Est-ce que qq'un aurait une experience avec ce site et surtout avec leur API XML ?

Dernière modification par destroyedlolo (Le 13/12/2011, à 14:03)

Hors ligne

#365 Le 13/12/2011, à 19:55

Didier-T

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

Bonjour destroyedlolo,

Je ne trouve pas ce tu cherche mais le site allosurf.net semble intéressant (pour les prévisions météo), par contre que des donnés page web, mais facilement exploitable ( du moins il semble smile ) .
Et le site infosski.com pour les infos concernant l'état actuel des stations.

Dernière modification par Didier-T (Le 13/12/2011, à 20:06)

Hors ligne

#366 Le 14/12/2011, à 10:59

destroyedlolo

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

Salut Didier,

En effet je connais ces sites (je suis meme abonne a infosski pour les annonces peuf big_smile)
Maintenant, je prefererai avoir directement des flux XML car extraire les infos d'une page HTML en LUA risque d'etre franchement lourd ... apres, ca ne merite pas de faire plus d'une update par jour mais bon ...

J'ai commence a bosser sur myweather ; les informations sont vraiment partielles par rapport a ce qu'ils disent proposer :

  • y'a le minimum pour le niveau neige (normalement ils devraient fournir les conditions en station et aux sommets ... mais on obtient que des chiffres globaux Min/Max)

  • je n'obtiens que 2 jours de previsions meteo ... et en plus, reduite.

  • enfin, mais c'etait clair depuis le debut, une seule station n'est accessible a un instant donne (sans doute pour promouvoir les solutions payantes

Bref, pour le moment ... entre prometteur et bof. Mais je vais voir avec eux si on peut avoir plus sans passer a la version payante.
Sinon, mes tests ont ete profitable vu que j'ai complement refait mon parser XML par rapport a la meteo Google, plus flexible, plus generique (tant que les champs ne sont pas dupplique).

Donc c'est cool, je commence a bien maitriser LUA malgres que sa document est plutot partiate ...
C'est marrant car ils presentaient ca (je ne sais plus ou), comme base sur la syntaxe du C. Perso, je trouve que ca ressemble plus a du BASIC qu'autre chose ... et je regrete vraiment les structures a la

var++

et autre

var += 15

lol

Hors ligne

#367 Le 14/12/2011, à 11:27

Didier-T

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

Bonjour à tous,

je me suis un peut pencher sur mon script météo, pour le rendre plus rapide, mais en fait le soucis principal est l’accès aux page météo, et certainement pour certains la vitesse du disque dur.

J'ai donc un peut modifier mon script ainsi que la notice.

Nous avons deux paramètres en plus dans meteo.cfg

  1. TempShell = Disque rapide ou mieux disque Ram

  2. update = Temps entre deux mise à jours prévisions météo

Gains obtenu sur mon poste :
     10% pour toutes les mises à jour
     et pour les mises à jours intermédiaires je divise par 4

Les liens sont mis à jours

Hors ligne

#368 Le 17/12/2011, à 20:00

Swiss_Knight

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

Bonsoir,

j'ai plus la météo dans mon conky et c'est à cause du site weather.com si j'ai bien compris (...).
Bref, le conky qu'y a sur mon ordinateur est en fait celui de VinDSL que j'ai modifié un peu pour être adapté à mon écran etc. mais la section météo est vide.

Quelqu'un aurait-il un bout de code pour remplacer la partie météo qui va plus ?

Et puis : je n'ai pas trouvé de liens sur le premier post, renvoyant à des posts d'intérêt général, comme par exemple des descriptions de ce qui doit être fait, pas-à-pas, ou encore vers quel(s) site(s) aller pour souscrire à une sorte de flux de données météo ? puisque weather.com ne marche plus gratuitement, qu'est-ce qui va bien à la place ? Des conseils ?

Et ensuite ? Pour remplacer la partie "météo" dans mon conky, qu'est-ce qu'il faut faire ? y a-t-il de nouveaux fichiers à créer ? d'autres paquets à télécharger que conkyforecast ? doit-on l'enlever celui-ci ?

Pour le moment mon fichier ~/.conkyrc fait appel à d'autres fichiers qui finissent en .lua et que j'ai du mettre dans un dossier ~/.conky et si j'ai bien compris, ils servent à faire des petites barres comme des vu-mètres. Enfin bref, je suis un peu perdu en lisant des thread ici et sur le forum anglophone :S par contre j'ai découvert un site sympa pour les données météo (underground qqch) mais c'est le seul que j'ai trouvé...

Voilà, ma requête est celle du débutant, donc je n'attends pas une réponse en un bloc mais plutôt quelques contributions qui puissent me faire avancer dans la bonne direction.


xuniL

Hors ligne

#369 Le 17/12/2011, à 20:11

Didier-T

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

Swiss_Knight a écrit :

Bonsoir,

j'ai plus la météo dans mon conky et c'est à cause du site weather.com si j'ai bien compris (...).
Bref, le conky qu'y a sur mon ordinateur est en fait celui de VinDSL que j'ai modifié un peu pour être adapté à mon écran etc. mais la section météo est vide.

Quelqu'un aurait-il un bout de code pour remplacer la partie météo qui va plus ?

Et puis : je n'ai pas trouvé de liens sur le premier post, renvoyant à des posts d'intérêt général, comme par exemple des descriptions de ce qui doit être fait, pas-à-pas, ou encore vers quel(s) site(s) aller pour souscrire à une sorte de flux de données météo ? puisque weather.com ne marche plus gratuitement, qu'est-ce qui va bien à la place ? Des conseils ?

Et ensuite ? Pour remplacer la partie "météo" dans mon conky, qu'est-ce qu'il faut faire ? y a-t-il de nouveaux fichiers à créer ? d'autres paquets à télécharger que conkyforecast ? doit-on l'enlever celui-ci ?

Pour le moment mon fichier ~/.conkyrc fait appel à d'autres fichiers qui finissent en .lua et que j'ai du mettre dans un dossier ~/.conky et si j'ai bien compris, ils servent à faire des petites barres comme des vu-mètres. Enfin bref, je suis un peu perdu en lisant des thread ici et sur le forum anglophone :S par contre j'ai découvert un site sympa pour les données météo (underground qqch) mais c'est le seul que j'ai trouvé...

Voilà, ma requête est celle du débutant, donc je n'attends pas une réponse en un bloc mais plutôt quelques contributions qui puissent me faire avancer dans la bonne direction.

Regarde ma signature, sa devrait t'aider. smile

Hors ligne

#370 Le 17/12/2011, à 21:30

Swiss_Knight

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

d'accord,... merci.
Bien que ce ne soit pas très clair pour mes neuronnes, j'essaye de comprendre tout ça, mais j'arrive à rien pour le moment...

Ton script (?) fonctionne avec accuweather c'est juste ?
J'étais parti sur weatherunderground moi donc ça ne marchera jamais c'est juste ?

Autre truc que j'aimerai comprendre : si je suis bien, vous faites des scripts qui vont "lire" des infos de manière régulière sur des pages web et ensuite, je ne sais pas comment, vous faites en sorte que ces infos soient transcrites sur conky ?

Si je suis pas trop dans le faux, à partir de là je me demandais ;

1. que se passe-t-il si l'architecture du site change, i.e. le nom de la page avec les infos qui nous intéressent ?

2. je doute que ce soit le cas, mais y a-t-il des gens ici qui se seraient penchés sur la lecture de telles informations sur le site de météosuisse ?

3. ... c'est quel langage qu'il faut connaître pour faire de tels scripts ?


xuniL

Hors ligne

#371 Le 17/12/2011, à 21:46

Didier-T

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

Swiss_Knight a écrit :

d'accord,... merci.
Bien que ce ne soit pas très clair pour mes neuronnes, j'essaye de comprendre tout ça, mais j'arrive à rien pour le moment...

Ton script (?) fonctionne avec accuweather c'est juste ?

Oui

J'étais parti sur weatherunderground moi donc ça ne marchera jamais c'est juste ?

Exacte

Autre truc que j'aimerai comprendre : si je suis bien, vous faites des scripts qui vont "lire" des infos de manière régulière sur des pages web et ensuite, je ne sais pas comment, vous faites en sorte que ces infos soient transcrites sur conky ?

En fait je les affiches avec sed

1. que se passe-t-il si l'architecture du site change, i.e. le nom de la page avec les infos qui nous intéressent ?

Si le site change il faut reprendre le script pour l'actualiser (rien de bien compliqué quand on à compris le fonctionnement)

2. je doute que ce soit le cas, mais y a-t-il des gens ici qui se seraient penchés sur la lecture de telles informations sur le site de météosuisse ?

Je ne sais pas ???

3. ... c'est quel langage qu'il faut connaître pour faire de tels scripts ?

Le Bash (pour mes scripts) mais tous les langages peuvent fonctionner.

Si tu as des questions n'hésite pas.

Hors ligne

#372 Le 18/12/2011, à 16:28

jpdipsy

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

Salutatousse

@Didier-T

Suite à ce que tu as fait pour rendre les scripts plus "rapide" et comme perso j'utilise le /tmp en disque virtuel j'ai repris l'ensemble des scripts afin que tous se passe en /tmp.

1 changement meteo.cfg
#Répertoire de travail
DirShell="$HOME/conky/meteo+lune"

#Répertoire temporaire (si pas de disque ram pareil que DirShell)
Tempo="/tmp"
Ville="Belfort"
#Copier votre adresse Accuweather ici
#address="http://www.accuweather.com/fr/fr/%c3%aele-de-france/argenteuil/quick-look.aspx"
address="http://www.accuweather.com/fr/fr/franche-comt%C3%A9/belfort/quick-look.aspx?cityid=133341"
#Prévision sur n jour (de 1 à 15)
periode=5

#Temps entre les mises à jour prévision (en heure+minute)
update=300

j'ai ajouter Ville=xxxxxxxxx

2 :changement dans meteo afmeteo lune.sh vent

  TempShell=$Tempo/meteo/$USER/$Ville

le repertoire s'établi à /tmp/meteo/utilisateur/ville

plus tous les changements dans les différents scripts pour retrouver les données à partir de $TempShell

3 dans afmeteo ajout de :
case $1 in
    maj)
                #affichage derniere mis a jour
        echo  `sed -e 's/:/h/' $TempShell/curr_cond|sed -n 3p`
        exit 0
        ;;
    messages)
        #recup info
               echo `sed -n $2'p' $TempShell/$1`
        exit 0
        ;;
    phases)
                #recup info lune
    echo `sed -n $2'p' $TempShell/$1`
    exit 0
    ;;
esac


afin de n'avoir q'un fichier pour récuperer toutes les données.

l'ensemble des fichiers est ici : conky si tu veux y jeter un oeil afin de voir si cela parait plus rapide et plus simple.

Bonne journée.

Ps: avec le fichier de démo essai d'inclure les fontes parce qu'il à du mal à fonctionner sinon.

Hors ligne

#373 Le 18/12/2011, à 16:45

jpdipsy

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

remoi

Marrant les traductions

17fl
1
16:34
Poudreriessmile
-4
Ouest
12
85%
-1
1015 mb
En hausse
16 km
08:16
16:41
Belfort

et les messages
  quelques averses
      de neige
neige ou poudreriessmile
   peu abondantes
alternance de nuages
    et de soleil
      nuageux
         
      neige et
    pluie mêlées
    poudreries        tous aux abris ça va nous péter à la tronche lol
         
      neige et
    pluie mêlées
   neige et pluie
   peu abondantes
  pluie et bruine
         
  pluie et bruine

Hors ligne

#374 Le 18/12/2011, à 18:17

Didier-T

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

jpdipsy a écrit :

Salutatousse

@Didier-T

Suite à ce que tu as fait pour rendre les scripts plus "rapide" et comme perso j'utilise le /tmp en disque virtuel j'ai repris l'ensemble des scripts afin que tous se passe en /tmp.

1 changement meteo.cfg
#Répertoire de travail
DirShell="$HOME/conky/meteo+lune"

#Répertoire temporaire (si pas de disque ram pareil que DirShell)
Tempo="/tmp"
Ville="Belfort"
#Copier votre adresse Accuweather ici
#address="http://www.accuweather.com/fr/fr/%c3%aele-de-france/argenteuil/quick-look.aspx"
address="http://www.accuweather.com/fr/fr/franche-comt%C3%A9/belfort/quick-look.aspx?cityid=133341"
#Prévision sur n jour (de 1 à 15)
periode=5

#Temps entre les mises à jour prévision (en heure+minute)
update=300

j'ai ajouter Ville=xxxxxxxxx

2 :changement dans meteo afmeteo lune.sh vent

  TempShell=$Tempo/meteo/$USER/$Ville

le repertoire s'établi à /tmp/meteo/utilisateur/ville

plus tous les changements dans les différents scripts pour retrouver les données à partir de $TempShell

3 dans afmeteo ajout de :
case $1 in
    maj)
                #affichage derniere mis a jour
        echo  `sed -e 's/:/h/' $TempShell/curr_cond|sed -n 3p`
        exit 0
        ;;
    messages)
        #recup info
               echo `sed -n $2'p' $TempShell/$1`
        exit 0
        ;;
    phases)
                #recup info lune
    echo `sed -n $2'p' $TempShell/$1`
    exit 0
    ;;
esac


afin de n'avoir q'un fichier pour récuperer toutes les données.

l'ensemble des fichiers est ici : conky si tu veux y jeter un oeil afin de voir si cela parait plus rapide et plus simple.

Bonne journée.

Ps: avec le fichier de démo essai d'inclure les fontes parce qu'il à du mal à fonctionner sinon.

C'est bien sa turbine big_smile

Bon les ajout dans afmeteo Ok, mais l’intérêt principal d'avoir un chemin DirShell tiens au fait que si tu n'as pas de connexion internet quant tu allume ton Pc tu à tous de même les dernières infos récupérés à disposition, donc aller chercher les infos dans TempShell est discutable (surtout sur disque ram).

Toujours dans le but  d'accélérer l’accès aux infos je travail actuellement sur un script en lua, mais ces un langage étrangement réduit, mais bon j'avance bien il ne me reste plus qu'a inclure les sécurités.

Hors ligne

#375 Le 19/12/2011, à 20:57

Didier-T

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

Bonjour à tous,

Voila suite au message de destroyedlolo qui vantait les mérites des scripts lua pour les machines ancienne je me suis penché sur l'adaptation de mon script météo.

Pour le moment je test encore, mais sa fonctionne, mieux il n'y a pas de fuite en mémoire sur une journée entière pas de perte (la taille en mémoire varie juste en fonction des infos météo).

Je pense intégrer la partie lunaison au script, et faire une notice d'utilisation.

Une petite question aux futurs utilisateurs pour les heures vous préférez un séparateur ( si oui h où : ), ou d'un coté les heures et de l'autre les minutes ???

Hors ligne