Sommaire
Introduction
Tout d'abord, ce tutorial a pour but d'être le plus succint possible,
tout en essayant de mettre en valeur les fondamentaux de l'IRC, et en le vulgarisant pour le rendre plus accessible.
Ne considérez donc pas cette documentation comme votre bible IRC !
Je vais volontairement occulter de nombreux points, tout en essayant de vous en montrez l'existence.
Commençons par une description brève de l'IRC et de ses origines.
IRC, qu'est ce que c'est ?
IRC, c'est l'acronyme de Internet Relay Chat (en français, discussion relayée par Internet).
C'est le protocole de communication, précurseur de la messagerie instantanée.
Conçu en 1988, par Jarkko Oikarinen, le protocole IRC est décrit dans la RFC 1459, (Request for comments)
et est donc par conséquent ouvert à toutes et tous.
Une RFC constitut une énorme documentation sur le "langage" établi entre un serveur et client IRC.
Tous comme les protocoles HTTP et FTP, IRC est basé sur une architecture client / serveur.
Le client, c'est vous avec le logiciel que vous utilisez, genre mIRC (et il y en d'autres).
Le serveur, c'est un programme hébergé sur une machine, au fin fond de l'Internet, et qui traite
les connexions et les échanges, venant des clients.
Contrairement au protocole HTTP, ou seul un client HTTP (le navigateur Web, type Mozilla Firefox)
et un serveur HTTP (communément appelé serveur Web), gérant un à plusieurs sites Web, interviennent,
le protocol IRC s'avère (un chouia ?) plus complexe.
Architecture
De nos jours, de nombreux réseaux IRC se sont constitués.
Existent les réseaux IRCnet, EFnet, DalNET, Undernet, Freenode, OFTC, QuakeNet et bien d'autres encore.
Un réseau est un ensemble de serveurs IRC, idéalement répartis dans le monde, et connectés les uns avec les autres.
Un serveur IRC d'un réseau est au minimum relié à un autre serveur IRC du même réseau.
Le premier intérêt de cette architecture est de proposer à chaque internaute, le ou les serveurs IRC
les plus proches, géographiquement parlant. De ce fait, chaque internaute dispose du meilleur "ping" possible (la latence en millisecondes)
et donc de réduire ce qu'on appelle communément les "lags".
Le deuxième intérêt est de répartir la charge des serveurs IRC, pour limiter les risques que tous les internautes
soient déconnectés, pour cause de dysfonctionnement d'un serveur.
Viennent ensuite un serveur IRC et un client IRC.
Comme je le disais, le client IRC, c'est vous avec le logiciel de votre choix.
Lorsque vous décidez d'aller sur IRC, le choix se porte d'abord sur le réseau IRC.
Une fois choisi, peu importe le serveur que vous aurez sélectionné, vous serez sur le réseau IRC.
Si un autre internaute décide de vous joindre sur ce même réseau, il peut se connecter sur un autre
serveur de ce réseau. Vous et cet autre internaute pourront "se voir" car sur le même réseau.
Note :
Cependant, il n'est pas impossible qu'un des deux serveurs, le votre ou celui de l'autre internaute, ne soient plus
reliés entre eux, directement ou indirectement via un autre serveur IRC.
Dans ce cas de figure, vous verrez en fait l'autre internaute déconnecté pour cause de "Net split",
comprenez une coupure réseau (réseau dans le sens réseau IRC).
Il en va de même pour votre correspondant qui vous verrez déconnecté pour la même cause.
Discuter
IRC offre la possibilité aux utilisateurs de discuter de deux manières :
- soit en public avec d'autres personnes, à l'aide d'un channel
- soit en privée avec une seule personne
Par extension à la discussion publique, on peut très bien restreindre l'accès au channel.
Ce qui donnera une discussion privée pour un groupe restreint de personnes.
En public
Il faut d'abord choisir le channel (ou canal) qu'on souhaite rejoindre. Un channel s'apparente à ce qu'on pourrait appeler "salon" ou "groupe de discussion".
Le principe est que un à plusieurs internautes peuvent se voir sur un même lieu.
Pour rejoindre un channel, vous devez connaître son nom. Il est généralement préfixé par un "#".
Deux cas de figure peuvent se produire lorsque vous rejoignez un channel :
-
Le channel n'existait pas. Le channel sera donc crée, et vous en serez l'opérateur (c'est un statut dont j'en discuterai dans la section Les caractéristiques).
-
Le channel existe déjà. Vous y verrez apparaître tous les autres internautes ayant déjà rejoint le channel.
Un channel n'a d'existence que si au moins un internaute y soit.
Lorsque le dernier internaute quitte un channel, ce dernier sera automatiquement détruit, et pourra être recrée.
Dans un channel, vous y trouverez :
- Un message de bienvenue (communément appelé "topic")
- Une liste de personnes présentes
- ses caractéristiques, que seuls les opérateurs du channel contrôlent.
Les messages diffusés sont publiquement visibles. Pour éviter les abus, un ou plusieurs opérateurs du channel sont présents et
sont censés modérer le channel.
Selon le client IRC que vous utilisez, la différenciation entre un utilisateur simple et un opérateur (ou modérateur)
ne se fera donc pas de la même manière. Sachez cependant que le surnom de l'opérateur est préfixé par un "@".
Enfin, il est possible de rejoindre plusieurs channels, et d'être présent sur plusieurs channels à la fois.
En privée
Par opposition avec la discussion au sein d'un channel, il est aussi possible de discuter
avec une autre personne, en privée.
Les messages diffusés ne sont visibles que par l'interlocuteur.
Il est également possible d'être en communication privée avec plusieurs personnes.
Les caractéristiques (au delà des bases)
IRC se caractérise par les différents statuts qui peuvent être appliqués à chaque personne.
Mise à part le statut de l'opérateur IRC, les autres n'ont de sens que pour un channel, et ils sont propres à chaque channel.
Par exemple, une personne peut être opérateur d'un channel A et seulement utilisateur sur un channel B.
Bref, en voici la liste :
L'opérateur IRC (communément appelé IRC Op)
Ce statut est généralement réservé aux administrateurs des serveurs IRC.
Bien qu'ils aient les plein pouvoirs sur les serveurs IRC, ils ne s'impliquent généralement pas sur
les possibles querelles, et ne veillent exclusivement que sur le bon fonctionnement des serveurs et du réseau IRC.
L'opérateur d'un channel
Il s'agit généralement de la personne qui a crée le channel. Autrement dit, la première ayant rejoint un channel
qui n'existait pas (ou plus) et qui le crée.
Il existe un autre moyen qui utilise le service "ChanServ", pas présent sur tous les réseaux IRC,
mais je ne vais pas le détailler, ici.
C'est lui qui contrôle des caractéristiques du channel.
Il peut, entres autres :
- déterminer le mot de passe d'entrée sur le channel, s'il souhaite le rendre privé.
- déterminer si le changement du message de bienvenue est publique ou réservé aux opérateurs.
- modérer le channel
- donner la parole à certaines personnes, si le channel est modéré.
On appelle communément cette action, le "voice"
- permettre à une personne de devenir opérateur
- expulser une personne
- bannir une personne
Enfin, vous pouvez reconnaître un opérateur, grâce au préfixe "@" sur son surnom.
Les utilisateurs "voicés"
Ce type de statut n'a d'intérêt que sur les channels modérés.
Un channel modéré est un channel ou seuls les opérateurs et les "voicés" peuvent parler.
Les autres ne peuvent qu'écouter (ou plutôt lire).
Seuls les opérateurs peuvent "voicé" une personne.
Enfin, vous pouvez reconnaître un utilisateur "voicé", grâce au préfixe "+" sur son surnom.
En plus des statuts des utilisateurs, chaque channel possède des caractéristiques qui lui sont propres.
Une channel peut :
- disposer d'un mot de passe d'entrée
- être modéré ou non
- être limiter à un nombre maximum de personnes
et bien d'autres choses encore.
Les clients IRC
Le protocole IRC étant ouvert, on y trouve donc une multitude de logiciels client IRC,
et ceci pour un bon nombre de systèmes d'exploitation.
Néanmoins, je ne vais pas faire un tutorial de tous les clients IRC de la planête :p.
Voici ma petite sélection, qui vaut ce qu'elle vaut :
Visual IRC
Freeware ; Windows
Site officiel : http://www.visualirc.net
Principales caractéristiques (partiellement traduites du site officiel):
- Gratuit
- Gestion de profil utilisateur
- Sons sur les différents évènements
- Personnalisation des textes, couleurs et images
- Image de fond et Wallpaper
- DCC whiteboard : Permet de partager un espace de dessin, entre deux utilisateurs
- Transfert de fichiers rapides
- Minimiser dans la barre des tâches
- Style gras, souligné, italique en 16 millions de couleurs
- Sauvegardes des paramètres dans la base de registre ou sous forme de fichier .ini, l'idéal pour les supports amovibles
- Support du multi langues
- ... et bien d'autres encore
Pour suivre le tutorial d'installation et utilisation, que je vous ai concocté,
c'est ici
KVIrc
GPL ; Linux, Unix, Mac OS X, Windows
Site officiel : http://www.kvirc-fr.info
Principales caractéristiques (source issue du site officiel) :
- Multi-plateformes ( Windows, Mac, Linux, BSD, etc.. )
- Entièrement traduit en français
- Gratuit, libre et modifiable
- Gestion d'avatars ( photos/images ) dans la liste d'utilisateurs
- Smileys graphiques
- Fenêtre de gestion des transferts dcc ( avec limitation de la bande passante )
- Navigateurs de logs intelligents ( enregistrement des conversations )
- Complètement configurable de manière très simple
- Thèmes par défaut très sympathiques
- Support du langage Perl
- Moteur de scripting très pratique
- Equipe de développement très active, le projet évolue tous les jours
- Langage de scripting complet et très documenté
- Sans hésiter le plus évolué et le plus complet des clients irc
- Nombreux systèmes de cryptages
- ... et bien d'autres encore
Pour suivre le tutorial d'installation et utilisation, que je vous ai concocté,
c'est ici
HydraIRC
Freeware ; Windows
Site officiel : http://www.hydrairc.com
Principales caractéristiques (partiellement traduites du site officiel) :
- Ecrit en C++, utilisant des outils modernes (Visual Studio 7)
- Utilise les librairies WTL/ATL pour un programme rapide et efficace
- Utilise XML pour le format des fichiers de configurations
- Système d'onglet auto-masquable
- Rendu visuel agréable et interface utilisateur graphique intuitive.
- Support de la connexion sur plusieurs serveurs IRC.
- Message privées
- Complétion automatique sur les pseudonymes
- Identités utilisateur, pouvant être assignés par serveur et/ou par réseau IRC
- Alias de commandes IRC
- Auto connexion au démarrage de l'application
- Auto join des channels, configurable par réseau
- Icônes personnalisées pour différencier, les opérateurs, les "voices" ...
- Support du texte avec style (couleurs, italique, gras, souligné)
- ... et bien d'autres encore
Pour suivre le tutorial d'installation et utilisation, que je vous ai concocté,
c'est ici
XChat
GPL ; Linux, Windows (source gratuite, version compilée payante à partir de 30 jours), Mac OS X, FreeBSD, OpenBSD
Site officiel : http://www.xchat.org
Principales caractéristiques) :
- Multi plateforme
- Multi langues
- Support de plusieurs jeux de caractères et UTF-8
- Relativement intuitif
- Interface avec onglet et/ou multi fenêtres : Un onglet peut se détacher en fenêtre et vice versa
- Un système de plugin permettant d'ajouter des fonctionnalités
- ... et bien d'autres encore
Pour suivre le tutorial d'installation et utilisation, que je vous ai concocté,
c'est ici
mIRC
Shareware ; Windows
Site officiel : http://www.mirc.co.uk
Principales caractéristiques (source Wikipedia FR):
- Sans doute le plus connu des clients IRC
- Un langage de script basé sur des commandes et des évènements
- Connexion à de multiples réseaux
- Support des DCC pour le transfert de fichiers et le chat
- Protection contre le téléchargements de certains types de fichiers potentiellement dangereux
- Support du FServe
- Formatage du texte à l'aide de codes de contrôle ASCII et spécifiques à mIRC
- Support de SSL et des proxies
- Support de l'UTF-8
- ... et bien d'autres encore
Pour suivre le tutorial d'installation et utilisation, que je vous ai concocté,
c'est ici
MiaouIRC
GPL ; OS Independant, supportant Java
Site officiel : http://www.miaouirc.com
Principales caractéristiques :
- Multi plateforme, du fait de l'utilisation de Java
- Conçu pour être facile d'utilisation
- Liste d'amis
- Ampoule sur la liste des pseudonymes par channel, pour jauger la durée d'inactivité de chacun
- Support de l'UTF-8
- Support du français et de l'anglais ... pour l'instant
- Notification par texte d'info bulles, lorsqu'un nouveau message arrive
- DCC whiteboard : Permet de partager un espace de dessin, entre deux utilisateurs
- [Expérimental] : DCC Phone pour communiquer par voix IP
- [Expérimental] : Support de l'affichage de caractères coréens, chinois et japonais
- ... et bien d'autres encore
Pour suivre le tutorial d'installation et utilisation, que je vous ai concocté,
c'est ici
... euh .. ça viendra dès que j'aurai livré une nouvelle version de MiaouIRC !