URL: https://linuxfr.org/users/errtu/journaux/irssi-xmpp-un-nouveau-module-jabber-pour-irssi Title: irssi-xmpp: un nouveau module jabber pour irssi Authors: ErrTu Date: 2007年08月07日T22:58:20+02:00 Tags: Score: 0 Il existe de nombreuses façons de se connecter au réseau jabber[1] avec irssi[2]. Parmi celles-ci on retrouve : bitlbee[3] (une passerelle de messagerie instantanée qui permet de se connecter depuis n'importe quel client IRC), irssi-jabber[4] (un module irssi pour se connecter au réseau jabber), gc[5] (un script perl pour irssi permettant de se connecter aux salons de discussions de jabber), PSYC[6] et sûrement d'autres manières que je n'ai pas encore découvertes... Jusqu'à présent j'utilisais bitlbee mais je voulais quelque chose dans irssi qui ne se connecte qu'à jabber, qui prend en charge tout ou une grande partie du protocole XMPP[7] (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[8] ! Le module s'appuie sur la bibliothèque loudmouth[9], écrite en C avec Glib, 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 pas la même occasion la première version publique est la 0.10. Au programme, la base de la base : - 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) Je développe activement le module donc vous devriez voir arriver dans les semaines à venir les fonctions suivantes : - l'ajout/suppression de contacts - l'utilisation complète de l'infrastructure de thème d'irssi pour l'affichage des messages (ce qui n'est pas entièrement le cas en ce moment) et utiliser un niveau de message particulier pour tout ce qui concerne l'état des contacts (ainsi on pourra afficher les changements d'état et la liste des contacts dans une fenêtre dédiée) - la possibilité de configurer le module en utilisant l'infrastructure de configuration d'irssi (globalement on pourra : afficher ou non les contacts déconnectés, afficher ou non les changements d'états et les connexions/déconnexions, envoyer ou non les informations concernant notre client, ...) - l'affichage des informations des contacts - la possibilité de modifier ses informations personnelles - la gestion des groupes et des pseudonymes dans la liste des contacts - les connexions chiffrées avec SSL - la prise en charge des proxys - la possibilité d'utiliser les MUC (les salons de discussions) - l'exploration des services des serveurs jabber - l'inscription à des services - ... Je vous invite donc à aller régulièrement jeter un coup d'oeil à l'adresse suivante pour les mises à jour : [http://cybione.org/src/irssi-xmpp/](http://cybione.org/src/irssi-xmpp/) Pour installer la bestiole, il vous faut irssi et loudmouth d'installés. Il vous faut aussi les sources d'irssi (enfin surtout les fichiers d'entêtes). Je ne touche pas aux autotools et à ce genre de choses ; la procédure d'installation est assez simple : $ export IRSSI_INCLUDES=/le/chemin/vers/les/sources/d'/irssi $ make et enfin pour installer le module dans votre ~/.irssi/modules : $ make user-install Si tout c'est bien passé, vous pouvez lancer irssi et taper la commande suivante pour charger le module : /load xmpp Ensuite pour se connecter : /server -xmppnet Par exemple : /server -xmppnet jabber im.cybione.org 5222 motdepasse errtu Et avec un peu de chance, vous voilà connecté ! Enfin vous pouvez afficher la liste de vos contacts : /roster Parler avec quelqu'un : /q / Par exemple : /q errtu@im.cybione.org/Home Et changer d'état : /away indisponnible La commande away est un peu plus puissante que d'habitude car elle vous permet de changer la petite icône sur un client graphique, par exemple : - Pour se mettre "Absent" : /away - Pour se mettre en "Veut discuter" : /away chat - Pour se mettre en "Ne pas déranger" (occupé) : /away dnd - Pour se mettre en "Non disponible" : /away xa - Pour redevenir disponible : /away Dans tous les cas, sauf le premier, le message est facultatif. Pour le moment, c'est rudimentaire mais presque suffisant pour une utilisation de base. Au passage, le module a été programmé et testé sous OpenBSD amd64. Je vous invite à laisser vos impressions/commentaires/insultes/rapports de bugs/patchs/demandes de fonctionnalités soit directement sur ce journal soit par jabber : errtu@im.cybione.org (ah ben non, qu'est-ce que je raconte, je ne peux pas encore ajouter des nouveaux contacts donc je ne peux pas encore vous parler sur jabber). --- [1] [http://wiki.jabberfr.org/Accueil](http://wiki.jabberfr.org/Accueil) [2] [http://irssi.org/](http://irssi.org/) [3] [http://www.bitlbee.org/](http://www.bitlbee.org/) [4] [http://kalvdans.no-ip.org/trac/irssi-jabber](http://kalvdans.no-ip.org/trac/irssi-jabber) [5] [http://gonzo.kiev.ua/index.php?page_id=138](http://gonzo.kiev.ua/index.php?page_id=138) [6] [http://www.psyc.eu/](http://www.psyc.eu/) [7] [http://fr.wikipedia.org/wiki/XMPP](http://fr.wikipedia.org/wiki/XMPP) [8] [http://cybione.org/src/irssi-xmpp/](http://cybione.org/src/irssi-xmpp/) [9] [http://www.loudmouth-project.org/](http://www.loudmouth-project.org/)