Topic: Icones du service presence dispo pour d'autre serveur ?

Bonjour smile

Je fais tourner un serveur sous Prosody et j'ai installé le service presence
Malheureusement, les icones utilisées par ce module sont (à mon goût) vieillissante.
Je souhaiterai à la place pouvoir utiliser le set d'icone Crystal par exemple, comme celles dispo sur jabberfr
J'ai donc relancé le dev pour qu'il les inclues dans une prochaine version, mais peut-être existe-t-il un code source disponible quelque part pour accélérer la manoeuvre ?

Re: Icones du service presence dispo pour d'autre serveur ?

Spheerys wrote:

mais peut-être existe-t-il un code source disponible quelque part pour accélérer la manoeuvre ?

C'est sûrement dû à l'heure tardive, mais je n'arrive pas à comprendre cette question. Tu pourrais la reformuler ? (parce que bon, le code source tu l'as déjà vu que tu l'as installé)

Re: Icones du service presence dispo pour d'autre serveur ?

Niarf je reprends ^^

Le service de Presence fourni par jabberfr permet de choisir son set d'icones

Sur mon serveur, qui tourne avec Prosody, j'ai installé le service de Presence.
Sauf qu'avec lui, je n'ai qu'un set d'icones par défaut !
Comment faire pour avoir d'autres sets ? Dois-je attendre que le développeur du module les implémentes ?
Puis agir d'une quelconque manière pour accélérer la mise en place de ces sets d'icones dans le module de Prosody ?
JabberFR utilise-t-il une version modifiée de ce service incluant divers set d'icones et si oui, est-il possible d'avoir les sources ?

Re: Icones du service presence dispo pour d'autre serveur ?

L'auteur d'Omnipresence, omega, se trouve être l'admin de JabberFR qui a installé le service sur JabberFR. À ma connaissance, il n'utilise que le dépôt officiel qui se trouve sur http://svn.codingteam.net/omnipresence/

Comme on peut le voir sur le dépôt svn du projet, il y a déjà plusieurs thèmes fournis par défaut : http://codingteam.net/project/omniprese … end/themes

Ce sont les mêmes qu'il y a sur JabberFR. Entre autre, le dossier « default » se trouve justement être le thème Crystal que tu veux utiliser.

Je ne vois donc pas où est le problème. Peut-être as-tu récupéré le code il y a fort longtemps et n'as-tu pas mis à jour depuis ?

Quoi qu'il en soit, en récupérant la dernière révision du dépôt svn, tu auras tous les thèmes actuellement dispo sur JabberFR (dont Crystal).

Quant à ta question initiale, pour ajouter un thème, il suffit juste d'ajouter son dossier dans le répertoire http://codingteam.net/project/omniprese … end/themes et de l'ajouter dans le fichier http://codingteam.net/project/omniprese … themes.php (en suivant la même syntaxe que pour les autres).

Re: Icones du service presence dispo pour d'autre serveur ?

OK merci pour ta réponse.
Je vais voir comment je peux intégrer tout ça sur mon serveur Prosody
Mais à priori le système utilisé par le module en question (qui se trouve ici : http://code.google.com/p/prosody-module … ebpresence ) n'utilise pas le même système.
Ca risque donc d'être un peu plus compliqué à implémenter....

Re: Icones du service presence dispo pour d'autre serveur ?

Ha pardon, je n'avais pas compris que tu utilisais le module de prosody. Je pensais que tu utilisais celui utilisé sur JabberFR.

Visiblement, mod_webpresence ne gère pas plusieurs thème à la fois. Le plus simple serait donc que tu récupères le thème depuis le code d'omnipresence, et que tu remplaces les images une à une. (en attendant que le dev de mod_webpresence réagisse).

Sinon, tu peux proposer un patch pour mod_webpresence ajoutant le support pour la gestion de plusieurs thèmes à la fois (comme omnipresence). Ça rendra l'ajout de nouveaux thèmes plus simple.

7 (edited by Spheerys 06-02-2011 14:27:52)

Re: Icones du service presence dispo pour d'autre serveur ?

J'ai une question subsidiaire : comment obtenir le code "binaire" d'une image .png ?
J'ai bien récupéré les images de statut ici : http://svn.codingteam.net/omnipresence/ … s/default/
Mais comment obtenir un code qui irait dans le fichier du module que voici :

do local e={};e["icons/status_online.png"]='‰PNG\r\
\
\0\0\0\rIHDR\0\0\0\0\0\0\0\0\0ÉV%\0\0\0sBIT|dˆ\0\0\0	pHYs\0\0\r×\0\0\r×B(›x\0\0\0tEXtSoftware\0www.inkscape.org›î<\0\0IDAT(‘U“_h[uÇ?÷woîMÒ65K·el]¡+³Ôa[uõOE\
"›>D܆Pçd0†ž§‚/V‹Ó—ŸXAa„Õ)Œá°CtƒiíÃÌ÷ßn7ÓUãÖ$mº&Mn’Þ{ׇ;kwàÀápŸçßsŸŠëº¬Ž\'?êì7C•—jZ­ÛòÙëÔ¢–	T ëuÅà—Ž\\;»zVùÜwxGän{f4Û3¿¿×wiIœšƒ/ã“/®ÿæÑ¿Ú^;yÆ^÷œœ#’êùûjá‰b³ÐB\0H["—%vÕÆ1ì¬ÍÆkÑ?»RÛ¶Ž <ã\
€ÙÖ\\b±«Ð¬*Z@C«{ A\rÕPQu%¯3εÝjL \0ÛßïÞ•íš{Yh¡T¿úPè  yŽ™ÉŸ\'éï œéÞ«œ¯?û”(‰Òa+dE((BAhÂc3TÍëÕ^Ob0 a”­2K­%uÎÍ Uµ-žàº.žx"-KÀ«Åž`ß–}Äzbôíécz÷4Pš­Âª³¢Ò‘ȲÄ9îàÔlÓÆ6m¬i‹öÚbðãA.w\\Fnð/7XQA	GZ’Ч!úÍ~ôa»lcm"G"œ9ÅÄù	ŽÝ<†ùŒ‰ëx§ULEšáí o.5”"-ã-œ>~š@6@òë$Ÿ>Ž<JÓš&âq²³8–ƒŽ<æÈõpZý)”[ï<‡H\'\0˜IÏÐë% ‘~# tŒgR!X€Žõ÷ÖŸ—»™¡Øœ€Žý2FðÝ #Ž\0pè C܈ÝÀ©wp*<øäŠdÄõçüŸš3SéÙ/?í˜oYØVÙ\\ávê6XŒ¿Èð•a\
ÏVÔ̈þžîÛÉSCŠëºÄ÷îT& ©[ÿôζÕB5Â?…1Š2oe@ùßuwƒDήI·º›»\'Î%ó+ƈïÝ©ýQN ˜{<ÿJ᱂°TTd˜:\r¿6ž \\\
}¿©qÃþ‰sÉüC®Z±äÓ /VÕêþêÚjg-hEõûŸœžÓ¯êøŸûíÊï_­žý\'ži ~é&\0\0\0\0IEND®B`‚'e["icons/status_away.png"]='‰PNG\r\
\
\0\0\0\rIHDR\0\0\0\0\0\0\0\0\0ÉV%\0\0\0sBIT|dˆ\0\0\0	pHYs\0\0\r×\0\0\r×B(›x\0\0\0tEXtSoftware\0www.inkscape.org›î<\0\01IDAT(‘UÓ_L•u\0Æñïû{ßóŸçQáDš	atÜÌåÔŒp–XºHñg±þ\\°èŠ5‡µa«ÉVmý™Ú…EKŽéE.Bm,\'¹ »HË)” àˆ‡žÃ9ïyÏû{] Œžëçs÷<šRŠ¹9üæã/‡üÙ*¿æ¬ênA<¥ÆŠ]ý ˜mÛóù¥³s»Ú=Œ»nSžlqâèÓË2ÛüŠÐ\0”tñ²žc3wœ³·r¿íI–ŒpêÄwï®Û~¶xâry‰¶T˜šn0‹i§‘éiîÄü8œ×.ùpäÔ‰3J\0<šúªŒX-V\0=0}Þ|ô`º?ˆ°Óbø®`Ç7AŠ}±Òm\0âÀ®²m‹ÒÛ5Ç0M„Àä sf ÏDjü”K×Å+ŽÜXΚœ‘ ¯<_þš0UzW8à	„@:ša ü~tË fhB§©Ã¡áýf,ËÂÍ€X»(©[™Ø>c ‘y¥@y(Ï)ñ”BIÉéß,Y³“ueëy©z3o¯$胰‘Z&ò,·PII*åÐòC™±‘©$2 dðŸIÚ{CŒñÖ»|ÜÔÈS¡«”†<\0²…"™r¥ç:ìïpˆ.¬€éd™J I$x§-ÉÁæ6~ŸÐÅà/ÇÙ±QÒ`ÊÖ„1>­EÇbé…}t~x ֣͌wòžÒšß{×uù€ñ5ŽT%ð%%\0·ÓŸš³}ùf&òâòöÔ¿ÊGŸ¶Ðª`xèë7<IMÕì«Gw3HÇ@* ;0 ‡K"†ˆ×U¥Dtd ï/þM}C#6nfoÃël	^`E( —±á¿5¿‘¯º£yõzï_C£‡ŸüzÅcyã+WæÛô÷Ñum‚ødœ¡sxî¡ITÖfà`2À×\
Ú{~œŸ_SJQ]³U+²¯÷ÕFFKû3»šGÏ°Å‘gƘYùLzãA>û=4­>ßÙ›=FuÍVCÜh«Œ?¶£bÉ”°4CÌ É¬ÉwýóUûͧýáûjÏwvÇþ÷ª{Y[¶ªÒ ]û@Žœ*×ÌŽNûnߌk^–Â×qåRoëÜî¿,3v„ÿ,j”\0\0\0\0IEND®B`‚'e["icons/status_xa.png"]="‰PNG\r\
\
\0\0\0\rIHDR\0\0\0\0\0\0\0\0\0ÉV%\0\0\0sBIT|dˆ\0\0\0	pHYs\0\0\r×\0\0\r×B(›x\0\0\0tEXtSoftware\0www.inkscape.org›î<\0\07IDAT(‘U“mLUu\0ÆçÜsÏ=—s¹7Œˆ£Lo»CØ‚•²jm\ržÈIlB «hœžÖÚüЋ¥sE«Š®üÐzq±”µImI‹,m ®(6³)|P,¯Ø.÷õÜóòïƒéðùüûíùðì‘„,Ïž†ð6¿‘ivFµjYEq”hFñü÷æêûý»å¬tCîmÞ¬ŒE?¯KýÛ€IH mLÃÁÈÚDm·3ŸrÕÑ™PyÇàÀ uSîmÚ¬‹^š¬µ—JUMÆ¥È\0XŠCÎp˜OšìKkô€—-,ž>_SU180$d€²ØÜ'Ìx逌hº‚îSÈÓTÍÅ>u‘ÝoÓ_PDÝßÿ”¯87s@~µ¡ºiÃÒµÈ/Ž›©ÊM4ïÞÏŽšË#ãñºø8«Ó¹k/ OtÕýä$XéÊ–Ž‡ëk%•|!àXòPÎKW€…Š–6ÊÖ…x¶sõbžüG£uk;/?µ ÖØetJâ	—˜‹œ%{³F™°÷¶ã};yó•—Xº‡/Ž !ŸäõŸ÷8BöÄaaÂÿãø’éµÒ ŠâD­•ðé>7^Ÿ‹Ó¶‡áÂ*>üò+ü~?±XŒÆš{y_Ž“IX€’&¹¬ÃØíEq9ic›9‡œacdêdƒôÅi¢Ñ(\0Á` ®çvp \0†å`›×«Ó’$»jƒ ž5©T	„€O\r‘7Þá M\rŒØÓ…at=ý P%ïþp’»âx€É‚Y%®j3ÙŒ]pÚñ ·µÑºµ Ï~DÞÏßóÓÉa&FFسÿ\0wÿ‘æúzvÎÇXÔœ3R䡺šû§þ¯L'\\»+ùzâ‹Œ¶¹‘ç“×°L‡3šüZU Šë”ŽŽ’Î÷Š±ÒÕÍ’‚Çá#›ÏN·ge‡þ»Ê‘\\2œ§Q m	,K2²LŸæ¡MÉ7§Î^hQ\0ŒÐÚŽc£æÁÙ+åÛÎ_ ÁõEŒe'(.çi-\\1«–m¿å­í JöÜÌáðÕXÛú…ž¬šÖM1íQ䋉ÿ±ü;VwŸ>»EŸ‘šû *™lwQ:öæÌâEÕ=wUU'…æþvê·?û—³ÿêh°ðj­â\0\0\0\0IEND®B`‚"e["icons/status_dnd.png"]="‰PNG\r\
\
\0\0\0\rIHDR\0\0\0\0\0\0\0\0\0ÉV%\0\0\0sBIT|dˆ\0\0\0	pHYs\0\0\r×\0\0\r×B(›x\0\0\0tEXtSoftware\0www.inkscape.org›î<\0\0³IDAT(‘}“Ík\\UÆçÜsîÜ;IBjš\"’–Ñ2hƒÐèRLÀ M[pQ芋ÿ‚WnDtUQ(ÔnZ*6‚]T„\
íªP-šlL-IÈ$™š™¹wÎÇëâšš øÀ wñþ^xž£D„ úð•Æ;{Êî¬-ËçSïGZ˜å®©ýÔÊëŸôý _ïÜUÛðéÙ£ÃÏ6—?›j¯Íd\
%!®Œ”E`9Øxû‰}W'žžzyÞ?†OÏžZþãî‹áÑxši£ð.Ò+#EÇÓi:mÏ·{G~;òÜ¡«—çÅ\0h®^xÁµÆk}†¬ž`m»^D©@‚w‚ë)Šþ|xp­ž_Ž'þæµ™—7~0XS*¯'ä}†zÝ`Óê@ŒBð‚÷ïï\"v«|æ“_ÎÓÞ:;œÖÚ¢…1šZž RÙÖZ¡5(­P\
”‚±Ö_‰¬6Ï™Œ(Üé\
7Ô\0i¡©­+R£1JÐ1A	1DåiŽWéßêL˜>çF—bÂ{s˜žžÆ9‡sïýfï=Ÿž?ÏÆÜ=7j¶!!ƈµk-ÿ§è(¥ÍŠJVj¥<wö]>Î3Ž”Bˆ DADˆÖšëœZ©]1­4[œí¹C¯®/‘Ö4Æj’D!@‚ëUY—Ý@·ã š›}ùb²ÿðÓ÷³æ£SC BÇPµªÊŽ‚zE ,EØnòwûöÊýá¡÷•ˆpŒ1ùÅ÷Že:’]Yß•ñ¿ý_«ç\\|jìÚ­{¿¿©Êɉ×'ÆÖ“ô{Õ+‹ž|Ð_çÊÈðR:6rj×ÇxëØëŠøuñRc¥ùöá –N uj)·äÎОëOî?yó›[Í]𶎌ÔxÍt‹“# ¢‘÷ÜèfjWWÒô®dö«ŸøåâÎÝ¿(çyÞRiû\0\0\0\0IEND®B`‚"e["icons/status_chat.png"]='‰PNG\r\
\
\0\0\0\rIHDR\0\0\0\0\0\0\0\0\0ÉV%\0\0\0sBIT|dˆ\0\0\0	pHYs\0\0\r×\0\0\r×B(›x\0\0\0tEXtSoftware\0www.inkscape.org›î<\0\0IDAT(‘UÓLÔuÇñççsßû!ÊáÂÝDð`sš­qŠY:3©deSË­Øì‡1×ýã¥5d•-ÿš›mâfÌrㇶ6;f-oÓÚZs؈X6`LÔŽ»ïîîŸïþ¢àù÷ëñçK‰‹k?·ëP‰Wít:r5cŸ0:™Ÿ75m\rLÆŒPó±¿/ÞªüÞñzïã[Œ/¶=‘ÿŒÓá@ 4"ÓXb24œÌ~¶ŸûäÄŸo/ÁÇŽ×{_h°ÿúhõ*¿Rn”r"),I Ö$Ñè3©=]}8²@ÔmâÓ@õJ¿ÒŽ.Fk/Zûк­<€›–-Ínöï o:ðêÆÏ\0Ôç­Ûw¿Ž//ü gµMk6íE) ŲbXÖ}NŸŸÁ†\rï`"‘&ü•¹ô¥o++tyYîÅ•†Ma p\0Ëк¥\
PÊEœhŽŠ††œôövñìsiêw%]éÙD³a·gkÁBÈY ƒe% ,Éä§NÝŠ³óGº{ŸbuéoÔÔXˆd(-ÍÔ+–gÊE2tw P\\<Mý3N”ÌG þÀÉ“g¥7¢ý¬ ËÍà-I—33ssãã&ׯ— ŸoCé?xzgçϱcÇ+¬YSÆ˶ÑÖf ’\0Ò\0˜	ÚLdïD"	jk·sæÌŸ¿bÐÞþß"|“#Gæp»g™,,K1q×yGÏŠÔ̓gëàòåZ[/‹Õ\
uÐÙÙÁZÿ  @\
ËJ 2À­¡Ü   àûuŸÈµ¢”™X%‡WÊÕ«a’ÆÆu’H–‰™ðHÜT7‘ž‰j*ÊjÞ ˆÐòÑúÐýZ&cyòÚëå‰\\‘={‘¿Ç$nºþCqéê. uë×~-" "ˆœð÷ÝþË.ÿD‘}û‹ä§Ÿõ7‘žKnÙ²Õ7úäSuÞ%XDx£©ªíâ7žù{lKÐÀ`žß-”ª åá("ÿ¿j¡Í[,Ï›\rVTÌV/se}£cöØȈíŠaw^ì¿õåâí¿Žb—@0ø3\0\0\0\0IEND®B`‚'e["icons/status_offline.png"]="‰PNG\r\
\
\0\0\0\rIHDR\0\0\0\0\0\0\0\0\0ÉV%\0\0\0sBIT|dˆ\0\0\0	pHYs\0\0\r×\0\0\r×B(›x\0\0\0tEXtSoftware\0www.inkscape.org›î<\0\0IDAT(‘U“ÍKcgÅ÷^ïÍÕ\\“˜[;‚ºšSÁAp”)t£mšL)3V,dpŠì”`6¡ˆ‚·]ø/BA¡2”JAŠP”®º(ŠÒøµiÚNÒšdD'~Nr?Þ·«XçÀÙ ³ù=ÏQ€”\\×_?V•š„ìAQÞv§ ù» þüâÓ埮g•jùÁçC¶iç¢aûŸŠÕ(\0B<ÏÃu].//ÄéÅ«T]>Z~öÜP«EËo5Fo˜f­šÚ0\0öööÕP0wËrÿ³á{ÊUÙÐßFÂÑÖƒƒ6660Ó41]×ÙÙÙ!•J‘ÉdÞœ<«<P>Žß¯F>Íçó˜ŠÉØØ«««H)Ñu t:Íøø8###8Žƒïû˜F0>0ôñ{5žë­ë†šÉd˜œœdpp öövFGG±m›îînâñ8©TŠææft]GJ©—ŸQ”›\0±XŒùùyŠŠŠèèè`ee…žžŠ§§YZZbŸÆÆÆÿI£Ž)ÃœÙÑF«\
(ŸÏszzÊÜÜ¡Pˆ££#z{{‰ÅbT*Êå2žçñêäèDuÇ÷<ïê$MMM‹E\
…\0¶m“L&ÙÞÞÆó<„\0x®«jm7ßùªÖ¬³€”ìîî’J¥èëë#™LR©TH$Ž¶¶²°°€eYhšÆÉi)§úÒËž®‹ã8d³YºººˆÇãÌÎÎ’Íf™™™abb‚þþ~ÙÜÜÄu]|áe”»÷>ŒЬß¡ˆ¶ŸŸÎÚÚ¥R‰D\"Agg'ŸïS,‘RRWWG©TUÊ“³ãEJÉGw?øÞŽÜö< \\.‡ªªŽµµ¡iŸï#„àüüß÷©­3yñÏ_?n­§‡T€pÔztx\\øCQ ¥¥Û¶Bàºî ˲^äþÎEêWï¹üì¹lx«þVáðߥ×åaYÁ7–&„ÏËÂü3›Y‰D­ž_~þõè UUuçýÛŸ_<1ŒÀmU©irÝÊËrùõ–Z£®€7÷Ÿ»žý©°g®Á‘‰D\0\0\0\0IEND®B`‚"function require_resource(r)return e[r]or error("resource '"..tostring(r).."' not found");end end local s=require"util.jid".prepped_split;if not require_resource then
function require_resource(e)local r=io.open((config.get("*","core","presence_icons")or"")..e);if r then
return r:read("*a");end
module:log("warn","Failed to open image file %s",(config.get("*","core","presence_icons")or"")..e);return"";end
end
local e={status="404 Not Found",body="<h1>Page Not Found</h1>Sorry, we couldn't find what you were looking for :("};local n={"online","away","xa","dnd","chat","offline"};for r,e in ipairs(n)do
n[e]={status="200 OK",headers={["Content-Type"]="image/png"},body=require_resource("icons/status_"..e..".png")};end
local function t(e,e,o)local e=o.url.path:match("[^/]+$");if e then
local r,e=s(e);if e and not r then
r,e=e,o.headers.host;if e then e=e:gsub(":%d+$","");end
end
if r and e then
local e=hosts[e]and hosts[e].sessions[r];if e then
local e=e.top_resources[1];if e and e.presence then
e=e.presence:child_with_name("show");if not e then
e="online";else
e=e:get_text();end
return n[e];end
end
end
end
return n.offline;end
local e=config.get(module.host,"core","http_ports")or{5280};require"net.httpserver".new_from_config(e,"status",t);

Car mon éditeur de texte gedit ne me sort rien de comparable et même en console, un cat file.png ne me donne rien d'exploitable...
Je suis sous Ubuntu

Re: Icones du service presence dispo pour d'autre serveur ?

Sûrement à cause des caractères non imprimables et compagnie. Emacs par exemple m'affiche bien le même contenu quand je regarde le png directement, ou dans le .lua.

Par contre, tu ne dois pas modifier ce fichier à la main. Si tu regardes le fichier squishy, tu verras que c'est en passant par lui que le fichier mod_webpresence.lua est généré. Il va mixer le contenu des png avec le fichier mod_webpresence.in.lua.

Il va donc te falloir regénérer le fichier mod_weppresence.lua via le fichier squishy. Cela se fait grâce au logiciel squish que tu peux récupérer à cette adresse : http://matthewwild.co.uk/projects/squish/home

Re: Icones du service presence dispo pour d'autre serveur ?

ok merci je vais voir ça smile