En 1997, quand j'ai connecté mon premier client IRC à un serveur Undernet, le réseau comptait plus de 100 000 utilisateurs simultanés. C'était le deuxième plus grand réseau IRC au monde, derrière EFnet. Mais ce qui rendait Undernet unique, ce n'était pas sa taille — c'était X, le bot de CService, cette invention qui a changé la façon dont les channels IRC étaient gérés. Avant X, tenir un channel sur IRC relevait de la guérilla permanente. Après X, c'est devenu un service administré. Voici comment on en est arrivé là.
Le split fondateur : EFnet, 1992
Pour comprendre Undernet, il faut remonter à EFnet — le réseau IRC originel, descendant direct du code de Jarkko Oikarinen. En 1992, EFnet était un réseau anarchique. Pas de services d'enregistrement de pseudos, pas de gestion centralisée des channels. Si vous vouliez un channel, vous le créiez. Si quelqu'un d'autre le voulait aussi, vous vous battiez pour le garder. Les netsplits — ces déconnexions entre serveurs — étaient exploités systématiquement pour voler des channels. C'était l'état de nature.
Un groupe de développeurs et d'administrateurs, fatigués de cette situation, a décidé de forker. Pas seulement le code serveur, mais la philosophie même du réseau. Parmi eux, des gens comme Danny Mitchell, Laurent Demailly, et d'autres qui estimaient qu'un réseau IRC pouvait être géré de façon plus ordonnée sans devenir un régime autoritaire.
Le fork a donné naissance à Undernet en octobre 1992. Le nom venait de l'idée d'un réseau "souterrain", alternatif. Les premiers serveurs étaient hébergés par des universités et des particuliers, comme c'était la norme à l'époque. Le code serveur était un fork d'ircd 2.8, qui allait évoluer séparément sous le nom d'ircu (IRC Undernet).
Une philosophie différente
La différence philosophique entre EFnet et Undernet tenait en un mot : intervention. Sur EFnet, les opérateurs de serveur (IRCops) refusaient par principe d'intervenir dans les conflits de channels. "Votre channel, votre problème" était la doctrine. Sur Undernet, les fondateurs ont décidé qu'un minimum de structure était nécessaire.
Cela s'est traduit d'abord par des règles plus strictes pour les opérateurs de serveur, puis par le développement d'outils centralisés. L'idée était simple : si vous pouvez enregistrer un nom de domaine, pourquoi ne pourriez-vous pas enregistrer un channel IRC ? Cette analogie, triviale aujourd'hui, était révolutionnaire en 1993.
Undernet a aussi été pionnier dans le traitement des abus réseau. Les clones (connexions multiples d'un même utilisateur), les bots de flood, les takeovers de channels — autant de problèmes qu'EFnet laissait aux opérateurs de channels, et qu'Undernet a choisi de traiter au niveau du réseau.
CService : la révolution X
CService — Channel Service — est le système d'enregistrement et de gestion de channels développé par Undernet à partir de 1995-1996. Le concept : un service centralisé, accessible via un bot présent sur tous les channels enregistrés, qui maintient les listes d'accès et les droits des opérateurs indépendamment des netsplits et des déconnexions.
Ce bot s'appelait X. Sur Undernet, X était omniprésent. Quand vous enregistriez un channel, X le rejoignait automatiquement et y restait en permanence. X avait les droits d'opérateur et ne pouvait pas être déopé ou kické. Il était le garant de la légitimité du channel.
Pour enregistrer un channel, vous deviez d'abord créer un compte sur le site web de CService, puis soumettre une demande d'enregistrement qui devait être soutenue par un certain nombre de "supporters" — d'autres utilisateurs enregistrés qui confirmaient que le channel avait une communauté active. Ce processus filtrait les demandes fantaisistes et garantissait un minimum de sérieux.
Le système de niveaux d'accès de X était hiérarchique. Le fondateur du channel avait le niveau 500 (maximum). Il pouvait attribuer des niveaux inférieurs à d'autres utilisateurs : 400 pour les co-managers, 100-399 pour les opérateurs, en dessous pour les membres avec des droits limités. Chaque niveau débloquait des commandes spécifiques.
Comment X fonctionnait
X répondait à des commandes envoyées par message privé ou directement sur le channel. Voici les commandes de base que tout utilisateur d'Undernet connaissait :
/msg X login MonCompte MonMotDePasse
/msg X op #moncanal
/msg X deop #moncanal NickIndésirable
/msg X kick #moncanal NickIndésirable Raison du kick
/msg X ban #moncanal *!*@host.indésirable
/msg X access #moncanal -min 100
/msg X set #moncanal AUTOTOPIC on
/msg X set #moncanal DESCRIPTION Mon super channel francophone
La beauté du système, c'était la persistance. Vous pouviez vous déconnecter, revenir trois jours plus tard, vous authentifier avec /msg X login, et retrouver vos droits d'opérateur intacts. Plus besoin de laisser un bot tourner 24/7 pour "garder" le channel. Plus de vol de channel pendant un netsplit. X était là, permanent, incorruptible.
Le système de bans était particulièrement sophistiqué. X pouvait maintenir des bans persistants qui survivaient aux redémarrages du serveur. Les bans avaient une durée configurable et pouvaient cibler des masques d'hôte spécifiques. Pour les gros channels qui subissaient des raids réguliers, c'était un outil de défense indispensable.
; Niveaux d'accès typiques sur un channel Undernet
; 500 - Fondateur (manager) : contrôle total
; 450 - Co-manager : peut modifier les accès jusqu'à 449
; 400 - Senior Op : peut ajouter/retirer des accès
; 200 - Op régulier : op/deop/kick/ban
; 100 - Op junior : op/deop seulement
; 50 - Voice : peut se voice soi-même
; 1 - Membre : accès si le channel est invite-only
Les guerres de channels
CService n'a pas éliminé les conflits — il les a déplacés. Au lieu de se battre à coups de bots et de netsplits pour prendre le contrôle d'un channel, les gens se battaient via le système bureaucratique de CService. Les demandes d'enregistrement contestées, les plaintes pour abus de pouvoir des managers, les demandes de transfert de propriété — tout cela a créé un système quasi-juridique avec ses propres procédures et ses propres appels.
J'ai vu des disputes de channels durer des mois sur les forums de CService. Des threads de 50 pages où deux groupes argumentaient pour savoir qui était le "vrai" propriétaire de #france ou #italia. Les administrateurs de CService, bénévoles pour la plupart, devaient arbitrer ces conflits avec une patience de saint.
Le système avait aussi ses failles. Des utilisateurs créaient des centaines de comptes fantômes pour accumuler les "supports" nécessaires à l'enregistrement d'un channel. D'autres exploitaient les règles de purge automatique (un channel inactif était purgé après un certain temps) pour récupérer des noms de channels populaires. C'était un jeu du chat et de la souris permanent.
Les channels francophones d'Undernet — #france, #quebec, #maroc, #algerie, #tunisie — étaient parmi les plus grands et les plus disputés du réseau. La communauté francophone d'Undernet était massive dans les années 2000, et les querelles internes reflétaient cette taille. J'ai administré un petit channel technique pendant quatre ans sur Undernet, et même avec 30 réguliers, les questions de gouvernance prenaient un temps démesuré.
L'héritage d'Undernet
Undernet existe toujours en 2023, mais avec une fraction de son ancienne gloire. Le réseau compte quelques milliers d'utilisateurs là où il en avait des centaines de milliers. CService fonctionne toujours, X est toujours en ligne, les channels enregistrés sont toujours gérés de la même façon.
L'héritage technique d'Undernet est considérable. Le code d'ircu a influencé de nombreux serveurs IRC ultérieurs. Le concept de services de channels — enregistrement, niveaux d'accès, bots persistants — a été repris par quasiment tous les réseaux IRC qui ont suivi. DALnet avec ChanServ, Rizon, QuakeNet avec Q — tous ont emprunté des idées à CService.
L'héritage culturel est plus subtil. Undernet a démontré qu'un réseau de communication décentralisé pouvait bénéficier de services centralisés sans perdre son caractère ouvert. C'est un équilibre que chaque plateforme en ligne doit trouver : trop peu de modération et c'est le chaos, trop et c'est la censure. Undernet a navigué cette tension pendant 30 ans.
Pour ceux d'entre vous qui voudraient explorer Undernet aujourd'hui, connectez-vous à us.undernet.org ou eu.undernet.org sur le port 6697 (TLS). Créez un compte sur cservice.undernet.org. Parcourez la liste des channels avec /list. Vous y trouverez des communautés qui discutent depuis vingt ans, fidèles au poste malgré Discord, Slack et le reste.
La leçon d'Undernet, pour moi, c'est que la technologie seule ne résout pas les problèmes humains. X pouvait empêcher un takeover de channel, mais il ne pouvait pas empêcher deux groupes de se détester. Les outils techniques définissent le cadre, mais ce sont les communautés qui décident si elles veulent cohabiter. Trente ans plus tard, cette leçon n'a pas changé.
Questions fréquentes
Undernet existe-t-il encore ?
Oui. Le réseau est toujours actif avec plusieurs serveurs en Europe et en Amérique du Nord. Le nombre d'utilisateurs a fortement diminué depuis les années 2000, mais des communautés actives persistent, notamment dans les channels hispanophones et francophones.
Comment créer un compte CService en 2023 ?
Rendez-vous sur cservice.undernet.org et suivez la procédure d'inscription. Vous aurez besoin d'une adresse e-mail valide. Une fois le compte créé, utilisez /msg X login pseudo motdepasse pour vous authentifier sur le réseau.
Quelle est la différence entre X et les NickServ/ChanServ des autres réseaux ?
X combine les fonctions de NickServ (authentification) et ChanServ (gestion de channels) dans un seul bot. La différence principale est le système de niveaux d'accès numériques (1-500) qui offre une granularité plus fine que le système de flags (SOP, AOP, HOP, VOP) utilisé par la plupart des autres réseaux.