Internet Relay Chat

Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis Internet relay chat)
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Ne doit pas être confondu avec mIRC.
Konversation connecté au canal IRC français de Kubuntu

Internet Relay Chat ou IRC (en français, « discussion relayée par Internet ») est un protocole de communication textuelle sur Internet. Il sert à la communication instantanée principalement sous la forme de discussions en groupe par l’intermédiaire de canaux de discussion, mais peut aussi être utilisé pour de la communication de un à un. Il peut par ailleurs être utilisé pour faire du transfert de fichier.

Histoire[modifier | modifier le code]

Conçu fin , l’IRC a été décrit initialement dans la RFC 1459 par Jarkko Oikarinen (surnommé « WiZ ») et Darren Reed, puis révisé dans les RFC 2810 à 2813. L’IRC fut créé pour remplacer un programme appelé MUT (MultiUser talk) sur un BBS finlandais (OuluBox). Oikarinen s’est inspiré du Bitnet Relay Chat du réseau Bitnet.

En , les cent plus grands réseaux IRC peuvent fournir du service à plus de 500 000 utilisateurs simultanément, avec plusieurs centaines de milliers de canaux (la plupart étant toutefois inactifs), par l’intermédiaire d’environ 1 500 serveurs dans le monde[1].

Aspects techniques[modifier | modifier le code]

Le protocole de communication décrit un réseau informatique formé de plusieurs serveurs connectés sans boucle dans lequel les clients communiquent généralement par le biais du serveur (qui relayera éventuellement le message au reste du réseau). Il est également possible de connecter deux clients directement pour une conversation privée ou un transfert de fichier, c’est le DCC. Ce protocole étant public, des clients existent pour de nombreux systèmes d’exploitation, de même que les serveurs IRC, aussi désignés par le terme IRCD qui signifie Internet Relay Chat Daemon.

IRC est un protocole utilisant TCP et de façon optionnelle TLS. Un serveur IRC peut se connecter à d’autres serveurs IRC. Un réseau IRC est un ensemble de serveurs IRC connectés l’un à l’autre relayant si nécessaires les messages, formant ainsi une architecture répartie. L’utilisateur utilise un logiciel client IRC afin de se connecter à un des serveurs du réseau, le choix du serveur étant indifférent. Le protocole étant ouvert et décrit par un RFC, le nombre de logiciels clients existant est important pour tous les systèmes d’exploitation et leur interopérabilité garantie par la RFC.

IRC était à sa création un protocole texte[2], étendu plus tard à de l’échange de contenu binaire[réf. nécessaire], pour lequel IANA[3] a attribué le port TCP/194[4]. Cependant, l’utilisation a été étendue aux ports 6665-6669[4] cela afin de pouvoir être utilisé en tant que port supérieur à 1 024 par des utilisateurs n’ayant pas les privilèges super-utilisateurs (root) et par conséquent avoir des process IRCd lancés plus facilement.

Le protocole n’a défini que des caractères de taille définie sur bits, limitant les différents encodages possibles ainsi que le nombre de caractères[5]. Ceci pose toujours des problèmes en fonction des clients utilisés et de leur langue par défaut, en raison de l’incompatibilité parfois générée entre clients.

La plupart des serveurs IRC ne nécessitent pas l’enregistrement par l’intermédiaire d’un compte, mais l’utilisation d’un nickname (surnom) est nécessaire.

En plus de la discussion en groupe, une fonctionnalité disponible pour IRC est le transfert de fichier par l’intermédiaire de la fonction DCC[6]. Ceci étant, en plus de la fonction /dcc send, le DCC s'utilisait pour un tchat /dcc chat entre 2 utilisateurs, ce qui évitait de subir les temps de lag.

Un serveur IRC est normalement géré par un ou plusieurs IrcOps, contraction d’origine anglophone de IRC Operator ou opérateur d’IRC. Les ops étaient nommés par les administrateurs du canal, par exemple par cooptation, de manière éphémère ou constante (enregistrée).

Le succès d’IRC a été quelque peu diminué par l’arrivée des messageries instantanées. En 2009, ces réseaux restent néanmoins très utilisés par ceux qui veulent discuter sans passer par un programme client propriétaire non interopérable entre les différents fournisseurs de services ou n’offrant pas l’interactivité sous forme de canaux, permettant ainsi de dialoguer avec de multiples participants. Toutefois, la plupart des logiciels de messagerie instantanée ont maintenant implémenté le protocole IRC (Trillian, pidgin par exemple).

Les canaux[modifier | modifier le code]

L’élément de base pour communiquer sur un réseau est le canal (channel dans la spécification). Un canal est défini par une liste d’utilisateurs connectés sur celui-ci. Pour entrer dans un canal ou pour créer un canal s’il n’existe pas, l’utilisateur utilise la commande join. Les canaux peuvent être vus de tout le réseau, leur nom est alors préfixé par le caractère « # » ; ils peuvent aussi être des canaux locaux, portés par un serveur uniquement, leur nom est dans ce cas préfixé par le caractère « & ».

Les modes[modifier | modifier le code]

Les modes sont des options positionnées sur des canaux ou des utilisateurs, et qui affectent leur mode de fonctionnement, leurs privilèges et leurs interactions avec les autres entités de l’IRC.

Article détaillé : Modes IRC.

Modes standard (RFC 1459)[modifier | modifier le code]

Mode d'utilisateur
Lettre Symbole Description
i invisible - en dehors de la participation commune à un canal, l'utilisateur n'est pas visible par les autres
s reçoit toutes les notifications du serveur
w reçoit tous les messages envoyés par la commande wallop
o l'utilisateur est un opérateur IRC (à ne pas confondre avec le mode de canal o)
Mode de canal
Lettre Symbole Paramètre(s) Description
o @ Nom de l'utilisateur concerné Opérateur de canal : peut changer les modes du channel et expulser les autres utilisateurs
s canal secret; le canal est totalement invisible
p canal privé; le nom du canal est invisible
n les messages externes ne sont pas autorisés
m canal modéré, seuls les utilisateurs en mode verbose et les opérateurs peuvent envoyer un message
i canal accessible uniquement sur invitation (commande /invite)
t sujet du canal uniquement modifiable par les opérateurs du canal
l limite fixe la limite du nombre d'utilisateurs sur le canal à limite
b utilisateur bannit l'utilisateur utilisateur
k clef seuls les utilisateurs connaissant la clé clef pourront se connecter au canal

De nombreux développeurs ont ajouté de nouveaux modes, ou ont modifié les modes déjà existants sur leurs serveurs[7],[8],[9],[10].

Les principales commandes IRC et leur définition[modifier | modifier le code]

Une commande IRC est toujours définie par le caractère « / » placée en début de ligne. Cette commande peut être une commande définie par la RFC ou une commande liée au client, ou encore au serveur. Si une ligne ne débute pas par « / », elle est envoyée comme message au canal actif. Par exemple, pour rejoindre un canal, un utilisateur doit effectuer /join #canal.

Les réseaux[modifier | modifier le code]

Il existe différents réseaux. Ils sont le plus souvent libres d’utilisation et gratuits.

Les réseaux IRC les plus importants sont les suivants :

  • DALnet
  • EFnet
  • EpiKnet[11] est un réseau IRC francophone.
  • freenode est un réseau principalement dédié au logiciel libre, financé par la communauté open-source[12].
  • IRCnet est un réseau généraliste.
  • OFTC est également dédié au logiciel libre.
  • QuakeNet est le plus grand réseau avec 200 000 clients, particulièrement lié à l’univers du jeu.
  • Rizon
  • Undernet

D’autres réseaux existent et sont souvent spécialisés dans certains domaines. Ils peuvent être trouvés sur DMOZ[13].

Des statistiques de fréquentations relatives aux utilisateurs et aux canaux peuvent être consultées[14], mais elles sont données à titre indicatif et n’incluent pas le projet freenode qui revendique environ 56 000 utilisateurs[12].

Note[modifier | modifier le code]

L’anglicisme chat est souvent utilisé pour décrire les discussions se déroulant sur l’IRC. En français, certains utilisent « bavardage », tchatche, tchat ou « clavardage » (principalement au Québec). Encore au Québec, au début du phénomène de conversation instantanée, la graphie « ch@t » était parfois utilisée dans les médias.[réf. souhaitée]

Notes et références[modifier | modifier le code]

  1. (en) Les 100 plus grands réseaux IRC.
  2. (en) Documentation RFC Internet Relay Chat Protocol.
  3. (en) Site officiel de l’The Internet Assigned Numbers Authority.
  4. a et b (en) Liste des assignations usuelles des ports TCP et UDP, sur le site de l’The Internet Assigned Numbers Authority.
  5. (en) Documentation RFC Internet Relay Chat Protocol - The IRC Specification.
  6. (en) Documentation RFC A description of the DCC protocol.
  7. (en) Simon Butcher, « IRC User Modes List », alien.net.au,‎ 2005-01-12 (consulté en 2011-04-10)
  8. (en) Simon Butcher, « IRC Channel Modes List », alien.net.au,‎ 2005-01-12 (consulté en 2011-04-10)
  9. (en) Simon Butcher, « IRC Server Modes List », alien.net.au,‎ 2005-01-12 (consulté en 2011-04-10)
  10. (en) Tommy Olsen, « IRCd Modes », webtoman.com (consulté en 2011-04-10)
  11. http://www.epiknet.org/
  12. a et b http://www.freenode.net
  13. http://www.dmoz.org/Computers/Internet/Chat/IRC/Networks/
  14. http://irc.netsplit.de/

Voir aussi[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Sur les autres projets Wikimedia :