Skip navigation

Bon, avant d’attaquer le travail collaboratif avec screen, dans un article à venir, et parceque ces deux logiciels sont quasi inséparables, je vais vous parler d’un client IRC assez génial, et surtout très « customisable » (non, ce n’est pas du tuning) : irssi. Mais avant tout, un peu d’histoire pour les (rares, j’ose espérer) lecteurs qui ne sauraient pas ce qu’est IRC.

I – Internet Relay Chat : Connecting people since 1988.

Au tout début du Net, pour communiquer sur des sujets aussi variés que la physique quantique ou le basket moldave (en tongs), Usenet était de rigueur. Usenet c’est bien, c’est fantastique même, ça existe depuis 1979, mais autant c’est pratique pour des discussions « longues », autant pour discuter « rapidement » c’est pas top :

« Salut, ça va aujourd’hui? » ; « Ouais, je viens de finir mon café »… etc. On imagine mal ce genre de discussion sur Usenet. Primo, il faut poster (et il y a des règles pour ça, donc le « salut ça va » n’a pas vraiment sa place sur les newsgroups), rafraîchir le groupe en attendant qu’une personne daigne bien répondre (et répondre un truc intéressant…), etc.

C’est un très bon système pour développer des argumentaires, mais ce n’est pas vraiment « temps réel » (IRC non plus, mais ça s’en rapproche déjà plus) ni très convivial pour une « discussion de tous les jours » (d’ailleurs c’est plutôt prohibé sur Usenet).

C’est là qu’intervient IRC, protocole crée en 1988 par Jarko Oikarinen, RFC 1459.

IRC permet de se connecter à un serveur, ou un réseau de serveurs (par exemple, freenode, DALnet, OFTC, Rizon, undernet, galaxynet, worldnet (tout petit lui)), sur lequel se trouvent des canaux, chaque canal étant en général dédié à un sujet particulier (mais pas forcément), par exemple, #linux, #archlinux, #debian-fr, #windows #masochiste, #jaimelesfrites… Il y a en général plusieurs milliers de canaux par réseau, du plus intéressant au complètement anodin, en passant par les plus tordus, malheureusement, mais bon, vous êtes prévenus.

L’avantage, c’est que lorsque vous vous connectez à un canal, vous êtes mis en relation avec toutes les personnes connectées sur ce canal (vous pouvez aussi créer le votre, etc etc), et pouvez donc discuter avec toutes ces personnes autour du sujet du canal.

Par exemple, vous avez un problème avec votre distribution Debian, ou vous voulez demander quelques éclaircissement sur une option de configuration de ce système, vous pouvez vous connecter sur #debian-fr sur le réseau OFTC, et gentiment poser votre question, en général quelqu’un vous répondra. N’oubliez cependant pas que les règles de la netiquette sont de mise : on ne floode pas, on ne répète pas sa question 36 fois, on essaye de chercher avant de poser une question, on évite le SMS, les insultes et autres joyeusetés.

C’est aussi très pratique pour rester en contact avec ses amis, et en plus, ce qui ne gâche rien, IRC est un protocole très léger et économe en bande passante.

II – Bon c’est bien gentil tout ça, mais Irssi dans tout ça?

Eh bien irssi est un client IRC, qui permet donc de se connecter à un serveur (ou plusieurs, hein), en console (bah tiens, on est un geek ou on ne l’est pas!).

Au début, irssi, sans plugin, sans rien, c’est assez vide (et flippant) :

bouh, on voit rien, qu’est ce que c’est que ce merdier?

Bin ouais, d’abord il faut se connecter à un serveur, par exemple freenode.

Pour cela on utilise la commande :

/connect irc.freenode.net

On peut aussi utiliser la commande /server, mais il vaut mieux l’utiliser de cette façon, pour se connecter automatiquement au réseau choisi au démarrage d’irssi :

/server add -auto irc.freenode.net

Toutes les commandes IRC sont précédées du caractère / – c’est dans la RFC

Si vous avez besoin d’en savoir plus sur la commande server, vous pouvez taper /help server.

c’est bien beau tout ça, mais maintenant il faudrait rejoindre un canal IRC, non?

/join #nom_du_canal

la commande /channel permet, elle, de faire « comme » avec la commande /server :

/channel add -auto #nom_du_canal

Si vous êtes connecté à plusieurs serveurs, le fait de revenir à la fenêtre de status (numéro 1, Alt-1 pour y accéder, ctrl-n et ctrl-p vous permettant de passer d’un onglet à un autre, Alt-1…0/a…n permettant lui de passer directement au canal 1…0 ou a…n (avec le plugin adv_windowlist.pl, j’y reviens dans 5 secondes), et de faire Ctrl-x permet de cycler entre les serveurs auxquels vous êtes connectés.

Si vous voulez discuter avec quelqu’un en privé, vous pouvez utiliser la commande:

/query pseudo

ou plus simplement:

/q pseudo

Bon, je ne vais pas non plus vous faire un cours sur IRC complet, il y a déjà pleins de sites sympas sur le net à ce sujet, stfg, d’abord (et je suis pas sympa 🙂 ). Bon, d’accord, je le rajoute à ma todo list pour un prochain article…

Il y a aussi beaucoup de commandes spécifiques à irssi, par exemple :

/exec commande

Vous retourne dans la fenêtre courante le résultat de la commande, par exemple uname -a. Pour l’envoyer directement au canal courant (attention, allez pas faire un more /etc/X11/xorg.conf directement dans un canal, certaines personnes risqueraient (à juste titre!) de vous en vouloir, mais ça peut être utile en privé (/query)) :

/exec -o commande

Ce serait un peu long de vous faire tout un speech sur toutes les commandes internes d’irssi, aussi, n’hésitez pas à taper /help puis /help commande_irssi pour avoir plus de détails…

On va maintenant passer à la personnalisation d’irssi.

III – Personnaliser Irssi – parceque les plugins (et les thèmes) saylebien. (et qu’irssi sans rien, bin… c’est quand même pas très pratique)

Bon, je ne vais pas y aller par quatre chemins, les possibilités de personnalisation d’irssi sont assez énormes (ça se voit bien, là?), que ce soit au niveau des différents thèmes disponibles que des scripts permettant d’étendre ses fonctionnalités.

On va commencer par les thèmes, parceque :

le bleu fluo, c’est moche!

Je ne sais pas pour vous, mais ça me rappelle Windows. Et depuis que j’ai été traumatisé en 1995 par ses couleurs bleuâtres, je suis allergique au bleu. Même au ciel bleu. Le bleu c’est moche, na. Enfin pas tous les bleus, le bleu « Zenburn » du screenshot précédent m’est supportable. C’est le bleu « bleu » de base que j’abhorre. Enfin bon, je ne vais pas vous faire un cours sur ma théorie du bleu (ah bin si en fait, c’est fait), mais c’est quand même mieux d’avoir un thème qui soit en accord avec les couleurs de votre terminal préféré, en accord avec les couleurs de votre gestionnaire de fenêtres préféré, en accord avec les couleurs de votre éditeur de texte préféré, en accord avec… Bon j’arrête la liste.

Tout d’abord, comment on fait pour changer de thème ?

On peut s’en faire un soi-même, ou aller fouiller sur cette page :

http://irssi.org/themes

Page qui regorge de thèmes intéressants.

Vous en repérez un qui vous plaît, vous le téléchargez, le copiez dans votre répertoire ~/.irssi ; c’est bien joli, mais maintenant, comment j’applique ce thème (et surtout comment je fais pour qu’irssi s’en rappelle à chaque lancement)?

La réponse est simple :

/set theme nom_du_thème

Ensuite, tapez /save pour sauvegarder vos préférences (ça vaut aussi pour les serveurs et canaux en connexion automatique…) et /layout save, pour la disposition des fenêtres (on y revient) et canaux.

Bon, les thèmes, c’est fait, n’hésitez pas à en ouvrir un dans votre éditeur de texte préféré pour le modifier à votre convenance, à en essayer plusieurs, etc.

Maintenant, les scripts. Alors au début, si vous avez essayé un peu irssi, vous avez dû vous rendre compte de deux choses:

  • Il n’y a pas de liste des pseudos « comme avec XChat ».
  • La barre de statut en bas est on ne peut plus limitée (pas de liste des canaux, pas de hilight…)
  • Une fenêtre de hilight serait sympa. En gros une fenêtre où s’inscrit toutes les phrases où votre pseudo est mentionné, ou certains mots-clef.

Tout d’abord, vous pouvez télécharger des tonnes de scripts sur http://scripts.irssi.org/

Bon, y’en a des pratiques, et des complètements nazes aussi… faut tester 🙂

Une fois le script téléchargé, vous pouvez le placer dans ~/.irssi/scripts/ pour le lancer avec la commande :

/script load mon_script.pl (oui, ils sont en perl)

Si vous voulez qu’il soit chargé à chaque lancement d’irssi, alors placez le dans ~/.irssi/scripts/autorun/ .

Ce qui va suivre va vous permettre d’obtenir une configuration semblable à la mienne :

En gros, vous aurez une fenêtre de hilight en haut, une statusbar plus complète, et la liste des pseudos à droite.

Pour celà, téléchargez les plugins suivants :

Placez les dans votre répertoire ~/.irssi/scripts/autorun/

adv_windowlist.pl ne requiert pas de réglage spécifique, il marche tout de suite (cool)

pour nicklist, même en autorun, vous devrez rentrer la commande :

/nicklist screen

Attention : pour utiliser nicklist, irssi doit être lancé dans screen!

à chaque démarrage d’irssi, pour avoir la liste des pseudos sur le même terminal qu’irssi, sinon, il l’exporte dans un autre terminal. Va comprendre, Charles.

Pour hilightwin, c’est un peu plus rigolo:

Primo, avec la commande :

/hilight mon_pseudo

Toute mention de la chaîne de caractère mon_pseudo sur un des canaux où vous êtes connecté lancera hilight. Aucun intérêt pour le moment.

Maintenant, avec par exemple les commandes :

/window new split

/window name hilight

/window size 6

/layout save – pour sauvegarder le layout, on a pas envie de le retaper à chaque fois 🙂

Vous aurez une jolie fenêtre de 6 lignes en haut de votre irssi, affichant :

le canal, le pseudo, et la phrase de la personne ayant tapé mon_pseudo.

Toujours pratique, surtout quand on est sur pas mal de canaux en même temps 🙂

Vali Valou, c’est tout pour aujourd’hui, avec ça vous devriez pouvoir commencer à vous débrouiller avec irssi!

Prochain article : les gestionnaires de fenêtres en mode « tiling ». Ça, ça va être fun 🙂

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

What is 12 + 11 ?
Please leave these two fields as-is: