D'IRC à Jabber avec Poezio

C'est toujours un grand moment, l'annonce de la sortie de la première version stable d'un projet, même si, au final, personne ne va l'utiliser.

Donc, aujourd'hui, je vous présente mon nouveau projet, qui vient tout juste de sortir sa première version stable (ou qui essaye de l'être) : Poezio.

Le logo de poezio

Le logo de Poezio

Poezio est un client Jabber Libre, en console, qui a pour but d'être utilisé de la même façon qu'un client IRC (principalement weechat ou irssi, tous deux des clients en console très populaires).

Pourquoi vouloir faire un client à la IRC ? Parce que certaines personnes reprochent (injustement, mais c'est pas grave) à Jabber de pas faire assez « Geek » (certainement à cause du fait que la grande majorité des clients sont des clients graphiques, comme Gajim, Pidgin, Psi etc) ou de pas être assez anonyme (il faut se créer un compte). J'ai donc décidé de faire un client qui permettrait de rejoindre les salons jabber tout en l'utilisant comme si c'était un simple client IRC.

Ainsi, Poezio ne gère pas les contacts, ni même la création ou l'utilisation d'un compte enregistré. Il se connecte en fait en utilisant l'authentification anonyme (pas besoin d'entrer d'identifiant ni de mot de passe, donc) et vous permet ensuite de rejoindre les différents salons de discussion.

Habituellement, les salons peuvent être enregistrés sur le serveur, afin de les rejoindre automatiquement lorsque vous vous connectez avec votre compte. Mais dans l'optique de faire un client-IRC-like, les marques-pages (les salons mémorisés) se trouvent en local, dans un fichier de configuration (c'est surtout parce qu'on n'utilise pas de compte donc on ne peut de toute façon pas les sauvegarder sur le serveur Jabber).

À l'utilisation, Poezio se rapproche également beaucoup d'un client IRC, notamment avec l'utilisation des commandes. Ainsi on retrouve les fameux /join /nick /part, etc (notez que la commande /connect n'existe pas, tout simplement parce que tous les serveurs Jabber sont interconnectés et vous pouvez donc vous connecter sur n'importe quel salon de n'importe quel serveur, quel que soit le serveur que vous utilisez).

Cette version est (comme dit plus haut) la toute première que je sors, et il ne faut donc pas s'attendre à un truc vraiment stable : c'est surtout pour tenter de recueillir des avis (même si, comme pour Ludimagia, je suppose que j'en aurai environ 2 : les avis de mathieui et les miens.) et de trouver des bugs. Cependant, même si c'est certainement pas très stable, je l'utilise très bien sans rencontrer de soucis (mais comme toujours, les logiciels marchent parfaitement avec ceux qui les créent, vu qu'ils gèrent tous les cas qu'ils sont susceptibles de rencontrer, mais ils ne pensent pas forcément aux utilisations farfelues des autres utilisateurs).

Donc, cette version, la 0.5, peut être téléchargée sur codingteam.net.

Pour l'utiliser, c'est simple :

Si c'est la première fois que vous l'utilisez, éditez le fichier de configuration dans data/default_config.cfg. Vous pouvez par exemple y lister les salons que vous souhaitez rejoindre, votre nick par défaut, etc.

Tapez make pour « compiler » la librairie xmpppy.

Puis lancez poezio avec ./launch.sh

Vous pouvez également l'installer avec make install (en root).

Voici ce que ça donne, une fois lancé Voici ce que ça donne, une fois lancé Allez, pour le fun, une liste de fonctionnalités (totalement triviale et indispensable pour un logiciel de messagerie instantanée, mais bon):

  • Bookmark des salons facilement, avec un pseudo associé, ou pas. (/help bookmark)
  • Visualisation des rôles des personnes présentes dans le salon par couleur (rouge = Modérateur, bleu = participant)
  • Gestion des statuts : changement de statut ainsi que de message de statut et affichage d'un message quand un participant d'un salon en change. (/help show)
  • Possibilité d'être dans plusieurs salons à la fois. On change de salon avec F5 ou F6, /next ou /prev, Ctrl+droite ou Ctrl+gauche (ces deux dernières solutions ne fonctionnent pas sur certains terminaux…)
  • Coloration des pseudonymes (lorsqu'ils parlent) avec une couleur qui leur est propre, pour faciliter la différenciation des participants

Ce qu'il manque mais qui viendra plus tard : les discussions en privé, les commandes telles que /kick, /whois (ou /vcard), un avatar (qu'on ne pourra pas voir, mais les autres le verront s'ils utilisent un client graphique) et plus généralement une Vcard, des couleurs dans la liste de contact selon le statut des gens, etc.

Voilà, donc n'hésitez pas à le tester si vous êtes intéressés, et à rapporter des commentaires (ou des rapports de bugs) sur le gestionnaire d'anomalies (ou même des demandes de fonctionnalités), ou sur le forum ou encore sur le salon jabber (poezio@conference.codingteam.net).

Ah, et si vous comprenez bien l'anglais et que vous parlez une langue étrangère, vous pouvez aussi participer à la traduction de Poezio (si vous souhaitez traduire dans une langue qui n'est pas listée, demandez-moi).

Ensuite, les remerciements : xbright pour l'hébergement sur codingteam.net (encore) ainsi que pour des bouts de codes tirés de Gtkabber (que j'utilise plus ou moins au final), et Gaëtan Ribémont pour le superbe Logo (sous licence Libre CC by).