J'ai donné mon ressenti concernant la shoutbox sur la shoutbox elle-même, mais vu qu'elle ne conserve que les 20 derniers messages, je vais le résumer ici (il y a une option pour activer les logs mais elle est payante, et je ne pense pas que ça vaille le coup de l'acheter pour ce que c'est sur le plan technique).
Je vais commencer par les problèmes posés par la shoutbox actuellement installée :
- Latence : la shoutbox ne s'actualise que toutes les 8 secondes, alors qu'on a une latence de quelques millisecondes (selon la connexion) avec un serveur IRC. 8 secondes, c'est à la fois peu adapté à une discussion en temps réel entre plusieurs personnes, et ça représente beaucoup de requêtes sur le plan technique (de quoi solliciter davantage le serveur web et la base de données, tout en pourrissant les logs Apache). Le problème pourrait être contourné avec une shoutbox utilisant une technologie comme les WebSockets au lieu de simples requêtes AJAX régulières, mais je ne suis pas sûr du tout qu'il en existe pour SMF.
- Stabilité : il semble y avoir des glitchs, notamment quand on ouvre la shoutbox dans plusieurs onglets (certains messages n'apparaissent qu'à un endroit). Les clients IRC les plus populaires sont le fruit de nombreuses années de développement par divers contributeurs.
- Logs : les logs sont limités aux 20 derniers messages sur la shoutbox (c'est peu pour suivre une conversation), il est nécessaire de payer pour avoir plus. Avec IRC, l'utilisateur peut configurer son client comme il le souhaite pour ce qui est des logs et du scrollback lorsqu'il est présent, et il y aurait éventuellement la possibilité d'installer un bot permettant d'avoir des logs à sa disposition pour savoir ce qui a été posté pendant son absence (si les gens sont d'accord).
- Optimisation : le code JavaScript de la shoutbox ne semble pas du tout être optimisé (par exemple, la façon dont la fonction setTimeout() est appelée provoque l'utilisation d'eval(), car le nom de la fonction à exécuter est passée sous forme de chaîne de caractère).
- Personnalisation : avec un client IRC, l'utilisateur peut personnaliser aisèment l'affichage des messages (police, couleurs de l'interface, interface graphique contre terminal contre web-IRC...), ainsi que la façon dont il peut être notifié. Notamment, la possibilité d'utiliser un client IRC en dehors du navigateur peut offrir plus de confort.
- Plugins : la shoutbox utilise Flash pour le son.
Un autre critère important est la visibilité. Si le t'chat est affiché tout en haut de la page d'accueil, ce n'est pas la même chose que s'il faut aller chercher sur le forum les informations (plus-ou-moins mises en valeur) pour configurer son client IRC, ou alors accéder à un web-IRC.
Il faut voir à qui le système de t'chat sera le plus destiné : est-ce qu'on cherche davantage à le présenter comme une annexe du site où les habitués peuvent venir discuter plus personnellement, ou comme un complèment du forum où le visiteur lambda viendra exposer ses problèmes d'ONT qui ne démarre pas et de connexion bridée à 93 Mb/s ?
Si c'est la première option, alors un canal IRC me semble clairement plus adapté.
Concernant la façon dont un canal IRC pourrait être hébergé, un hébergement sur le serveur de Lafibre.info avec par exemple UnrealIRCd, plutôt que sur un gros réseau existant comme Freenode, me semble plus adapté pour plusieurs raisons :
- Davantage de pseudos disponibles.
- Possibilité de forcer le SSL.
- Indépendance du serveur (notamment par rapport aux netsplits et autres problèmes techniques qui peuvent survenir régulièrement sur les gros réseaux).
- Possibilité de configurer davantage l'ircd.
Pour les personnes qui ne souhaitent pas installer un client IRC en tant que logiciel, ou chez qui les ports correspondant habituellement à IRC sont bloqués sur le réseau de leur travail par exemple, il reste la possibilité d'utiliser un web-IRC (passerelle entre le serveur IRC et le navigateur web). Pour utiliser un web-IRC, nul besoin d'installer quelque chose côté serveur, il existe des web-IRC qui peuvent se connecter à n'importe quel serveur comme Mibbit (même si l'interface n'est pas forcèment top) : il suffit alors de faire cliquer l'utilisateur sur un lien, et de lui demander de choisir un pseudo. Bien entendu, le fait qu'un web-IRC soit utilisable n'empêche aucunement l'utilisation d'un vrai client IRC pour ceux qui le préfèrent.
En prenant en compte tous ces éléments, quelle est la solution qui vous semble être la plus adaptée ?