# IRC

# 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.

## 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. 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.

### 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.

Les quatre réseaux IRC principaux 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.

À l'École, pour différentes considérations de sécurité, l'accès à la plupart des réseaux IRC est bloqué. En revanche, il y a un serveur interne installé sur le quatramaran. Il n'est connecté à aucun autre serveur, et constitue donc un réseau IRC à lui tout seul ; on n'y rencontrera donc que des normaliens et assimilés. On peut savoir à peu près qui est connecté dessus avec la commande `qui -too irc`.

## Utilisation d'IRC

Pour se connecter à IRC, on peut utiliser différents logiciels. Le plus facile est probablement XChat, qui est installé sur les ordinateurs de l'École par gourous. C'est son fonctionnement que nous détaillerons. Pour le lancer, il suffit de taper `xchat` dans une fenêtre de terminal, ou de sélectionner la ligne qui va bien dans le menu de lancement, si elle existe.

Quand vous lancez XChat, deux fenêtres s'ouvrent. Celle du dessus présente une liste de serveurs connus (par défaut, il ne connait que le serveur interne à l'École). Elle se présente ainsi :

La partie haute concerne votre identité. En particulier, vous pouvez indiquer votre surnom, ainsi que des solutions de rechange s'il est déjà pris. Ensuite vient la liste des serveurs connus, qui se présente un peu comme les bookmarks de netscape. Pour se connecter directement, il suffit de cliquer sur le serveur qu'on a choisi, puis sur le bouton «connect».

C'est alors la fenêtre principale qui doit maintenant avoir votre attention. Voici un exemple de ce à quoi elle peut ressembler (après quelques minutes de conversation) :

- Tout en haut, un menu déroulant tout ce qu'il y a de plus classique permet de faire les principales opérations.
- En dessous, une ligne de boutons permettent de manipuler la fenêtre, et les modes du channel, nous verrons à quoi tout correspond un peu plus loin.
- Encore en dessous se trouve la partie de l'écran où s'affiche la discussion ; on ne peut qu'y lire.
- À droite, il y a une liste des personnes présentes dans le channel, et quelques boutons.
- En dessous, la grande bande noire est l'endroit où on tape ses messages.
- Enfin, tout en bas, une série d'onglets représentent les différents channels (ou assimilé).

Au début, vous n'avez qu'un onglet, qui sert à afficher les messages venant du serveur, qui n'ont pas de rapport avec un channel en particulier. C'est à partir de cet instant que vous êtes connecté.

La plupart des opérations s'effectue maintenant en tapant dans la barre de message. En effet, un «message» qui commence par un slash (`/`) est considéré comme une commande, un ordre donné à XChat. Si ce que vous tapez commence par n'importe quoi d'autre, ça sera simplement dit dans le channel affiché.

### Quelques commandes utiles

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. Tapez d'abord `/HELP 7 new_user` pour avoir de l'aide générale sur IRC.
`/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 `Nickname` 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.
`/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).

Voilà pour les commandes les plus utiles. Il y en a d'autres qui, historiquement, servaient beaucoup, mais XChat propose des boutons, c'est plus facile à mémoriser.

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.

### 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'addresser à quelqu'un dans un channel en commençant la phrase par «`son_surnom:`». 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 addressées à d'autres, ni des lignes qui annoncent qui rentre et qui sort du channel.

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) !

### 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 :

- Spécifier qui a le droit de rentrer dans le channel :
  - Si le channel est secret (mode +s), il n'apparait pas dans la liste donnée par `LIST`, ni dans la liste des channels renvoyées par `WHOIS`.
  - Si le channel est invite-only (mode +i), seuls les utilisateurs invités par la commande `/INVITE` ont le droit d'y rentrer.
  - Si le channel a un mot de passe (mode +k), seuls les utilisateurs qui le connaissent ont le droit d'y rentrer.
  - Si le channel a une limite (mode +l) fixée à un certain nombre, au plus ce nombre-là de personnes peuvent y être simultanément.
  - Chaque channel a une liste d'addresses qui sont bannies (mode +b). Un utilisateur ne peut pas y rentrer si son addresse est bannie.
- Donner le statut d'«opérateur de channel» ou chanop à certains utilisateurs et pas d'autres. Un opérateur a le droit de changer les modes globaux du channel (mettre ou enlever le mode d'invite, mettre ou enlever une clé ou une limite, ajouter ou enlever des bans, etc), et aussi de vider (en anglais, kick) des gens du channel.
  Quand vous créez un nouveau channel, le système vous fait opérateur, ce qui se voit avec le @ à gauche de votre nickname. Quand vous rentrez dans un channel existant, vous n'êtes pas opérateur.
  Il est très mal vu de demander à être fait opérateur sur un channel où l'on n'est pas très bien connu et apprécié. La réaction la plus habituelle étant en fait un KICK ou même un ban. Faites donc attention.

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. Dernière modification le .