Journal ChatNova : un nouveau réseau IRC francophone avec webchat moderne

Posté par  . Licence CC By‑SA.
4
2
mai
2026

Bonjour Nal,

Ça fait un moment que je suis sur le projet et je voulais le
partager ici, parce que LinuxFr c'est un peu la maison des projets
libres francophones, et ChatNova en fait partie.

Le constat

IRC n'est pas mort, il est juste mal vendu. Discord a aspiré
toute une génération de communautés en jouant sur le confort
d'usage : webchat propre, mobile, notifications, intégrations.
Mais avec :

  • une centralisation totale,
  • une consommation de ressources délirante,
  • des walled gardens (pas de bot custom, pas de client tiers),
  • et une politique qui change selon l'humeur de l'entreprise.

IRC fait tout ce que Discord fait mal : léger, ouvert, fédérable,
client-agnostique. Mais l'onboarding pour un nouveau venu reste
horrible en 2026 : « télécharge HexChat, configure ce serveur,
tape /join… ».

C'est ce trou que j'essaie de combler avec ChatNova.

Le projet

ChatNova c'est un réseau IRC francophone avec un webchat moderne
en façade, mais un vrai backend IRC derrière. N'importe qui peut
se connecter avec son client préféré (HexChat, Irssi, weechat, mIRC)
sur irc.chatnova.fr, ports 6667 ou 6697 (SSL).

Le webchat sert juste de porte d'entrée pour les gens qui n'ont
jamais touché à IRC.

La stack technique

  • InspIRCd comme daemon IRC (modulaire, mature, bien maintenu)
  • Anope pour les services (NickServ, ChanServ, etc.)
  • Node.js + SQLite pour le backend du webchat et la couche applicative
  • Frontend custom sur un thème "Nova Cosmos" (j'avais envie d'un truc qui change des UI génériques)
  • Bots maison :
    • NovaGuard pour la modération et l'anti-spam
    • ResetBot pour les utilitaires de canal
  • Système de boutique virtuelle comme couche de gamification pour les utilisateurs réguliers

L'idée c'est de ne pas toucher au cœur IRC standard. Tout reste
compatible RFC, juste avec une expérience moderne par-dessus.

Où ça en est

Le réseau tourne sur un VPS, le développement est actif, et la
beta publique est dans la roadmap des prochaines semaines.

Si vous voulez jeter un œil :

Ce qui m'intéresse

Je suis preneur de tout retour, surtout de gens qui ont :

  • déjà géré un réseau IRC (les pièges à éviter)
  • de l'expérience InspIRCd / Anope (configs intéressantes)
  • un avis sur ce qu'il manque à IRC pour redevenir attractif en 2026
  • ou simplement envie de venir tester et casser des trucs

Je prévois d'autres journaux pour détailler les choix techniques
(architecture du pont webchat ↔ InspIRCd, les bots, le système
de boutique).

Merci d'avoir lu, et au plaisir de vous croiser sur le réseau !

  • # Hum

    Posté par  . Évalué à 1 (+0/-0).

    Bonjour,

    Je n'y arrive pas :

    ❌ Connexion refusée
    Motif : (xxxxx@avelizy-157-1-24-63.w83-204.abo.wanadoo.fr) []
    La connexion a été fermée par le serveur IRC.

    De plus la page https://web.chatnova.fr/ déclenche tous les ventilos de mon portable…

    arnauld

    • [^] # Re: Hum

      Posté par  . Évalué à 1 (+1/-0).

      Salut arnauld, et merci énormément pour le retour rapide et
      le test concret — c'est exactement le genre de feedback qui
      m'aide.

      Pour la connexion refusée : ton IP a été rejetée probablement
      par un DNSBL un peu trop zélé côté serveur (les IP résidentielles
      Orange/Wanadoo se retrouvent parfois à tort sur des blocklists).
      Je vais regarder les logs de mon côté et assouplir la conf —
      clairement pas l'expérience que je veux pour les nouveaux
      arrivants.

      Pour les ventilos qui s'emballent sur web.chatnova.fr : noté,
      et c'est un vrai problème. Le thème "Nova Cosmos" a probablement
      des animations un peu trop gourmandes (particules, dégradés
      animés). Je vais profiler ça et ajouter un mode "performance"
      ou détecter les machines plus modestes pour désactiver les
      animations lourdes.

      Je reviens vers toi ici dès que c'est corrigé, si ça te dit
      de retenter.

      Encore merci, c'est le genre de retour terrain qui vaut de l'or.

    • [^] # Re: Hum

      Posté par  . Évalué à 1 (+1/-0).

      Re-salut arnauld,

      Petit retour : les deux problèmes sont corrigés et déployés.
      Merci encore, tu m'as fait débuguer en accéléré 🙏

      Pour la connexion IRC refusée :

      La cause c'était une conf trop restrictive sur les limites de
      connexions par IP (localmax=5, globalmax=8), couplée à un
      throttle agressif. Pas terrible pour les FAI français qui font
      du CGNAT — plusieurs abonnés Orange / Wanadoo / Free peuvent
      partager la même IP publique, donc on saturait vite la limite.

      Ce qui a été fait :
      - Limites remontées (localmax=15, globalmax=25)
      - Throttle assoupli (fenêtre réduite, moins pénalisant en cas
      de reconnexion)
      - Ajout d'<exception> pour les hosts des principaux FAI
      français (wanadoo, orange, free, sfr, bouygues, numericable,
      proxad) — ils sont désormais exemptés des G/K/Z-lines
      accidentels
      - Nettoyage d'une vieille directive <clones> en syntaxe
      InspIRCd v2 qui traînait dans la conf

      Pour les ventilos qui s'emballaient sur web.chatnova.fr :

      Trois coupables identifiés :

      1. Une boucle requestAnimationFrame à 60 fps qui mettait à jour un filter CSS sur le logo à chaque frame. Throttlée à ~10 fps, mise en pause quand l'onglet est caché, et désactivée si prefers-reduced-motion est actif.
      2. Une animation CSS qui animait filter: blur() (en plus de l'opacité), ce qui forçait des recompositions GPU non-stop. Réduite à de l'opacité pure → accélération hardware propre, plus de recompositions.
      3. Absence totale de support prefers-reduced-motion. Ajouté partout (CSS + JS).

      Bonus : will-change: transform sur les couches de fond pour
      que le navigateur les promeuve sur leur propre couche GPU dès
      le départ et évite les repaints inutiles.

      Si t'as 2 minutes pour retenter la connexion et rouvrir la page
      web, je serais curieux de savoir si c'est mieux chez toi. Et si
      d'autres trucs te sautent aux yeux, n'hésite pas — c'est exactement
      le genre de retour qui fait avancer le projet.

      Merci encore !

      • [^] # Re: Hum

        Posté par  . Évalué à 1 (+0/-0).

        Ça y est, je suis connecté, le ventilo s'est calmé.

        Si je peux me permettre, le thème est difficilement lisible, on voit à peine les cases identifiant, mot de passe, etc…

        arnauld

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.