Il existe de nombreuses façons de se connecter au réseau
Jabber avec
irssi. Parmi celles-ci on retrouve :
bitlbee (une passerelle de messagerie instantanée qui permet de se connecter depuis n'importe quel client IRC),
irssi-jabber (un module irssi pour se connecter au réseau Jabber),
gc (un script perl pour irssi permettant de se connecter aux salons de discussions de Jabber),
PSYC et sûrement d'autres manières que je n'ai pas encore découvertes...
Jusqu'à présent j'utilisais bitlbee mais je (
NdAMR : ErrTu, l'auteur
du journal d'origine) voulais quelque chose dans irssi qui ne se connecte qu'à Jabber, qui prend en charge tout ou une grande partie du protocole
XMPP (et de ses extensions incontournables) et qui le fasse bien. Hélas la plupart des autres solutions qui m'intéressaient ne sont ni complètes ni maintenues.
J'ai donc décidé de créer un nouveau module irssi pour se connecter au réseau Jabber en se basant sur le même principe que le module déjà existant irssi-jabber. Et après une petite semaine de développement, j'ai l'honneur de vous présenter irssi-xmpp !
Le module s'appuie sur la bibliothèque Loudmouth, écrite en C avec Glib, utilisée par
Gossip,
Inkscape et
Telepathy, qui se veut légère et facile à utiliser pour programmer toutes sortes de choses dans les limites du protocole XMPP. Et je dois dire qu'elle fait plutôt bien son boulot.
La version actuelle du module irssi-xmpp et par la même occasion la première version publique est la 0.10 (
NdAMR : et dans la foulée du journal, la 0.11). Au programme, la base de la base :
- Version 0.10 :
- la connexion aux serveurs Jabber (encore heureux) ;
- la discussion avec les contacts Jabber ;
- une liste des contacts avec un traçage complet des ressources et un tri des contacts (par état puis par pseudo/jid) ;
- la possibilité de changer son état ;
- l'envoi aux clients qui le demande de nos informations sur notre client (nom du client, version et système d'exploitation -> pas tout à fait le cas, je viens de m'apercevoir qu'"OpenBSD" est défini comme système d'exploitation en dur dans le module).
- Version 0.11 :
- L'autocomplétion des JID et aussi des ressources. La complétion des ressources n'est pas encore complète, pour l'avoir faut taper un truc du genre : /q foo@bar.bar/«TAB» (où «TAB» est l'appui sur la touche tabulation bien sûr) ;
- La possibilité de n'afficher que les contacts connectés avec : /SET roster_show_offline OFF ;
- La possibilité de ne pas envoyer les informations sur la version du client avec : /SET xmpp_send_version OFF
À l'occasion, le nom du système d'exploitation renvoyé est bien celui que vous utilisez. ;
- Le roster trie les contacts correctement.
Merci à
ErrTu pour
son journal.