Repenser les forums web

Cet article propose une courte réflexion sur les forums web et leur utilisation et questionne les outils associés aux principaux moteurs de ces derniers (phpBB, fireboard, punBB, etc.).

Capture forum

L'utilisation des labels

Chacun a déjà surfé sur des forums – ou fora pour les puristes réfractaires à la réforme de 1990 – ou en utilise même régulièrement. Chacun s'est donc au moins une fois retrouvé devant le dilemme suivant : dans quelle catégorie poster ou chercher un sujet ? Ex: j'ai une question assez précise qui touche à la fois au graphisme et au design web et à la programmation. Placer cette question dans l'une ou dans l'autre des catégories "Programmation", "Graphisme", "Web" est assez délicat car aucune n'est réellement adaptée en soi à ma question : celle-ci relève d'une combinaison des trois catégories.

L'idée ici est donc de sortir les forums de leur architecture habituelle (je pense à PhpBB, PunBB, etc.) et de permettre une utilisation/classification sur plusieurs niveaux, notamment via des labels associés aux sujets et créant un lien entre un sujet et une ou plusieurs thématiques. Cependant, s'il est important qu'un sujet puisse appartenir à plusieurs thématiques, il est probablement intéressant de le rattacher obligatoirement à un label plus ou moins général : on erre parfois dans les forums sans chercher. Certains labels sont donc plus généraux que d'autres et donc plus importants. On affecte alors à chaque étiquette (ou tag ou label) un ordre d'importance. La nuance ici entre une étiquette de premier niveau et une catégorie (dans le sens actuel) est que le sujet peut très bien appartenir à plusieurs labels de premier niveau.

La co-rédaction

Un autre élément manquant parfois aux forums en général c'est qu'il n'existe pas la possibilité de co-rédiger un sujet. Imageons : 2 ou plus membres d'un même forum se connaissent mutuellement et ont en commun un projet. Ils souhaitent présenter le dit projet à la communauté. Le blocage actuel est qu'ils doivent soit créer un nouveau compte utilisateur qui les englobera tous, soit le sujet doit être créé par un seul d'entre eux et ,ne bénéficient alors pas d'outils comme "m'avertir lorsque quelqu'un répond à mon topic" et ne peut pas non plus modifier le post en cas de besoin ou encore reprendre les rênes car l'auteur initial a démissioné, est porté disparu etc.. Notre forum devra donc permettre qu'un sujet soit en fait la propriété de plusieurs auteurs.

Je ne suis pas trop familier avec cette représentation mais certains semblent l'apprécier, j'ai donc essayé de vous présenter un schéma MCD d'un forum web tout simple (on peut facilement imaginer des champs plus nombreux, plus précis ou encore des associations plus optimisées).

MCD du forum
Le MCD a été conçu via MySQL Workbench.

La communication

Si nous n'avons pas plus besoin maintenant de poster plus rapidement sur un forum que précédemment (ce n'est pas une plateforme de messagerie instantanée après tout), nous pouvons être intéressés par le fait d'être plus rapidement au courant d'une réponse à un sujet donné.
Le forum doit donc pouvoir notifier l'utilisateur de manière quasi-instantanée en cas de nouvelles réponses ou lors d'un événement pré-enregistré par l'utilisateur (ex: ajout d'un sujet ayant pour tag "typo". La solution la plus simple est probablement d'utiliser une conversation via le protocole XMPP : cela permet de toucher les gens via Jabber, GTalk, etc..

Données et archivage

Le but ici est de faciliter l'accès et la lecture aux utilisateurs. Faciliter l'accès c'est notamment éviter à l'utilisateur de répéter incessamment les mêmes informations. Par exemple lors de l'inscription, la mise en place de la technologie OpenID permettrait de récupérer les informations souhaitées depuis son compte directement. Il faudra également permettre la modification de ces valeurs une fois enregistré en proposant de récupérer à nouveau les informations depuis le fournisseur d'identité.

La lecture, hormis à travers l'ergonomie du forum lui-même, c'est de considérer le forum comme une large base de conversations multi-utilisateurs. Or ces conversations sont souvent orientées pratique : demande d'un conseil, d'aide, d'une astuce. On peut ainsi souhaiter archiver ces conversations pour soit garder une trace de ce qu'on a dit ou ce que les autres ont dit, à la manière d'un client de messagerie instantanée en fait, soit pour pouvoir accéder n'importe quand et depuis n'importe où (ex: sans connexion internet) au conseil ou à l'astuce discutée. Il est alors important de proposer un archivage des sujets dans un format ouvert ; reste à choisir lequel : un simple fichier PDF ? Personnellement je pencherais pour un format déjà existant et dédié à la discution : Mbox, un format ouvert de stockage d'emails et facilement convertible.

Procédure de diffusion d'un hypothétique moteur de forum

Afin de permettre une plus large diffusion de ce moteur de forum, il faut toucher à la fois les utilisateurs bien sûr (via les fonctionnalités décrites plus haut) mais également les développeurs et webdesigners.

Ce qui est gênant et frustrant avec la plupart des moteurs actuels de forums web c'est qu'il est peu aisé de créer une interface belle et ergonomique : on est souvent limité. L'idéal pour le webdesigner serait de pouvoir créer intégralement l'interface du forum en y plaçant à sa guise les éléments le composant, via un langage de template simple, comme celui de SPIP : à partir de balises et de boucles présentes dans un simple fichier HTML (donc déjà connu du webdesigner).

Dans le même style – permettre aux non-programmeurs de paramétrer le forum comme ils l'entendent – l'utilisation de fichiers PO facilite la tâche aux éventuels traducteurs : le format est connu et exploitable par de nombreux logiciels. La plateforme de forum gagne alors en accessibilité linguistique.