Internet Relay Chat (IRC ; en français : « discussion relayée par Internet ») est unprotocole de communication textuel surInternet. Il sert à lacommunication instantanée principalement sous la forme de discussions en groupe par l’intermédiaire de canaux de discussion, mais il peut aussi être utilisé pour de la communication entre deux personnes seulement. Il peut par ailleurs être utilisé pour faire dutransfert de fichier.
Conçu fin, l’IRC a été décrit initialement dans laRFC 1459[1] parJarkko Oikarinen (surnommé « WiZ ») et Darren Reed, puis révisé dans lesRFC 2810[2] àRFC 2813[3]. L’IRC fut créé pour remplacer un programme appelé MUT (MultiUser talk)[4] sur unBBS finlandais (OuluBox). Oikarinen s’est inspiré duBitnet Relay Chat du réseauBitnet.
À la fin des années 1990, l'utilisation d’IRC diminue avec l’arrivée desmessageries instantanéespropriétaires grands publics commeICQ, puisMSN Messenger. En 2009, IRC reste néanmoins utilisé dans certains milieux désirant se passer d'un programme clientpropriétaire, et appréciant son interopérabilité et son organisation sous forme de canaux propices à la communication en groupe. La plupart des logiciels de messagerie instantanée implémentent alors encore le protocole IRC (Miranda IM,Pidgin,Trillian par exemple).
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[5].
Le protocole de communication décrit unréseau informatique formé de plusieursserveurs connectés sans boucle dans lequel lesclients 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 leDCC.
IRC est un protocole utilisantTCP et de façon optionnelleTLS. 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écessaire 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 unRFC, le nombre de logiciels clients existant est important pour tous lessystèmes d’exploitation et leur interopérabilité garantie par la RFC.
IRC était à sa création un protocole texte[6], étendu plus tard à de l’échange de contenu binaire[réf. nécessaire], pour lequelIANA[7] a attribué le port TCP/194[8]. Cependant, l’utilisation a été étendue auxports 6665-6669[8] 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 desprocess IRCd lancés plus facilement.
Le protocole n’a défini que des caractères de taille définie sur 8 bits, limitant les différents encodages possibles ainsi que le nombre de caractères[9]. 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, l'utilisateur pouvant alors choisir sonnickname (surnom) librement tant qu'il est disponible.
En plus de la discussion en groupe, une fonctionnalité disponible pour IRC est le transfert de fichier par l’intermédiaire de la fonctionDCC[10]. 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 un délai.
Un serveur IRC est normalement géré par un ou plusieursIrcOps, contraction d’origine anglophone deIRC 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).
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. En français, un canal est comparable au mot "salon" (hérité des services duMinitel).
Pour entrer dans un canal ou pour créer un canal s’il n’existe pas, l’utilisateur utilise la commandejoin.
Les canaux peuvent être vus de tout le réseau, leur nom est alors préfixé par le caractèrecroisillon « # » ; ils peuvent aussi être des canaux locaux, portés par un serveur uniquement, leur nom est dans ce cas préfixé par le caractèreesperluette « & ».
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.
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 unopérateur IRC (à ne pas confondre avec le mode de canal « o »).
Mode de canal (Les symboles des modérateurs de canal peuvent varier d'un serveur à l'autre suivant la configuration de celui-ci, mais les options restent identiques.)
Lettre
Symbole
Paramètre(s)
Description
o
@
nom de l'utilisateur concerné
Opérateur de canal : peut changer les modes du canal et expulser les autres utilisateurs.
a
& / @
nom de l'utilisateur concerné
ChanMaster : peut changer les modes du canal poser des ban permanents et expulser les utilisateurs.
q
~ / @
nom de l'utilisateur concerné
Owner : propriétaire d'un canal à un accès complet sur le canal.
h
%
nom de l'utilisateur concerné
Halfop : a un accès limité aux commandes, voice et devoice les utilisateurs, expulser et bannir des utilisateurs sur une courte durée.
v
+
nom de l'utilisateur concerné
Verbose ou Voiced : autorise l'utilisateur à parler sur un canal modéré (mode « +m »).
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 « +v » 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[11],[12],[13],[14].
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 robots IRC ou bots IRC sont des programmes exécutés depuis des serveurs ou des ordinateurs permettant de faire des actions automatiquement sur un canal IRC.
Freenode est créé en 1995 et devient en 2013 le plus grand réseau avec 100 000 utilisateurs[15] en hébergeant les canaux de projets open source ou de la culture libre notamment, dont ceux de laWikimedia Foundation ou d'Ubuntu. En 2021 Freenode fait l'objet d'une « prise de contrôle hostile », ce qui entraîne la démission d'une majeure partie de l'équipe et provoque la création deLibera Chat.
QuakeNet est créé en 1997 et devient le plus grand réseau IRC vers le milieu des années 2000 avec 200 000 utilisateurs, il est particulièrement lié à l’univers dujeu vidéo.
OFTC est créé en 2001 et devient un réseau important, également autour du logiciel libre.
Rizon est créé en 2002 et devient un réseau important notamment pour les communautés defansub.
Libera Chat est créé en 2021 par des anciens membres de l'équipe de Freenode et devient le nouveau réseau de référence pour les projetsopen source et laculture libre, on y retrouve entre autres les canaux de laWikimedia Foundation, de laFSF et de nombreusesdistributions GNU/Linux. Il devient la même année le réseau le plus utilisé.
L’anglicismechat 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). 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]
↑Pierre Halté,Les marques modales dans les chats : étude sémiotique et pragmatique des interjections et des émoticônes dans un corpus de conversations synchrones en ligne, 2013.lire en ligne