IRC (Internet Relay Chat)

IRC (de l'anglais Internet Relay Chat, qui se traduirait en « Discussion Relayée sur Internet ») est un système de messagerie en temps réel sur Internet. Des dizaines de milliers d'utilisateurs partout dans le monde y sont connectés à tout moment, occupés à discuter dans des groupes qu'on appelle des channels.

IRC à l'ENS

L'ENS dispose d'un réseau IRC local (séparé du reste du réseau IRC).

Depuis les machines de l'école

Vous pouvez vous connecter directement au channel par défaut (#causeries) du serveur IRC avec la commande empathy-irc. Celle-ci lance le client Empathy avec la configuration qu'il faut.

Depuis l'extérieur de l'école, en passant par sas.eleves.ens.fr

Vous pouvez également vous connecter au channel par défaut depuis l'extérieur de l'école en ouvrant une session ssh vers sas.eleves.ens.fr et en lançant la commande irc. Celle-ci lance le client irssi avec la configuration qu'il faut. Pour quitter, faites Control-a, puis appuyez sur la touche d.

La commande irc utilise la commande screen pour que vous restiez connecté sur le canal en permanence et puissiez consulter les discussions qui ont eu lieu en votre absence (le backlog). Attention, si sas.eleves.ens.fr redémarre, vous serez déconnecté (vous serez reconnecté à la prochaine utilisation d'irc). La commande screen permet d'ouvrir plusieurs terminaux dans une même console et de détacher ces terminaux pour les reprendre ultérieurement. Ainsi, vous pouvez fermer votre session SSH en laissant tourner irssi et le récupérer à la connexion suivante. La commande Control-a puis d utilisée pour quitter est justement la commande pour détacher le screen, et le laisser pour le reprendre plus tard.

Avec votre propre client

Pour vous connecter au réseau IRC de l'ENS, il y a plusieurs possibilités :

clipper, port 6667
Uniquement accessible depuis l'intérieur de l'école
ulminfo.fr, port 6667
Accessible depuis l'extérieur de l'école, bloqué depuis l'intérieur de l'école.
ulminfo.fr, port 6666
Comme au-dessus, mais avec support SSL.
ulminfo.fr, port 3724
Accessible depuis l'extérieur de l'école, devrait fonctionner depuis l'intérieur de l'école.
ulminfo.fr, port 3725
Comme au-dessus, mais avec support SSL.

Théorie : Qu'est-ce que IRC ?

Type de discussions

IRC est un service de messages sur Internet. Sa principale différence avec des services comme le courier électronique ou les news de Usenet est que les conversations sur IRC se déroulent en temps réel. Vous envoyez un message, quelqu'un vous répond, et ainsi de suite, vous conversez avec d'autres utilisateurs. En ce sens, son fonctionnement ressemble à une conférence téléphonique : les messages ne sont pas sauvegardés après leur transmission (comme dans le talk).

Sur un réseau IRC (et il y en a plusieurs) il y a le plus souvent quelques dizaines de milliers d'utilisateurs simultanés. (Sur celui de l'ENS, évidemment, il y a moins de monde.) Chacun s'identifie par un surnom ou nickname ; vous choisissez votre nickname quand vous vous connectez à IRC, celui-ci sera refusé (et le système vous en demandera un autre) si quelqu'un d'autre est déjà en train d'utiliser le même.

Les conversations sur IRC se déroulent dans des groupes nommés channels, le principe étant que, quand vous rentrez dans un channel, vous voyez la discussion qui y a lieu, et vous pouvez y participer. Il est également possible d'envoyer des messages privés à destination d'un autre utilisateur, indépendamment de tout channel.

Tous les messages publiés dans un channel sont visibles par tous les utilisateurs ayant rejoint ce channel. Par contre, les messages privés ne sont visibles que par le destinataire, comme leur nom l'indique.

Les réseaux et les serveurs IRC

Il existe plusieurs réseaux IRC indépendants; chaque réseau se compose d'un certain nombre de serveurs connectés entre eux. Les nicknames et les channels sont globaux sur chaque réseau : vous n'avez pas besoin d'être connectés au même serveur IRC pour discuter avec quelqu'un, il vous faut juste être sur le même réseau.

Des réseaux IRC importants sont :

IRCnet
le réseau principal Européen ;
EFnet
le réseau principal Américain ;
Undernet
un réseau alternatif ;
DALnet
un autre réseau alternatif.
Freenode
un réseau populaire pour les développeurs et utilisateurs de logiciels libres. La plupart des logiciels libres y ont un chan dédié.
OFTC
un autre réseau populaire pour les développeurs et utilisateurs de logiciels libres.

Libre à vous de visiter les sites webs de chacun de ces réseaux pour avoir toutes les informations pour vous y connecter.

À l'École, pour différentes considérations de sécurité, l'accès à la plupart des réseaux IRC est bloqué. Il a existé à l'école un serveur IRC sur le quatramaran, mais il n'est plus en ligne. La commande qui -too irc permettait de savoir à peu près qui était connecté dessus. Il existe à présent un serveur IRC sur clipper, voir la section correspondante.

Utilisation d'IRC

Thunderbird

Irssi

Quelques commandes utiles, communes à tous les clients IRC

Voici quelques commandes courantes d'IRC. Les majuscules ne sont pas nécessaires.

/HELP demande de l'aide au programme IRC. Il vous présentera une liste de sujets possibles.
/NICK un-surnom vous permet de changer de surnom ; le nouveau nom sera refusé si quelqu'un d'autre est déjà en train de l'utiliser, ou s'il est trop long (la limite est à 9 lettres). Il ne peut pas contenir de caractère spécial ou accentué.
/JOIN #nom-de-channel vous permet de rentrer dans un channel. Tous les noms de channel commencent par le caractère #. Si vous demandez à rentrer dans un channel qui n'existe pas, il sera créé pour vous. De même, un channel disparaît au moment où son dernier utilisateur le quitte.
/PART #nom-de-channel sert à quitter un channel. Si vous ne précisez pas de nom de channel, c'est celui qui est actuellement affiché que vous quittez.
/MSG Surnom texte envoie un message destiné uniquement à une personne ; mettez son surnom à la place de Surnom sur la ligne précédente. Si vous recevez vous-même un tel message, un nouvel onglet s'ouvrira pour la conversation privée avec son auteur.
/QUERY Surnom Ouvre un nouvel onglet pour démarrer une conversation privée avec l'utilisateur Surnom (même chose que /msg, sans envoyer de message immédiatement).
/INVITE Surnom #channel invite une personne dans un channel.
/LIST permet d'avoir une liste de tous les channels. Il est déconseillé d'utiliser cette commande sur les grands serveurs, parce-que la liste occupe des milliers de lignes et prend longtemps à arriver (aucun problème en revanche sur le serveur interne à l'École).
/NAMES permet d'avoir la liste de toutes les personnes connectées dans le channel courant.
/WHOIS Surnom permet d'avoir plus d'informations sur la personne désignée par le nickname Surnom. En particulier, il est possible d'avoir son nom complet, si disponible, son statut (absent ou pas), les autres channels sur lesquels il est présent, etc.
/AWAY Raison permet d'indiquer qu'on est absent. Vous devez préciser un texte (Raison), qui sera notamment indiquée aux autres utilisateurs qui souhaiteraient commencer une conversation privée avec vous, afin de les prévenir de votre absence. Votre statut d'absence est visible par les autres utilisateurs en utilisant la commande whois votre-nickname. Pour indiquer que vous n'êtes plus absent, il suffit d'utiliser /AWAY (sans raison indiquée).

Si du texte apparaît dans un onglet qui n'est pas affiché, le nom de cet onglet s'affiche en rouge, pour attirer votre attention. Si en plus le nouveau texte parle de vous (sur la base de votre surnom), la couleur bleue sera utilisée.

De façon générale, certains messages apparaîtront d'une couleur différente (ou surlignés) dans les cchannels. Cela veut juste dire que votre nickname apparaît dans ce message, et la couleur est là pour attirer votre attention. Il est notamment pratique de commencer un message par "Nickname:" quand on répond spécifiquement à l'utilisateur Nickname. Enfin, ces messages sont facilement récupérables dans les clients IRC pour être traités par des plugins et, par exemple, être affichés dans une zone particulière.

Que faire sur IRC ?

En un mot : discuter. Les autres ne voient de vous que ce que vous tapez. Ils sont aussi probablement déjà en train de parler à d'autres personnes à la fois, n'espérez donc pas avoir leur attention complète.

Quand vous rentrez sur un channel public, et surtout s'il y a déjà quelques dizaines d'utilisateurs dessus, vous verrez que le texte défile très vite. Voici un extrait typique de la conversation sur un channel :

*** Signoff: Bebile (EOF From client)
<Telemak> il y a que des CAVES ici !
*** Pilah has left channel #france
*** ombre (eymartin@sc-2.salles.entpe.fr) has joined channel #france
<steph> telemak:pardon?
<Luc> zak: oui tout pres de Frankfort
<zak2> luc: ah ok et c'est comment en allemagne
*** visiteur1 (webbar@lisbonne-story.webbar.fr) has joined channel #france
<Luc> zak: et toi ou est-tu en ce moment
<zak2> luc: paris
*** |AsSaiL| has left channel #france
*** TtouKC (oeil@toulouse2-2.hol.fr) has joined channel #france
<PEEPOO> KC: t etais ou?
<visiteur3> bonsoir

Les leçons à en tirer sont simples mais importantes : premièrement, il est très courant de s'adresser à quelqu'un dans un channel en commençant la phrase par «son_surnom:» (penser à utiliser l'autocompletion avec la touche TAB :). Ceci permet d'avoir plusieurs conversations en cours dans un channel, et de s'y retrouver. Le corollaire de tout cela étant que l'on apprend très vite à ne pas tenir compte des lignes adressées à d'autres, ni des lignes qui annoncent qui rentre et qui sort du channel. De plus, lorsqu'un message commence par votre_surnom:, la ligne est automatiquement surlignée par votre client IRC pour que vous puissiez la repérer plus facilement (et il est possible de dédier une fenêtre particulière, appelée "hilight window" pour centraliser tous les messages qui vous sont ainsi adressés).

Soyez raisonnablement poli, et ne passez pas tout votre temps à tenter de draguer sans subtilité tout ce qui bouge : c'est la meilleure façon de se faire kicker (c'est-à-dire, de vous faire éjecter du channel par un opérateur) !

Enfin, il n'y a pas toujours du monde sur un chan. Si vous n'avez pas immédiatement de réponse, attendez un peu, que les utilisateurs aient le temps de voir votre message (ce qui peut prendre potentiellement quelques heures sur des chans peu actifs).

Les modes

Les channels, tout comme les utilisateurs, peuvent être dans plusieurs modes. Chaque mode est noté par une lettre, généralement l'initiale du nom du mode en question.

Sur les channels, les modes servent à deux choses :

Si vous êtes opérateur sur un channel, vous pouvez changer ses modes en utilisant les boutons en haut de l'écran (si vous n'êtes pas opérateur, ces boutons ne vous servent qu'à connaître les modes). Voyons ces boutons (ceux qui sont à droite de la barre blanche)

T
seul un opérateur peut changer le sujet du channel
N
seules les personnes présentes dans le channel peuvent y parler
S
le channel est secret (n'apparaît pas dans la liste)
I
le channel est réservé aux invités
P
le channel est privé
M
le channel est modéré (seuls les opérateurs peuvent parler)
L nombre
le channel a un nombre limité de places
K mot de passe
le channel est réservé aux gens munis du mot de passe

On peut utiliser la commande /MODE pour changer le mode d'un channel sans utiliser la souris. On ajoute +lettre ou -lettre selon si on veut activer ou désactiver le mode en question, et on précise éventuellement le paramètre après.

Un channel a aussi un sujet, ou topic qu'on change en modifiant dans la barre blanche en haut, ou en utilisant la commande /TOPIC. Le sujet apparaît à côté du nom du channel en réponse à la commande /LIST.

Les utilisateurs eux-mêmes peuvent aussi avoir des modes. Le seul qui soit utile est le mode +i ou invisible. Et encore, cette «invisibilité» est très restreinte : elle vous empêche juste d'apparaître dans la liste donnée par une commande WHO à quelqu'un qui ne serait pas dans le même channel que vous.

Vous pouvez mettre ou enlever ce mode avec les commandes /UMODE +i et /UMODE -i respectivement.

Remerciements

Cette page est initialement due à Roger Espel Llima, également connu sous le surnom de APO, hacker et IRCiste émérite.

Auteurs : Dominique Quatravaux, Roger Espel Llima, Nicolas George.