Guide pratique de l'IRC sous Linux

Adaptation française du guide pratique Linux IRC mini-HOWTO

Saad Zniber

Adaptation française

Élève-ingénieur 4e année INSA de Rouen, département Architecture des Systèmes d'Information.

Yvon Benoist

Relecture de la version française

Professeur agrégé d'anglais, INSA de Rouen, département Architecture des Systèmes d'Information.

Jean-Philippe Guérard

Relecture rapide

Jean-Philippe Guérard

Préparation de la publication de la v.f.

Version : 0.45.fr.1.0

21 juillet 2006

Historique des versions
Version 0.45.fr.1.02006-07-21SZ, YB, JPG
Adaptation française de la sixième révision. Cette version n'est pas encore publiée, mais contient des corrections qui justifient de traduire cette version plutôt que la précédente. Ajout de liens vers www.hiersay.net et www.ircaide.org. Suppression de la partie consacrée aux distributions Linux, qui est totalement obsolète.
Version 0.45(non publiée)FLWM
Sixième révision.
Version 0.402005-01-07FLWM
Cinquième révision. Ajout d'un travail de Peter G. Smith. Passage à Fedora Core 3 et à la version 10.0 de Slackware. Suppression de toutes les adresses électroniques. Les liens sous forme textuelle sont désormais visibles dans le texte. Mise à jour de tous les liens morts.
Version 0.302002-11-21FLWM
Quatrième révision. Passage à la version 8.0 de Red Hat (suppression des PowerTools) et à la version 8.1 de Slackware. Ajout d'informations manquantes sur la RFC 2810. Mise à jour de tous les liens morts.
Version 0.202001-07-01FLWM
Troisième révision. Principalement des corrections. Passage à la version 7.1 de Red Hat et à la version 8.0 de Slackware.
Version 0.102001-01-08FLWM
Deuxième révision. Principalement des corrections.
Version 0.052000-12-22FLWM
Version initiale.

Résumé

Ce document a pour but de décrire les bases de l'IRC et des applications correspondantes pour Linux.


Table des matières

Introduction
Objectifs
Divers
Traductions
À propos de l'IRC
Bref historique de l'IRC
Mode d'emploi de l'IRC pour débutant
Exécution du programme ircII
Commandes
Code de bon usage de l'IRC
Clients IRC en mode console
ircII
EPIC
BitchX
irssi
Autres clients IRC en mode console
Clients IRC sous X Window
Zircon
KVIrc
X-Chat
QuIRC
Serveurs IRC
IRCD
IRCD-Hybrid
ircu
Bahamut
Les bots IRC
Eggdrop
EnergyMech
Supybot
Les mandataires IRC (IRC Bouncers)
bnc
muh
ezbounce
Installation
Les clients
Les serveurs
L'enfer et le paradis
Les dieux (les développeurs)
Les saints (les contributeurs)
Les anges (la remontée d'information)
Les démons

Ce document est toujours en cours de réalisation et doit être considéré en tant que tel. Je ferai de mon mieux pour qu'il demeure exact et à jour.

Il y a des bibles que l'on ne saurait oublier, ce sont :

Ne manquez pas non plus de consulter les liens suivants :

Vous trouverez la plus récente version française de ce document à l'adresse : http://www.traduc.org/docs/howto/lecture/IRC.html.

La dernière version originale de ce document est disponible sur http://www.pervalidus.net/documentation/IRC-mini-HOWTO/.

Une copie de ce site peut également être disponible à l'adresse http://www2.pervalidus.net/documentation/IRC-mini-HOWTO/.

Vous pouvez m'écrire (en anglais, français ou portugais) si vous avez des suggestions à propos de ce guide pratique. Je sais qu'il est loin d'être fini, mais j'espère qu'il vous sera utile. Je vous demanderais juste d'éviter de me demander d'ajouter votre application, distribution ou site. Il y peu de chances que j'accepte, mais vous pouvez toujours essayer de me convaincre. Ne me demandez pas de support technique non plus. Je n'ai pas le temps d'aider tout le monde.

Au passage, quelqu'un désirant travailler sur les aspect protocole et serveur serait le bienvenu.

Frédéric L. W. Meunier — http://www.pervalidus.net/contact.html.

N'hésitez pas à faire parvenir vos commentaires et suggestions concernant l'adaptation française de ce document au projet Traduc.org à l'adresse : .

Extrait de la RFC 2810 :

Le protocole IRC est destiné à réaliser des téléconférences en mode texte. Il est développé depuis 1989, date à laquelle il a été mis en œuvre pour la première fois pour permettre aux utilisateurs d'un forum BBS de dialoguer entre eux.

Ce protocole a été pour la première fois décrit officiellement en mai 1993 dans la RFC 1459 [IRC], et a continué d'évoluer.

Le protocole IRC est basé sur le modèle client-serveur. Il convient très bien à une utilisation répartie sur plusieurs machines. Une utilisation typique consiste en un processus unique (le serveur) constituant un point de connexion central pour les clients (ou les autres serveurs), distribuant ou multiplexant les messages, et réalisant d'autres fonctions.

Ce modèle réparti, qui nécessite que chaque serveur possède une copie des informations sur l'état global, demeure le problème le plus flagrant de ce protocole. En effet, en imitant la taille maximale pouvant être atteinte par un réseau, il constitue un handicap sérieux. Si les réseaux existant ont pu continuer à s'étendre à une vitesse incroyable, c'est bien grâce aux fabricants de matériel qui nous fournissent des systèmes toujours plus puissants.

Le premier démon IRC fut écrit durant l'été 1988 par Jarkko « WiZ » Oikarinen de l'Université d'Oulu en Finlande. Destiné à l'origine à remplacer Talk par un outil style BBS, l'IRC s'est répandu rapidement ; d'abord en Scandinavie, puis dans le reste du monde. En moins d'un an, plus de 40 serveurs étaient connectés ensemble.

À ce stade-là, il n'y avait qu'un seul réseau, et un nom n'était donc pas nécessaire : on disait simplement « IRC » ; mais au fur et à mesure que le réseau grandissait, des désaccords commencèrent à apparaître. L'IRC était un moyen de communication assez chaotique, où les coupures de connexion, les pseudonymes en double et les prises des contrôle des canaux étaient devenus chose courante. Il était donc inévitable qu'à un moment ou à un autre des utilisateurs se séparent du reste pour former leurs propres réseaux.

Une des premières grandes ruptures eu lieu en 1992, quand Wildthang créa le réseau Undernet. À l'origine destiné à être un réseau de test, Undernet s'est rapidement développé, acquérant la réputation d'un réseau sympathique grâce à la mise en place de services de protection des utilisateurs et des canaux.

Deux ans plus tard, Undernet s'est lui-même divisé, donnant naissance au nouveau réseau DALnet. Le fondateur de DALnet, Dalvenjah, porta le concept de services d'Undernet à un niveau supérieur avec la mise en place d'un support pour la réservation de pseudonymes, les G-lines (bannissement sur un réseau entier) et un tas d'autres fonctions.

Pendant ce temps sur IRCnet (c'est ainsi qu'était alors nommé le réseau IRC d'origine), les esprits s'échauffaient. IRCnet était opposé à l'idée de possession de pseudonyme ou de canal qu'Undernet et DALnet avaient mis en place, mais il était clair que quelque chose devait être fait à propos des incessantes prises de contrôle de canaux qui se produisaient. Deux idées différentes furent proposées : un verrouillage temporaire des pseudonymes et des noms de canaux [nick/channel delays], et l'horodatage [timestamping] (voir http://www.irchelp.org/ pour plus d'informations), mais le débat pour décider laquelle adopter fut houleux.

En juillet 1996, IRCnet se scinda, avec le départ de la plupart des serveurs nord-américains pour former EFnet, faisant d'IRCnet un réseau essentiellement européen.

Depuis lors, des centaines d'autres petits réseaux plus petits se sont formés, la plupart utilisant des versions modifiées de DALnet, EFnet, IRCnet ou bien l'ircd d'Undernet.

Le client IRC standard est l'ircII d'origine. Il se trouve dans la plupart des distributions Linux, et il a servi de base à la plupart des autres clients IRC en mode texte (en particulier BitchX et EPIC).

ircII est simple d'utilisation. Supposons que vous vouliez vous connecter à irc.freenode.net sous le pseudonyme « guide-pratique ».

En ligne de commande, entrez :

$ irc guide-pratique irc.freenode.net

Vous pouvez également définir des variables d'environnement, de sorte que vous n'ayez pas à définir ces options en ligne de commande. Pour les utilisateurs de bash et zsh :

$ export IRCNICK=guide-pratique IRCSERVER=irc.freenode.net

Pour les utilisateurs de csh et tcsh :

$ setenv IRCNICK guide-pratique
$ setenv IRCSERVER irc.freenode.net

Il vous suffit ensuite de les ajouter au profil de votre interpréteur de commandes (par exemple à ~/.bash_profile ou à ~/.zprofile).

IRCNAME et IRCUSER sont également des variables courantes, servant respectivement à définir la partie nom IRC (IRCNAME) et l'identifiant (IRCUSER) tels qu'ils sont renvoyés sur la première ligne affichée par la commande /whois :

guide-pratique is ~identifiant@nom_de_machine (nom IRC)

Gardez à l'esprit que IRCUSER ne marchera pas si vous exécutez un démon ident (ce qui est le cas par défaut sur la plupart des distributions). Si vous avez quand même besoin de changer votre nom d'utilisateur (ce qui n'est pas recommandé, et j'espère que vous n'utiliserez pas IRC connecté sous le compte root !), installez oidentd depuis http://ojnk.sourceforge.net/. Pour le paramétrer, consultez la page de manuel du fichier oidentd.conf. Pour finir, exécutez la commande :

/usr/local/sbin/oidentd -g nobody -u nobody

Ajoutez cette commande à vos scripts de démarrage (par exemple à /etc/rc.d/rc.local) quand vous aurez terminé.

S'ils ne sont pas définis, IRCNICK, IRCUSER et IRCNAME seront lus dans /etc/passwd.

Utilisez /help pour avoir une liste de toutes les commandes disponibles (/help help est un bon point de départ). Remplacez « pseudo » par n'importe quel pseudonyme IRC.

La plupart des commandes ci-dessus (dont celles utilisant des variables d'environnement) fonctionneront également avec d'autres clients en mode console.

[Important]Attention !

N'utilisez jamais IRC quand vous êtes connecté sous le compte root ou en tant qu'utilisateur disposant de privilèges excessifs. Vous rencontreriez des problèmes tôt ou tard. Vous avez été prévenu. Il est fortement recommandé de créer un utilisateur dédié à l'utilisation de l'IRC.

$ man adduser

Sur les canaux Linux, vous ne devez pas :

Responsable de la maintenance : ircII project

Canal IRC : #ircII (canal officiel ?) sur EFNet

Écrit à l'origine par Michael Sandrof, ircII est intégré à la plupart des distributions Linux. Il utilise termcap. Ce n'est pas un bon choix pour la plupart des utilisateurs. Cependant, ce logiciel reste une référence. Mathusalem et autres gourous l'utiliseront volontiers. Les moins aventureux regretteront qu'il ait été installé.

Vous trouverez la dernière version d'ircII sur ftp://ircii.warped.com/pub/ircII/. Sa page d'accueil se trouve sur http://www.eterna.com.au/ircii/

Responsable de la maintenance : Timo Sirainen

Canal IRC : #irssi sur freenode — http://freenode.net/irc_servers.shtml et IRCnet — http://www.ircnet.org/

Timo publia yagIRC en 1997. C'était un client graphique utilisant la boîte à outils GTK+. Il fût appelé pour le service militaire un an plus tard, et les nouveaux responsables de maintenance n'étaient pas à la hauteur. yagIRC disparut et il démarra irssi pour le remplacer. Celui-ci utilisait GTK+. Les versions GNOME et curses apparurent plus tard. Les versions de irssi supérieures ou égales à la version 0.7.90 se limitent à un client textuel modulaire. Irssi permet d'utiliser des scripts Perl.

Vous trouverez la dernière version d'irssi sur http://irssi.org/?page=download. Sa page d'accueil se trouve sur http://irssi.org/.

Responsable de la maintenance : Peter Zelezny

Canal IRC : #Linux sur ChatJunkies — http://www.chatjunkies.org/servers.php

Il utilise GTK+ et accessoirement GNOME, et prend en charge les scripts Perl et Python.

Vous trouverez la dernière version de X-Chat sur http://xchat.org/download/. Sa page d'accueil se trouve sur http://xchat.org/.

Responsable de la maintenance : Patrick Earl

Canal IRC : #QuIRC sur DALnet — http://www.dal.net/servers/index.php3.

Il utilise Tk et prend en charge les scripts Tcl.

Vous trouverez la dernière version de QuIRC sur sa page d'accueil http://quirc.org/.

Responsable de la maintenance : Undernet Coder Committee

Canal IRC : #ircu sur Undernet — http://www.undernet.org/servers.php

Il est essentiellement utilisé par Undernet. Depuis la série d'attaques de type « déni de service réparti » [DDoS] survenue en 2001 et 2002, ircu offre aux utilisateurs et aux serveurs la possibilité de dissimuler leurs adresses. De plus, la plupart des commandes /stats ont été (malheureusement) supprimées d'Undernet.

Vous trouverez la dernière version d'ircu sur http://ftp1.sourceforge.net/undernet-ircu/. Sa page d'accueil se trouve sur http://coder-com.undernet.org/.



[1] N.D.T. : en anglais, on parle d'un bouncer (c'est-à-dire d'un videur) ou d'un proxy. Parler de videur correspond bien à un programme chargé de protéger votre pseudonyme lorsque vous n'êtes pas là.