Comment créer un forum : catégories, fils de discussion, recherche et contrôle du pourriel
Un forum est un ensemble de catégories, de fils de discussion à l'intérieur de celles-ci et de réponses à l'intérieur de ces fils, auxquels s'ajoutent des comptes, une recherche et la modération. Il se distingue d'un groupe de clavardage parce que les conversations sont organisées par sujet et restent utiles pendant des années : quelqu'un peut trouver un fil vieux de trois ans grâce à la recherche et obtenir quand même sa réponse. Pour en construire un, il faut bien réussir la page de fil et la recherche, rendre les fils lisibles par les moteurs de recherche si le forum est public, et avoir prêts les outils contre le pourriel et de modération avant l'arrivée du premier vrai membre.
Ce dont un forum a besoin
Pages
- Liste des catégories : la page d'accueil de la plupart des forums, avec la description de chaque catégorie et l'activité la plus récente.
- Liste des fils : les fils d'une catégorie, triés par dernière réponse, avec le nombre de réponses et une marque pour les fils résolus ou épinglés.
- Page de fil : le premier message et toutes les réponses dans l'ordre, avec citations, réactions et une zone de réponse.
- Formulaire de nouveau fil : titre, catégorie, contenu, étiquettes facultatives.
- Recherche : dans les titres et le texte des messages, avec des filtres par catégorie.
- Profil d'utilisateur : nom, avatar, date d'adhésion, nombre de messages, messages récents.
- File de modération : messages signalés et messages en attente d'approbation.
Données
| Table | Champs clés |
|---|---|
| Utilisateurs | nom, avatar, rôle, niveau de confiance, date d'adhésion, statut |
| Catégories | nom, slug, description, ordre de tri, qui peut publier |
| Fils | titre, slug, catégorie, auteur, épinglé, verrouillé, résolu, heure de la dernière réponse |
| Messages | fil, auteur, contenu, création, modification, masqué |
| Réactions | message, utilisateur, type |
| Signalements | message, auteur du signalement, motif, statut, décision du modérateur |
| Abonnements | utilisateur, fil (pour être averti des nouvelles réponses) |
Stocker « heure de la dernière réponse » et « nombre de réponses » directement sur le fil garde la liste des fils rapide, au lieu de compter les messages à chaque chargement de page.
Autorisations
- Visiteurs : peuvent lire les catégories publiques.
- Membres : peuvent publier et répondre, et modifier leurs propres messages pendant une durée limitée.
- Modérateurs : peuvent masquer, déplacer, verrouiller, épingler et fusionner des fils, et suspendre des utilisateurs.
- Administrateurs : gèrent les catégories et les rôles.
Une catégorie privée doit être vérifiée sur le serveur à chaque requête : la page de fil, les résultats de recherche, le RSS et les notifications exigent tous la même vérification, sinon des messages privés fuient par une porte dérobée. Voir comment ajouter le contrôle d'accès basé sur les rôles.
Décisions et compromis
Réponses à plat ou imbriquées. Les fils à plat (réponses dans l'ordre chronologique, avec citations) sont plus faciles à lire et constituent la norme pour la plupart des forums. Les réponses imbriquées (en arbre, à la manière de Reddit) conviennent au débat, mais deviennent difficiles à suivre sur un téléphone. Choisissez le format à plat, sauf si vous avez une bonne raison de ne pas le faire.
Mode questions-réponses. Pour les forums d'aide et de soutien, laissez la personne qui a posé la question marquer une réponse comme acceptée, et affichez-la juste sous la question. Cette seule fonctionnalité rend les anciens fils beaucoup plus utiles.
Public pour le référencement, ou privé. Les pages de fil publiques peuvent attirer un trafic de recherche régulier, mais seulement si les moteurs de recherche peuvent les lire. Cela signifie que chaque fil a sa propre URL claire, un vrai <title>, et que les messages figurent dans le HTML plutôt que d'être chargés plus tard par JavaScript. Demandez des pages de fil rendues côté serveur ou pré-rendues si le trafic de recherche compte pour vous. Pour en savoir plus, voir le référencement pour les sites web créés avec l'IA.
Texte enrichi ou Markdown. Le Markdown avec aperçu est facile à stocker de façon sécuritaire. Un éditeur visuel est plus convivial pour les membres non techniques. Dans les deux cas, nettoyez le HTML avant de l'afficher, pour que personne ne puisse injecter de scripts dans un message.
Recherche. La recherche plein texte de Postgres suffit largement pendant les premières années d'un forum. Un service de recherche dédié n'en vaut la peine qu'à grande échelle. Voir comment ajouter la recherche à votre application.
Pourriel et modération, avant le lancement
Les forums attirent le pourriel automatisé plus vite que presque tout autre type de site, parce que chaque message est une page publique qui peut contenir un lien. Prévoyez-le dès le départ :
- Niveaux de confiance. Les nouveaux comptes ne peuvent pas publier de liens ni d'images, et leurs deux ou trois premiers messages attendent l'approbation. Ensuite, ils publient librement.
- Limites de requêtes. Un plafond de messages par minute et par jour pour les nouveaux comptes.
- Vérification du courriel avant de publier.
- Bouton de signalement sur chaque message, alimentant une file de modération.
- Attribut nofollow sur les liens des utilisateurs, pour que les pourriels ne tirent aucun avantage des moteurs de recherche.
- Un journal de modération, pour que les modérateurs voient qui a fait quoi et pourquoi.
- Règles claires épinglées dans chaque catégorie.
Exemple de première invite
Crée un forum public de questions-réponses pour les passionnés d'espresso à la maison. Catégories : Machines, Moulins, Technique, Grains, Achat et vente. Tout le monde peut lire; les membres s'inscrivent avec un courriel et un mot de passe et vérifient leur courriel avant de publier. Les pages de fil à /t/[slug] doivent être rendues côté serveur, avec un titre et une méta-description uniques pour que les moteurs de recherche puissent les lire. Les réponses sont à plat, dans l'ordre chronologique, avec citations et une réaction pouce levé. La personne qui a lancé un fil peut marquer une réponse comme acceptée, affichée sous la question. Les trois premiers messages des nouveaux membres attendent l'approbation d'un modérateur, et ils ne peuvent pas publier de liens tant qu'ils ne sont pas approuvés. Les modérateurs peuvent masquer, verrouiller, épingler et déplacer des fils, voir une file de messages signalés, et chaque action est consignée. Ajoute une recherche dans les titres et les messages avec un filtre par catégorie, ainsi que des notifications dans l'application pour les nouvelles réponses aux fils que je suis. Enregistre tout dans une base de données.
Étapes de construction
- Page de fil d'abord. Créez quelques catégories et cinquante fils réalistes. Faites fonctionner la lecture, les citations et les réponses correctement sur un téléphone.
- Listes de catégories et de fils. Tri par activité récente, fils épinglés en haut, marques de résolution.
- Comptes et vérification. Voir comment ajouter la connexion à votre application.
- Modération et niveaux de confiance. File d'approbation, signalements, masquer, verrouiller, déplacer, journaliser. Testez comme un compte tout neuf qui tente de publier un lien.
- Recherche. Essayez les recherches que vos membres taperaient réellement.
- Référencement. Publiez, ouvrez un fil, affichez le code source de la page et vérifiez que les messages se trouvent dans le HTML. Ajoutez un plan du site des fils.
- Contenu initial réel. Rédigez vous-même les vingt premiers fils utiles, ou invitez quelques experts à le faire. Un forum vide ne reçoit pas de premier message.
Erreurs courantes
- Lancer un forum vide. Personne ne veut publier le premier message. Amorcez avec de vraies questions et de vraies réponses.
- Trop de catégories. Cinq catégories actives valent mieux que vingt catégories désertes. Divisez-les plus tard.
- Aucune approbation pour les nouveaux comptes. Les robots de pourriel trouvent rapidement les nouveaux forums.
- HTML des messages non assaini. Un script dans un message peut détourner les sessions d'autres utilisateurs. Nettoyez toujours le contenu des utilisateurs.
- Catégories privées qui fuient. Vérifiez les résultats de recherche et les notifications, pas seulement la page de fil.
- Compter les réponses à chaque chargement de page. Stockez les totaux sur le fil et mettez-les à jour lorsque les messages changent.
- Aucun moyen de supprimer un compte. Décidez ce qui advient des messages d'un membre qui part.
Quand un logiciel de forum est le meilleur choix
Les logiciels de forum libres et hébergés, comme Discourse, ont eu des années pour perfectionner les niveaux de confiance, la lutte contre le pourriel, l'intégration des courriels, la modération et les mises en page mobiles. Si vous voulez un forum généraliste et n'avez pas besoin qu'il fasse partie d'une autre application, installer ou s'abonner à l'un de ces logiciels est généralement plus rapide et plus sûr que de le construire. Les outils de clavardage conviennent aux échanges rapides, mais ils sont mal adaptés pour garder les réponses faciles à retrouver.
Construisez le vôtre lorsque le forum fait partie de votre produit (un forum de soutien dans votre SaaS, une section de questions-réponses sur une place de marché), lorsque vous avez besoin de données propres attachées aux fils (le modèle de machine, la commande, la leçon du cours), ou lorsque vous voulez que le design et les URL du forum vous appartiennent entièrement. Pour un espace de membres plus large avec profils et événements, voir comment créer une plateforme communautaire.
Construire avec Mythex
Sur Mythex, vous décrivez le forum dans le clavardage, vous l'essayez dans l'aperçu en direct, puis vous le publiez à une adresse publique, avec un domaine personnalisé sur le forfait Pro. Mythex ajoute une base de données Postgres dédiée aux utilisateurs, aux fils et aux messages lorsque l'application en a besoin, ainsi que du stockage de fichiers pour les avatars et les images. La pile par défaut est une application Vite et React rendue dans le navigateur; pour un forum public, demandez donc des pages de fil rendues côté serveur (Next.js est une option) et suivez la recette SEO. La connexion des membres et le courriel sont à apporter vous-même : choisissez une approche et un fournisseur, conservez les clés comme secrets du projet, et l'agent les intègre. Utilisez /test pour que l'agent parcoure la publication et la modération avant de publier, et lisez notre liste de contrôle de sécurité pour les applications créées avec l'IA avant d'ouvrir les inscriptions.
Questions
De quoi un site de forum a-t-il besoin?
De catégories, de fils de discussion avec des réponses, de comptes d'utilisateurs, d'une recherche et d'outils de modération. La plupart des forums ont aussi besoin de notifications pour les réponses, d'un moyen de marquer la meilleure réponse dans les fils de questions-réponses, et d'une protection contre le pourriel pour les nouveaux comptes.
Un forum doit-il être public ou privé?
Un forum public peut attirer du trafic de recherche, puisque chaque fil est une page que les gens trouvent sur Google. Un forum privé convient mieux aux sujets sensibles ou aux membres payants. Beaucoup de forums laissent la lecture publique et exigent un compte seulement pour publier.
Comment empêcher le pourriel sur un forum?
Limitez ce que les nouveaux comptes peuvent faire : mettez leurs premières publications en attente d'approbation, bloquez les liens jusqu'à ce qu'ils aient été actifs un certain temps, limitez le nombre de publications, et offrez aux membres un bouton de signalement. Vérifiez les adresses courriel à l'inscription et consignez les actions des modérateurs.
Vaut-il mieux utiliser un logiciel de forum comme Discourse?
Si vous avez besoin rapidement d'un forum complet, un logiciel de forum établi est le choix le plus sûr : il a des années de fonctions de modération et de lutte contre le pourriel. Construisez le vôtre lorsque le forum fait partie d'une application plus grande, ou lorsqu'il a besoin de données et de flux de travail que les logiciels de forum généraux n'offrent pas.