Internet Relay Chat

Un article de Wikipédia, l'encyclopédie libre.
Aller à : Navigation, rechercher
Page d'aide sur les redirections « IRC » redirige ici. Pour les autres significations, voir IRC (homonymie).

IRC, abréviation de Internet Relay Chat (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 des 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. IRC est différent de la messagerie instantanée, celle-ci étant plus dédiée aux communications de un à un.

Conçu fin août 1988, 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 mars 2009, 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].

Sommaire

[modifier] Aspects techniques

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, étendu plus tard à de l’échange de contenu binaire[2], pour lequel IANA[3] a attribué le port TCP/194[4]. Cependant, l’utilisation a été étendue aux port 6665-6669[4] cela afin de pouvoir être utilisé, en tant que port supérieur à 1024 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 8 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]

Un serveur IRC est normalement géré par un ou plusieurs IrcOps, contraction d’origine anglophone de IRC Operator ou opérateur d’IRC.

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 messageries instantanées ont maintenant implémenté le protocole IRC (Trillian, pidgin par exemple).

[modifier] Les canaux

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 « & ».

[modifier] Les modes

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.

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

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.

[modifier] /me

/me (d’après le pronom personnel anglais « me » signifiant littéralement « moi ») est une commande IRC dont la fonction est d’afficher chez tous les utilisateurs d’un canal, en dehors des lignes de message habituelles et éventuellement avec un formatage différent, le pseudonyme de celui qui l’a saisie suivi de la chaîne de caractères qu’il a renseignée comme paramètre. En particulier, ceci permet aux utilisateurs d’indiquer qu’ils sont en train d’accomplir une action (réelle ou fictive), mais en la formulant à la troisième personne.

Par exemple, si un utilisateur dont le pseudonyme est « Jean » saisit la commande /me fait ceci, le message affiché sera alors « Jean fait ceci ». La façon dont il est affiché varie d’un client à l’autre ; un astérisque (*) est souvent placé en tête de ligne.

Cette commande est implémentée par la commande ACTION de CTCP.

Elle est aussi utilisée en dehors d’IRC, par exemple sur les forums de discussion, mais uniquement par humour de connivence, puisqu’elle n’est pas implémentée sur de tels supports, et que « /me » n’y est donc pas remplacé par le pseudonyme de l’auteur comme ce serait le cas dans un client IRC.

À noter également, la commande /me a été reprise et est utilisable sur les protocoles MSN, avec l’extension Messenger Plus!, et Skype.

[modifier] /join

La commande /join permet de joindre un canal de discussion. Elle utilise en paramètre le nom du canal (/join #nom_du_canal). L’utilisateur sera alors vu par les autres utilisateurs, pourra lire les messages et en envoyer.

[modifier] /names

La commande /names permet de lister les utilisateurs connectés au canal.

[modifier] /list

La commande /list permet de lister les canaux du serveur sur lequel vous êtes connecté.

[modifier] /dcc

La commande /dcc permet d’envoyer un contenu binaire sur le réseau.

[modifier] /mode

La commande /mode permet de modifier les modes des utilisateurs et des canaux. Exemple d’utilisation de la commande /mode.

/mode #canal +b surnom/hôte

bannira l’utilisateur demandé par son hôte ou par son surnom, à la stricte condition d'être opérateur du canal.

[modifier] /help

La commande /help permet d’obtenir les commandes autorisées par la RFC et par le réseau. Par exemple, /help cmd permet d’obtenir l’aide de la commande cmd.

[modifier] /wallops

La commande /wallops msg {message} permet d’envoyer un message à tous les utilisateurs en mode +w.

[modifier] /invite

La commande /invite {nick} {#canal} permet d’inviter un utilisateur sur un canal, à condition d’être opérateur du canal en question.

[modifier] /topic

La commande /topic permet de fixer/consulter le sujet d’un canal. Bien entendu, la fixation d’un topic n’est réalisable que par les opérateurs du canal.

[modifier] /part

La commande /part permet de quitter le canal en question.

[modifier] /quit

La commande /quit permet de quitter le réseau.

[modifier] /disconnect

La commande /disconnect permet de se déconnecter du serveur et du canal en question.

[modifier] /exit

La commande /exit permet également de quitter le canal en question.

[modifier] /whois

La commande /whois {nick} permet d’obtenir des renseignements sur x utilisateurs.

[modifier] /ping

La commande /ping {nick} permet de voir si la machine d’un utilisateur est connectée au serveur, par exemple celui de irc.freenode.org, et de voir son temps de réponse.

[modifier] /nick

La commande /nick permet d’attribuer un pseudonyme sur lequel vous serez connu sur le canal.

[modifier] /away

La commande /away {motif de l’absence} indique que vous n’êtes pas disponible sur le canal. Cette information apparaît alors pour tous dans votre whois.

[modifier] /ctcp

La commande /ctcp {nick} {ping|finger|version|time|userinfo|clientinfo} exécute la requête CTCP indiquée.

[modifier] /kick

La commande /kick {canal} {nick} {motif} éjecte le nick du canal, à la seule condition que vous soyez opérateur du canal. Exemple d’utilisation de la commande /kick :

/kick #accueil beaver {motif}

[modifier] /ban

La commande /ban {#canal} {nick} bannit le nick du canal. Réservé aux opérateurs du canal. Exemple d’utilisation de la commande /ban :

/ban #canal beaver!*@*.mydomain.net

[modifier] /unban

La commande /unban {#canal} {nick} dé-bannira l’utilisateur demandé, à la seule condition d’être opérateur du canal. Exemple d’utilisation de la commande /unban :

/unban #canal beaver!*@*.mydomain.net

[modifier] /query

La commande /query {nick} permet d’ouvrir une fenêtre de discussion privée avec une personne sur le réseau, sans pour autant qu’il soit présent sur un des canaux que vous occupez.

/query Nick

[modifier] /server

La commande /server {nom du serveur} {:port} permet de se connecter au serveur demandé.

[modifier] /notice

La commande /notice {nick|canal} envoi un message en notice à l’utilisateur ou au canal demandé.

[modifier] /who

La commande /who {nick|canal} affiche des informations sur l’utilisateur ou sur le canal demandé.

[modifier] /motd

La commande /motd ("message of the day") affiche le message du jour du serveur sur lequel vous êtes connecté.

[modifier] /ignore

La commande /ignore permet d’ignorer certaines actions. Son utilisation dépend entièrement du client IRC. Exemple d’utilisation de la commande /ignore :

/ignore -channels #canal1,#canal2,#canal3 * JOINS PARTS QUITS NICKS

empêchera au client IRC d’afficher les utilisateurs qui se connectent/quittent aux « canaux » mentionnés.

[modifier] /silence

La commande /silence ignore les messages privés d’un utilisateur, ou d’un canal, son utilisation contrairement à la commande /ignore ne dépend pas du client IRC. Exemples de l’utilisation de la commande /silence :

/silence +beaver ignore les messages privés de beaver.
/silence -beaver!*@* enlève beaver de votre liste de silence.
/silence donne la liste de vos « silences ».

[modifier] Les réseaux

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 :

D’autres réseaux existent et sont souvent spécialisés dans certains domaines. Ils peuvent être trouvés sur DMOZ[8]. Les statistiques relatives aux utilisateurs et aux canaux peuvent être consultées[9], mais elles sont données à titre indicatif et n’incluent pas le projet freenode qui revendique environ 56 000 utilisateurs[7].

[modifier] Note

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.

[modifier] Voir aussi

[modifier] Articles connexes

[modifier] Notes et références

[modifier] Liens externes

Wikibooks-logo-fr.png

Wikibooks propose un ouvrage abordant ce sujet : l'IRC.

Ce document provient de « http://fr.wikipedia.org/wiki/Internet_Relay_Chat ».
Outils personnels
Espaces de noms
Variantes
Actions
Navigation
Contribuer
Imprimer / exporter
Boîte à outils
Autres langues