Autour de la notion de salon virtuel et d'IRC

Avant-propos

Par un beau matin d'octobre deux mil quatorze, il fut possible de lire qu'un de ces réseaux sociaux, par ailleurs très en vogue en ce début de XXIème siècle, avait déployé la possibilité pour ses utilisateurs de discuter entre eux via des salons. Qu'est ce que cela pouvait bien signifier pour le profane ? Tout simplement qu'une nouvelle interface de messagerie instantanée a complété sur ce réseau social, l'interface déjà existante permettant à deux personnes de communiquer par texte dans une fenêtre de bavardage, ou chat, un terme issu de l'anglais.

Bien entendu, et cela demeure une réaction tout à fait compréhensible, des esprits échauffés s'empressèrent de dénoncer le fait que ce concept n'a pas été inventé par le réseau social en question, mais a été développé il y a déjà bien longtemps, en tout cas à l'échelle de l'informatique. Ce n'est d'ailleurs pas tout à fait exact puisque le réseau en question utilise également des outils un tantinets plus récents pour définir les canaux des salons.

Le but de cet article est de vous fournir, chère lectrice, cher lecteur un point de départ pour appréhender le monde des réseaux IRC. Peut-être en avez vous déjà entendu parler, peut-être point. Peut-être pensez vous qu'il s'agit d'un outil antique, destiné aux grands gourous de l'informatique pour garder secrètes leurs communications, loin des oreilles du profane. Peut-être que, vous réviserez, votre jugement, pour le meilleur ou pour le pire, après lecture de ce petit document, si bien sur le temps vous permet de poursuivre la lecture jusqu'au bout. Vous aurez l'occasion de découvrir la face émergée de l'iceberg concernant la culture autour des réseaux IRC, des outils précurseurs, aux origines, jusqu'à l'état actuel du protocole et de l'utilisation des divers réseaux IRC aujourd'hui encore ouverts. Vous pourrez découvrir quelques logiciels pour discuter avec vos amis, votre famille, en utilisant les réseaux IRC, et par là même, si le courage vous en dit, vous pourrez même apprendre les bases pour écrire votre propre client IRC. Enfin, si vous disposez d'une machine et que vous savez la configurer pour la rendre visible sur Internet, vous pourrez même construire votre propre réseau IRC, du moins la couche technique, tout la culture autour du réseau dépendra des personnes qui viendront se connecter à votre réseau.

Quel que soit votre point de vue, maintenant et à l'avenir, chère lectrice, cher lecteur, puisse la lecture de ce document vous être agréable.

ToKamaK.

Sommaire

  1. Les salons de discussion virtuels à travers les âges
    1. Analogie, le salon classique
    2. Outils précurseurs
    3. Internet Relayed Chat - Des débuts à nos jours
  2. Clients IRC plus ou moins traditionnels
    1. Classique sans être traditionnel, HexChat
    2. Les terminaux à l'honneur, irssi
    3. Pour les plus atteints, nc et stdin
  3. Serveurs et canaux IRC, installation et administration
    1. Choisir un serveur IRC
    2. Opérateurs de canaux - Demi opérateurs de canaux
    3. Les robots
  4. Et après ?

Les salons de discussion virtuels à travers les âges

Non pas qu'elle ne soit pas passionnante, mais raconter l'histoire de l'informatique et en parallèle l'histoire de la communication pourrait potentiellement manquer de pertinence. Ce serait pourtant un bon sujet pour un énième verbiage. Passons ! La forme des outils des salons de discussion virtuels rejoint plus ou moins le salon physique tout ce qu'il y a de plus classique : plusieurs personnes sont présentes, ce que dit l'une sera perçu par toutes les autres, à moins que deux personnes se mettent à part pour discuter entre elles.

Analogie, le salon classique

Le salon classique est celui-là même qui fut utilisé depuis au moins le XVIIème siècle par les lettrés et les lumières pour échanger oralement leurs idées.

La lecture de Molière de Jean-François de Troy (1728)
Peinture à l'huile représentant un salon littéraire au XVIIIeme siècle.
Un lecteur tient un livre, supposément de Molière, devant un auditoir captivé.

Bien qu'il soit quelque peu pédant d'assimiler directement un cercle littéraire à un salon de discussion, la fonction en est la même. On retrouve les même comportements :

Les salons virtuels proposent à peu près la même expérience de partage d'idée que le salon, le partage du jus d'orange ou du picon-bière en moins, hélas.

Outils précurseurs

Le protocole IRC ne disposait pas réellement d'équivalent avant sa création. Les outils de l'époque se bornaient à permettre les communications d'utilisateur à utilisateur sur une même machine, à l'instar des outils Unix tels que talk. Divers bricolages tels MUT n'étaient pas assez souple pour gérer une montée en charge ou bien difficiles à maintenir ou bien encore n'étaient pas développés pour vos systèmes cibles.

Concernant les outils assimilables de plus ou moins loin aux salons, ils étaient bien éloignés des messageries instantanées. Il est plus propre de parler de panneaux d'affichage en plus ou moins libre service. Ce sont les fameux BBS, ou Bulletin Board System, ou encore babillard électronique en Français Québécois, déployés dans la plupart des universités connectées, ou non, à Internet, à la fin des années 70. Au fur et à mesure que la communauté grandissait autour d'un BBS, le résultat ressemblait bien davantage à un forum qu'à un salon.

Un des réseaux de BBS les plus gros fut Usenet. Usenet est une technologie basée sur un réseau de serveurs contenant chacun une copie de l'ensemble des messages postés par ses utilisateurs. Les fichiers sont copiés en entiers d'une machine à l'autre. Chaque serveur Usenet est la réplique des autres machines, ce qui représente aujourd'hui une quantité colossale de données. Au début des années 2010, le trafic est de l'ordre de la dizaine de téraoctet par jour. Tout comme les BBS, Usenet n'est pas vraiment assimilable à un salon, mais plutôt à un vaste forum comportant des sections portant sur quasiment tout les sujets. Il y a bien sûr l'informatique en général, mais aussi des sections réservées à la musique, au cinéma, à la politique, des sections dédiées aux langues autres que l'anglais et dans lesquelles ont retrouvait la même arborescence de sujets. Usenet est probablement le réseau qui aura connu les débats les plus enflammés entre les années 80 et le début des années 90, avant l'avènement du web puis plus tard des réseaux sociaux une grosse décennie plus tard.

Étant donné les ressources nécessaires l'infrastructure du réseau Usenet, l'organisation humaine et virtuelle obéit à une hiérarchie stricte. Les messages postés appartiennent à des sujets bien spécifiques et hiérarchisée dans une arborescence clairement définie par des comités. Pour plus de détails sur Usenet, la présentation effectué par Ollivier Robert lors des rencontres Pas Sage En Seine de 2013 est une excellente source d'informations et de détails aussi bien historiques que structurels.

Mais s'il est un outil qu'il faut mentionner et qui a inspiré le fonctionnement d'IRC, c'est bel et bien BITNET. Ce n'est ni un salon, ni un logiciel de messagerie instantanée, c'est un réseau à part entière. Il s'agit d'un des précurseurs d'Internet, au même titre que le réseau de la DARPA, disponible aussi en dehors des États-Unis. Comme dit, il fonctionnait un peu sur le même principe que Usenet, dont on a parlé plus tôt, à savoir, les fichiers sont copiés en entier d'une machine à l'autre, plutôt que d'avoir un flot d'octets comme en TCP/IP. Ce réseau fournissait différentes infrastructures logicielles de communication, non seulement pour le courrier électronique, mais aussi des outils de dépôt et transfert de fichiers, et surtout une infrastructure de messagerie en temps réel.

Internet Relayed Chat - Des débuts à nos jours

Le protocole IRC a été mis au point à la fin des années 80. Plus précisément en 1988 en Finlande par un administrateur système, Jarkko "WiZ" Oikarinen et Darren Reed. Pour paraphraser ceux qui vécurent cette époque, l'IRC était grandement inspiré du système de messagerie instantané disponible sur le réseau BITNET. Les grandes lignes de l'Histoire d'IRC condensées par Daniel Stenberg sont disponibles sur une de ses pages web, en Anglais. La suite de l'article est donc un condensé en Français du condensé en Anglais suscité.

La mise au point du protocole dans une version proche de celle qu'on connait aujourd'hui sous le doux nom de RFC 1459 a mis à peu près cinq an a être définie. Elle est parue en 1993. Entre temps plusieurs réseaux eurent le temps de voir le jour. Bien sûr, le réseau amélioré par WiZ, mais suivi de près par EFnet en 1990 et Undernet en 1992. Ces réseaux l'étaient, au sens où ils utilisaient leur propre version du protocole alors en cours de développement.

Divers réseaux se sont développés y compris après la définition du protocole et ses révisions. On peut citer Dalnet, oz.org ou IRCnet, qui respectivement, ajoutaient des fonctionnalités au dæmon de référence ou qui palliaient à des problèmes de performance. Le réseau IRCnet fut le théâtre, tout comme Usenet, de débats plus ou moins enflammés, notamment sur, attention au suspens, les évolutions à apporter à IRC. On peut y voir d'ailleurs une certaine dissension entre les services fournis en Europe et ceux fournis en Amérique car les deux réseaux s'étant séparés étaient IRCnet en Europe et EFnet en Amérique. Vraiment, ce qui distinguait un réseau d'un autre était l'implémentation de leur ircd.

Puis vinrent les années 2000, les développements des dæmons IRC continuent mais ne sont plus vraiment l'objet de grandes guerres comme elles furent vécues au courant des années 80 et 90. C'est à partir de cette époque que pour un grand nombre d'utilisateurs des réseaux IRC, quand on pense IRC, on pense FreeNode ou QuakeNet. Ce sont là les noms des deux services IRC les plus utilisés jusqu'à aujourd'hui (2014).

Plus récemment, on constate une certaine stagnation des populations utilisant IRC au profit d'outils propriétaires mis à disposition par les sites de réseaux sociaux, soit d'autres protocoles tels XMPP, aussi connu sous le nom de Jabber, qui constitue un des grands réseaux XMPP, moins orienté salons bien qu'il permette d'inviter plusieurs utilisateurs à une discussion entre deux personnes. Cette évolution a apporté un certaine confidentialité aux outils tournant autour des clients et serveurs IRC, à tel point que l'opinion publique est persuadée qu'il ne s'agit guère plus que de repères de pirates informatiques et de réactionnaires en tout genre. Ce ne serait guère un problème si ça ne menait pas à des conclusions hâtives lors du jugement de certaines affaires comme l'affaire Triskel. Un administrateur fournissant des services permettant l'accès à partir d'un client web à divers réseaux IRC. Ce genre d'affaire est relativement courant, les administrateurs ayant été rendus responsable des données échangées sur les systèmes qu'ils maintiennent. Cependant l'intéressé n'était nullement administrateur de serveur IRC, il était administrateur de serveur web dont le site facilitait l'accès à n'importe quel serveur IRC respectant le protocole IRC, dont par conséquent font partie les serveurs IRC constituants entre autres des repaires de pirates.

Quoique les outils tournant autour d'Internet Relayed Chat soient encore très utilisés, seul le noyau des utilisateurs versés à divers degrés dans les arcannes de l'informatique semble être toujours utilisateur de cet outil.

Clients IRC plus ou moins traditionnels

Classique sans être traditionnel, HexChat

HexChat
Capture d'écran du panneau principal du
client IRC HexChat.  L'essentiel de l'écran est occupé par la discussion.  Un
champ en bas permet de ramener sa fraise à la discussion.  Les différents
canaux sont listés par onglets après un changement de configuration et les
utilisateurs du canal courant sont listés dans un panneau latéral à
droite.

Simple, efficace, disponible pour la plupart des systèmes d'exploitation, HexChat vous permettra de vous connecter à n'importe quel serveur IRC, c'est la base. Il embarque également une liste des serveurs et canaux IRC les plus courants et les plus utilisés, dont FreeNode et QuakeNet, qui ont été mentionnés précédemment. Cet outil est très bien pour débuter car il est distribué avec des réglages par défaut tout à fait convenables, permet de choisir des serveurs et des canaux parmi les plus populaires sans avoir à partir à la pêche aux informations de connexion. Ce logiciel est tout aussi bien pour un usage confirmé car possède des quantités de réglages concernant l'affichage des serveurs, des canaux, des fenêtres de discussion, et bien sur des possibilité de scripting en langages Perl, Python et Tcl/Tk.

À noter toutefois qu'il est possible, notamment dans les distributions de logiciels LTS telles RHEL, Debian ou Ubuntu LTS, que vous tombiez sur XChat, l'aïeul de HexChat. En effet, la reprise du logiciel XChat par HexChat a été effectuée assez récemment, au début des années 2010 et HexChat n'existait pas ou n'était pas stabilisé au moment du gel de la distribution.

Fenêtre de sélection des réseaux IRC
C'est le panneau d'accueil de
HexChat, un formulaire permet de remplir les pseudonymes choisis et leurs
alternatives, les canaux sur lesquels se connecter. etc.

Au premier lancement vous est présentée la fenêtre ci-dessus. Vous devez choisir un pseudonyme ainsi qu'un réseau de serveurs IRC auquel vous connecter. Essayez de choisir un pseudonyme comportant neuf caractères ou moins, il s'agit d'une limite historique et il se peut que certains serveurs IRC soient toujours paramétrés sur cette limite. Ce n'est pas forcément idiot car le pseudonyme d'un utilisateur est généralement affiché à côté du message et si cet identifiant fait cinq ou six fois la longueur de son message, cela aura tendance à agacer l'assistance.

Les multiples propositions pour les pseudonymes permettent de choisir automatiquement une autre identité si une connexion par quelqu'un ayant le même pseudonyme que vous est déjà ouverte.

Si le réseau auquel vous souhaitez vous connecter n'apparait pas dans la liste (disons par exemple que vous souhaitez vous connecter au serveur déployé par une bande copains), alors il est possible de créer votre propre réseau en cliquant sur Ajouter. Vous vous retrouverez alors avec la fenêtre suivante :

Fenêtre de configuration de la connexion à un réseau IRC

Vous devrez renseigner divers paramètres. Les configurations essentielles sont
l'adresse du serveur (ici dismorphia.info) et son numéro de port
(en général 6667 sur les communications non chiffrées). Il est également
intéressant de renseigner un canal de préférence pour s'y connecter
automatiquement une fois connecté au serveur.

Les options supplémentaires concernent essentiellement le chiffrement et le mot de passe pour vous identifier sur le réseau si votre pseudonyme a été enregistré côté serveur. Pour le jeu de caractères, le choix dépends des conventions utilisées par les utilisateurs du serveur. Sur dismorphia.info, on utilise l'Unicode UTF-8 mais la plupart des serveurs plus ancien utiliseront peut-être un jeu différent, plus restreint, tel l'ASCII ou l'ISO 8859-15.

À titre d'information, le real name apparaissant dans la seconde figure est utilisé comme login au lieu du pseudonyme pour permettre aux IRCops de travailler tout en ayant un pseudonyme variable. Bien entendu, la connexion en mode IRCop est protégée par mot de passe, pour éviter les usurpations d'identité, d'un point de vue technique. Attention à bien activer les connexions chiffrées sur le serveur et dans votre client IRC avant de faire circuler un mot de passe IRCop pour vous loguer car sans ça, il circulera en clair sur le réseau, avec une probabilité de compromission très élevée.

Les terminaux à l'honneur, irssi

Illustration du client IRC irssi.
 Du texte, du texte et encore du texte... Après tout, l'essentiel des
messages échangés par les gens à distance sont sous forme de texte.

Comme vous pouvez le constater sur l'illustration, irssi est un client IRC tournant dans une interface purement textuelle. Ça peut être pratique pour les quelques personnes fâchées avec les interfaces graphiques ou celles souhaitant travailler dans des sessions ou environnements de travail type screen ou tmux. Ces outils ont des propriétés intéressantes, comme le multiplexage de terminaux à partir de simples raccourcis clavier, ou la sauvegarde de session au cas ou vous subissiez une coupure réseau involontaire (ou même volontaire). Ceux qui travaillent régulièrement sur des machines à distances savent de quoi il est question ici. Si vous travaillez sur une machine serveur alpha à partir d'un client A, vous pouvez vous détacher de votre session de travail et vous y rattacher à partir d'une autre machine, le client B. Mais cessons ici cette digression, voulez vous ?

Pour lancer ce client IRC, ouvrez tout d'abord un terminal et tapez tout simplement :

irssi

Ceci fait, vous voyez apparaitre l'interface du client, c'est assez minimaliste et pour l'instant très vide, on va corriger ça. D'abord il faut se connecter à un serveur IRC :

/server dismorphia.info

Au besoin, il est possible de préciser le numéro de port sur lequel se connecter, sans cela, le client essaiera directement le port 6667 :

/server dismorphia.info 6667

Une fois que la connexion a réussi, vous devriez voir un message de bienvenue et des informations statistiques concernant le serveur IRC. Vous pourrez alors joindre l'un des canaux existant ou créer votre propre canal via la commande /join, comme par exemple :

/join #dismorphia

Vous pouvez maintenant discuter avec vos camarades. :^)

Pour plus de détails, il est possible d'afficher l'aide des commandes dans l'écran d'accueil du serveur. Pour passer d'un écran à l'autre, il faut utiliser C-n ou C-p, et puis entrer :

/help

Il est intéressant de noter que ces diverses commandes sont utilisables avec le client HexChat, ce qui plaira aux utilisateurs avancés.

Pour les plus atteints, nc et stdin

Avertissement : Si l'informatique n'est pas vraiment votre truc, ou si vous avez du mal avec le plain texte, il n'y a nulle honte à passer cette section.

De quoi s'agit il ? La commande nc est une commande toute simple dont le nom provient de la contraction de Network Concatenation. Elle est très utilisée par les développeurs d'outils en réseau pour mettre au point de tels logiciels.

Exemple de session :

  1. La première étape consiste à ouvrir un terminal puis à ouvrir la connexion TCP avec le serveur en utilisant nc. Cette fois ci, il est obligatoire de préciser le numéro de port car nc est un outil à usage général et non un logiciel prévu pour être utilisé comme client IRC :
    nc dismorphia.info 6667
    
  2. Une fois la connexion TCP établie, point d'interface autre que de taper directement à la position du curseur après avoir tapé Entrée. C'est ce que l'on nomme l'entrée standard, ou stdin. Il faut s'enregistrer auprès du serveur :
    user tokapix dismorphia.info dismorphia.info ToKamaK
    nick tokapix
    
    Ce dernier vous renverra alors son implémentation, numéro de version et le message de bienvenue :
    :irc.dismorphia 001 tokapix :Welcome to the Internet Relay Network tokapix!~tokapix@example.com
    :irc.dismorphia 002 tokapix :Your host is irc.dismorphia, running version ngircd-22 (i686/pc/linux-gnu)
    :irc.dismorphia 003 tokapix :This server has been started Sat Dec 06 2014 at 16:25:17 (CET)
    :irc.dismorphia 004 tokapix irc.dismorphia ngircd-22 abBcCFioqrRswx abehiIklmMnoOPqQrRstvVz
    :irc.dismorphia 005 tokapix RFC2812 IRCD=ngIRCd CHARSET=UTF-8 CASEMAPPING=ascii PREFIX=(qaohv)~&@%+ CHANTYPES=#&+ CHANMODES=beI,k,l,imMnOPQRstVz CHANLIMIT=#&+:10 :are supported on this server
    :irc.dismorphia 005 tokapix CHANNELLEN=50 NICKLEN=15 TOPICLEN=490 AWAYLEN=127 KICKLEN=400 MODES=5 MAXLIST=beI:50 EXCEPTS=e INVEX=I PENALTY :are supported on this server
    :irc.dismorphia 251 tokapix :There are 5 users and 0 services on 1 servers
    :irc.dismorphia 252 tokapix 1 :operator(s) online
    :irc.dismorphia 254 tokapix 3 :channels formed
    :irc.dismorphia 255 tokapix :I have 5 users, 0 services and 0 servers
    :irc.dismorphia 265 tokapix 5 5 :Current local users: 5, Max: 5
    :irc.dismorphia 266 tokapix 5 5 :Current global users: 5, Max: 5
    :irc.dismorphia 250 tokapix :Highest connection count: 5 (13 connections received)
    :irc.dismorphia 375 tokapix :- irc.dismorphia message of the day
    :irc.dismorphia 372 tokapix :- Bonjour,
    :irc.dismorphia 372 tokapix :- 
    :irc.dismorphia 372 tokapix :- Le canal de communication principal est #dismorphia.
    :irc.dismorphia 372 tokapix :- Passez nous voir à l'occasion! :p
    :irc.dismorphia 376 tokapix :End of MOTD command
    
    Accueillant n'est-il pas ? :^)
  3. Vous pouvez alors joindre un canal de discussion, ou même directement entamer des discussions privées avec les autres utilisateurs. Mettons que vous souhaitiez joindre le canal #dismorphia :
    join #dismorphia
    
    Le serveur vous confirmera alors la connexion au canal et en renverra également la liste des utilisateurs:
    :tokapix!~tokapix@localhost.localdomain JOIN :#dismorphia
    :irc.dismorphia 353 tokapix = #dismorphia :tokapix t12oll ToKamaK Alaiks
    :irc.dismorphia 366 tokapix #dismorphia :End of NAMES list
    
    Pour envoyer un message dans le salon de discussion, il suffit alors tout bêtement de
    privmsg #dismorphia :Bonjour à tous! :p
    
    Les messages en provenance des autres utilisateurs auront la forme suivante :
    :ToKamaK!~tokamak@example.com PRIVMSG #dismorphia :Salut tokapix!
    
  4. Enfin pour quitter, il suffit simplement d'utiliser la commande suivante, en précisant après les deux points la raison de la déconnexion (normalement ce message est un diagnostic pouvant être envoyé par le client IRC) :
    quit :Bye
    
    Le serveur vous renverra alors les statistiques avant de fermer la connexion :
    :irc.dismorphia NOTICE tokapix :Connection statistics: client 0.1 kb, server 1.6 kb.
    ERROR :"Fin de session"
    

Vous pouvez retrouver toutes les commandes du protocole IRC dans sa RFC 1459. À partir de ces commandes, vous avez tout ce qu'il vous faut pour écrire des robots bavards et, pourquoi pas, votre propre client IRC. ;^)

Serveurs et canaux IRC, installation et administration

Choisir un serveur IRC

Sous Unix, ce ne sont pas les serveurs IRC qui manquent, une recherche sur les paquets proposant un dæmon IRC, ou ircd, sur un système appartenant à la famille Debian renvoie entre autres :

charybdis   - fast, scalable irc server
dancer-ircd - an IRC server designed for centrally maintained network
inspircd    - Modular IRCd written in C++
ircd-hybrid - high-performance secure IRC server
ircd-irc2   - The original IRC server daemon
ircd-ircu   - Undernet IRC Server daemon
ircd-ratbox - advanced, stable and fast ircd
ngircd      - Next generation IRC Server
oftc-hybrid - Hybrid 7 IRC daemon - OFTC branch

Les listings un peu plus complets concernant IRC proposent également des interfaces de programmation pour traiter, ou parser, du protocole IRC, des interfaces de programmation pour convertir du Twitter, une infrastructure propriétaire, en IRC et plein d'autres éléments intéressant surtout les développeurs, en particulier les en-têtes et les symboles de débugage.

Dans la liste on peut reconnaitre deux serveurs en particuliers : ircd-irc2 qui est l'implémentation que l'on pourrait qualifier de référence, et ircd-ircu qui est la version du réseau Undernet, mentionné dans la partie histoire. Sur dismorphia.info le serveur installé est ngircd. Le choix du serveur dépend des fonctionnalités dont vous souhaitez disposer, en plus du protocole classique. Les extensions concernent essentiellement des détails d'administration. Par conséquent, avant de choisir, n'hésitez pas à consulter la suite de cet humble petit dossier.

Un des éléments intéressants du protocole IRC est la mise à l'échelle. Les gros réseaux peuvent utiliser une multitude de serveurs différents pour un même réseau. Qu'est ce à dire ? Celà signifie simplement que si untel se connecte à un serveur example1.com/6667 et une telle se connecte à un serveur example2.com/9999, alors ces braves gens pourront tout de même discuter entre eux sur les même canaux IRC, s'envoyer des messages privés et ainsi de suite. Un IRCop, c'est un opérateur IRC, merci Captain Obvious. Plus précisément, c'est le plombier qui va se charger de gérer les serveurs IRC, de les connecter entre eux, de désaffecter les machines obsolètes et ainsi de suite. Il n'a, en théorie, pas de pouvoirs d'opérateur canal car il a des choses bien plus intéressantes à faire que de la modération, mais on y reviendra.

Opérateurs de canaux - Demi opérateurs de canaux

Les opérateurs de canaux sont en général les créateurs des dits canaux de communication. Il y a deux types de canal à administrer. Le premier est le petit canal temporaire pour discuter avec deux trois copains, le second est le canal IRC utilisé en permanence par une vingtaine de personnes, voir plus. Pour les anglophones n'hésitez pas à consulter ce petit guide du débutant opérateur de canal.

L'essentiel du temps passé sur un chan, abréviation de canal IRC, est passé à, attention au suspens, discuter. Il n'y a donc pas grand chose à faire dans le cas du petit canal pour discuter avec trois copains. L'essentiel de l'administration d'un tel chan consistera donc tout simplement à maintenir à l'écart les indésirables, et éventuellement les éloigner si d'aventure ils parvinrent à se connecter au canal.

Dans le second cas, il est impératif qu'il y ait des opérateurs ou des demi opérateurs présents sur le canal pour procéder à la modération. Hélas, le système d'authentification proposé par le protocole IRC est rudimentaire, pour ne pas dire inexistant. L'opérateur d'un canal est son créateur. Un opérateur qui quitte un canal ne retrouvera pas ses droits s'il ne recréé pas le canal, ie si tous les utilisateurs du canal ne se sont pas déconnectés. Il est donc important qu'il y ait toujours des opérateurs, des personnes de confiance, qui soient présentes sur le canal, sans quoi il sera rendu impossible à administrer.

Certaines solutions existent, à base de robots qui créent le canal puis sont configurés pour attribuer les droits aux personnes authentifiées comme étant les opérateurs de canal. Toutefois, ces solutions ne sont pas parfaites et si le robot n'est pas de votre conception, il peut potentiellement potentiellement vous causer du tort. Comme dirait le petit guide, il est préférable de laisser l'administration aux équipes d'administration si vous souhaitez simplement discuter avec vos amis.

Toutefois, pour les tout petits réseaux IRC, il n'est pas possible d'avoir une équipe d'administration tout autour du monde. Par contre vous avez un atout considérable, vous avez installé le serveur IRC, vous avez donc la possibilité de le configurer comme bon vous semble. Par exemple, le serveur ngircd permet aux IRCops d'être opérateurs de canal automatiquement sur les canaux prédéfinis. Ces canaux n'ayant pas de créateurs, sans cette possibilité pour les opérateurs IRC, ils ne pourraient pas avoir d'opérateur de canal.

Sur un serveur ngircd, pour devenir IRCop, vous pouvez envoyer la commande suivante au serveur:

/oper RealName Password

Ceci fait, à votre prochaine connexion à un canal prédéfini, vous passerez automatiquement opérateur.

Si vous utilisez HexChat, vous pouvez utiliser cette commande dans le champ Commande de connexion pour être immédiatement identifié en temps qu'IRCop. Sinon, même remarque que précédemment, si votre réseau IRC devait prendre de l'importance, activez le chiffrement pour ne pas compromettre vos mots de passe. Ce mot de passe IRCop doit être un mot de passe spécifique que vous n'utilisez nulle part ailleurs car stocké dans un fichier de configuration potentiellement en clair (s'il n'est pas stocké sur une partition chiffrée) et va circuler sur le réseau en clair si vous n'utilisez pas le chiffrement. A-t-il été précisé qu'il ne faut pas que ce mot de passe IRCop soit utilisé par vous ailleurs ? ;^)

Les robots

Pour faire court la recommandation du petit guide du débutant est de ne pas en utiliser. Pour être plus précis, il est possible de s'en servir pour la maintenance des sites, mais comme il est préférable de ne pas se servir de scripts dont vous n'êtes pas l'auteur, soit vous avez le niveau et vous écrivez votre propre bot, soit ce n'est pas le cas et apprenez à vous en passer.

Toutefois nous sommes dans un cas un peu particulier, il n'est pas ici question d'ouvrir un nouveau et grand réseau IRC pour détrôner QuakeNet. Il s'agit plutôt d'avoir des outils de discussion pour discuter tranquillement avec vos amis, votre famille, vos voisins. Vous pourriez utiliser votre capacité d'IRCop pour être opérateur sur les canaux prédéfinis, mais peut-être que vous pensez que ce serait un tantinet overkill. Une solution vaguement évoquée par le petit guide du débutant serait d'ouvrir un shell sur le système abritant le serveur IRC et de vous connecter sur ce service via un outil comme irssi, en ligne de commande, à travers un multiplexeur de terminal comme screen ou tmux. Une fois le chan créé, votre connexion locale a les droits opérateurs. Vous pouvez alors vous connecter sur le chan avec n'importe quelle machine et utiliser l'opérateur local pour vous donner les droits opérateurs. Ceci fait, vous pouvez détacher la session du multiplexeur. Vous pourrez ainsi vous deconnecter de la machine mais l'opérateur d'origine sera toujours connecté au chan. Vous pourrez toujours vous rattacher à la session du multiplexeur si vous avez à nouveau besoin des droits administratifs que le robot aura conservé.

L'explication ne semble pas très claire, un exemple vaudra mieux que 50 Mio de concepts en tout genres :

  1. Loguez vous via SSH sur une machine hébergeant votre service IRC
  2. Lancez une session avec un multiplexeur :
    tmux
    
  3. Connectez vous au serveur local avec un client en mode texte :
    irssi
    /server localhost
    /join #channel
    
  4. Une fois le chan créé, connectez vous via votre machine à vous avec n'importe quel client et joignez le chan.
  5. Dans la session en mode texte transférez vous, nouvel arrivant, les droits opérateurs :
    /op Pseudonyme
    
  6. Vous pouvez alors détacher la session de multiplexeur, par exemple en tapant la séquence C-b suivie de d, puis vous pouvez déconnecter votre session SSH.
  7. Si vous avez à nouveau besoin de vous attribuer les droits opérateurs, reconnectez vous en SSH et rattachez la session de multiplexage avec :
    tmux att
    
  8. Vous atteindrez ainsi directement la session IRC en mode texte et vous pourrez directement de nouveau vous attribuer les droits opérateurs.

Le principe de programmation d'un bot est un peu le même. Il se connecte le premier sur le chan, puis attribue les droits d'opérateur et de demi opérateur en fonction des arrivants. Comment ça c'est du gros bricolage ? Non, c'est normal, nous sommes dans un lab', en conditions de laboratoire. :^°

Et après ?

Voilà, cet article devrait vous fournir un aperçu assez synthétique d'IRC, sa communauté, ses clients, son protocole et ses serveurs. Le monde des salons de discussion n'est peut-être pas forcément le plus vaste, mais il est peuplé de toute sortes d'outils. Bien sûr la messagerie instantanée continue d'évoluer. Le succès d'XMPP et les outils de vidéoconférence sont des évolutions potentielles d'IRC. Cependant, aucun de ces outils ne semble fournir un réel remplacement au salon de discussion puisqu'ils sont plutôt centrés sur les communications d'une personne à une autre personne. Mais peut-être que c'est simplement l'esprit humain qui est plus accoutumé à discuter avec une seule personne à la fois. Peut-être aussi qu'un véritable remplaçant ou client aux capacités avancées se fait simplement attendre.

Une dernière remarque très importante!!!! Nous n'avons pas vu comment chiffrer les communications avec des certificats SSL. Il se trouve qu'en ce moment le monde des bibliothèques de chiffrement est en effervescence, depuis la faille de sécurité hearthbleed dans OpenSSL et les nombreuses failles supplémentaires découvertes par les hackers qui ont commencé à s'intéresser au code source de la bibliothèque. Vous pouvez toujours regarder du côté de la bibliothèque LibreSSL, si vous avez le courage de vous intéresser à fond à la question. Sinon laissez les questions de chiffrement à des pros dont vous pourriez avoir connaissance et confiance.

Difficile de dire de quoi le futur sera fait. « Il est difficile de prévoir, surtout l'avenir. » comme disait un spécialiste en gestion de projets. Concernant IRC, l'histoire montre que l'outil est plutôt sur le déclin. Est ce bien ou pas ? Un jugement de valeur sur cette page n'aura guère d'impact sur les grandes tendances d'utilisation des outils à disposition. Mais qui sait, peut-être que d'autres outils pourraient bientôt remplacer, ou juste simplement améliorer, les outils existants. Depuis peu, un tel outil actuellement en cours de développement semble sortir du lot. Il s'agit de Caliopen, un outil libre centralisant vos communications en affichant votre niveau de confidentialité et celui de vos contact. Le principe, et ce qui le différencie des outils qui eurent vocation de remplacer les géants des réseaux sociaux, est de s'intégrer à l'écosystème des outils déjà existants. De là, trois avenirs possibles :

Il est vrai que ces probabilités sont très optimistes, mais d'un autre côté l'affaire Prism, ce Watergate à échelle mondiale, a laissé planer un climat de malaise sur toute la population. Si un outil facile à prendre en main devait être disponible demain pour faciliter la gestion de la confidentialité des communications, il sera adopté vraisemblablement assez rapidement ; Caliopen pourrait bien devenir un tel outil.

Post-Scriptum

Si par hasard, vous remarquez des erreurs ou des imprécisions, vous pouvez me contacter par mail à l'adresse en pied de page, ou bien nous rejoindre dans notre salon de discussion sur dismorphia.info/6667, canal #dismorphia. Passez dire bonjour à l'occasion. ;^)

[ICO]NameLast modifiedSize
[PARENTDIR]Parent Directory  -
[IMG]DeTroy.jpg2018-11-16 21:37 274K
[IMG]irssi.png2019-07-16 19:41 21K
[IMG]hexchat_intro.png2019-07-16 21:15 25K
[IMG]hexchat.png2019-07-16 21:17 35K
[IMG]hexchat_config.png2019-07-16 21:20 32K
[IMG]DeTroy-gravure.png2019-08-18 16:07 44K
[IMG]hexchat-gravure.png2019-08-18 16:18 8.4K
[IMG]hexchat_config-gravure.png2019-08-18 16:20 7.0K
[IMG]hexchat_intro-gravure.png2019-08-18 16:21 5.5K
[IMG]irssi-gravure.png2019-08-18 16:22 12K

Cet article est apparu en premier sur dismorphia.info/~tokamak/. Il ne faisait cependant pas partie de l'archive redécouverte lors d'exercices de restauration de sauvegardes effectués fin 2018. L'horodatage des textes préformattés laisse à penser que l'article est sorti à la fin de l'année 2014, voir au début 2015.