Comment créer un forum : catégories, fils de discussion, recherche et lutte contre le spam
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 des fils, auxquels s'ajoutent des comptes, une recherche et de la modération. Il se distingue d'un groupe de discussion car les échanges sont organisés par sujet et restent utiles pendant des années : quelqu'un peut retrouver grâce à la recherche un fil vieux de trois ans et obtenir quand même sa réponse. Pour en construire un, soignez la page du fil et la recherche, rendez les fils lisibles par les moteurs de recherche si le forum est public, et préparez les outils anti-spam et de modération avant l'inscription 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 un marqueur 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 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 utilisateur — nom, avatar, date d'inscription, 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'inscription, statut |
| Catégories | nom, slug, description, ordre d'affichage, 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 notifié 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 la page.
Droits d'accès
- Les visiteurs peuvent lire les catégories publiques.
- Les membres peuvent publier et répondre, et modifier leurs propres messages pendant une durée limitée.
- Les modérateurs peuvent masquer, déplacer, verrouiller, épingler et fusionner des fils, et suspendre des utilisateurs.
- Les 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 flux RSS et les notifications exigent tous la même vérification, sinon les messages privés fuient par une porte dérobée. Voir comment ajouter un contrôle d'accès par rôle.
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 de la plupart des forums. Les réponses imbriquées (arbres à la Reddit) conviennent au débat mais deviennent difficiles à suivre sur téléphone. Choisissez le mode à plat, sauf raison particulière.
Mode questions-réponses. Pour les forums d'assistance et d'aide, laissez la personne qui a posé la question marquer une réponse comme réponse validée, affichée juste sous la question. Cette seule fonctionnalité rend les anciens fils nettement plus utiles.
Public pour le SEO, ou privé. Les pages de fils publiques peuvent attirer un trafic de recherche régulier, mais seulement si les moteurs de recherche peuvent les lire. Cela suppose que chaque fil ait sa propre URL propre, un vrai <title>, et que les messages soient dans le HTML plutôt que chargés plus tard par JavaScript. Demandez des pages de fils rendues côté serveur ou pré-rendues si le trafic de recherche compte. Plus de détails dans le SEO pour les sites créés avec l'IA.
Texte enrichi ou Markdown. Le Markdown avec aperçu est facile à stocker en toute sécurité. Un éditeur visuel est plus accessible 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é ne vaut la peine qu'à grande échelle. Voir comment ajouter la recherche à votre application.
Spam et modération, avant le lancement
Les forums attirent le spam automatisé plus vite que presque tout autre type de site, car 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 une approbation. Ensuite, ils publient librement.
- Limites de requêtes. Un plafond de messages par minute et par jour pour les nouveaux comptes.
- Vérification de l'e-mail avant toute publication.
- Bouton de signalement sur chaque message, alimentant une file de modération.
- Attribut nofollow sur les liens des utilisateurs, pour que les spammeurs ne tirent aucun profit des moteurs de recherche.
- Un journal de modération, pour que les modérateurs voient qui a fait quoi et pourquoi.
- Des règles claires épinglées dans chaque catégorie.
Exemple de premier prompt
Crée un forum public de questions-réponses pour les passionnés d'espresso à domicile. Catégories : Machines, Moulins, Technique, Grains, Achat et vente. Tout le monde peut lire ; les membres s'inscrivent avec e-mail et mot de passe et vérifient leur adresse avant de publier. Les pages de fils à l'adresse /t/[slug] doivent être rendues côté serveur avec un titre unique et une méta-description 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 réponse validé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 avant cette approbation. 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, et des notifications dans l'application pour les nouvelles réponses aux fils que je suis. Stocke tout dans une base de données.
Étapes de création
- Commencez par la page de fil. Créez quelques catégories et cinquante fils réalistes. Faites en sorte que la lecture, les citations et les réponses fonctionnent bien sur téléphone.
- Listes des catégories et des fils. Tri par activité récente, fils épinglés en haut, marqueurs de résolution.
- Comptes et vérification. Voir comment ajouter la connexion à votre application.
- Modération et niveaux de confiance. File d'approbation, signalements, masquage, verrouillage, déplacement, journal. Testez en tant que nouveau compte qui tente de publier un lien.
- Recherche. Essayez les recherches que vos membres taperaient réellement.
- SEO. Publiez, ouvrez un fil, affichez le code source de la page et vérifiez que les messages figurent dans le HTML. Ajoutez un plan du site listant les fils.
- Ajoutez du contenu réel. Rédigez vous-même les vingt premiers fils utiles, ou invitez quelques experts à le faire. Un forum vide ne reçoit jamais son premier message.
Erreurs courantes
- Lancer un forum vide. Personne ne veut publier le premier message. Ajoutez de vraies questions et réponses.
- Trop de catégories. Cinq catégories animées valent mieux que vingt catégories désertes. Vous les séparerez plus tard.
- Aucune approbation pour les nouveaux comptes. Les robots de spam repèrent vite les nouveaux forums.
- HTML des messages non nettoyé. 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 qu'il advient des messages d'un membre qui part.
Quand un logiciel de forum est le meilleur choix
Les logiciels de forum open source et hébergés, comme Discourse, ont eu des années pour affiner les niveaux de confiance, la lutte contre le spam, l'intégration des e-mails, 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 souscrire à l'un de ces logiciels est généralement plus rapide et plus sûr que de le construire. Les outils de messagerie conviennent aux échanges rapides, mais se prêtent mal à la conservation de réponses faciles à retrouver.
Créez le vôtre lorsque le forum fait partie de votre produit — un forum d'assistance intégré à votre SaaS, une section de questions-réponses sur une place de marché — lorsque vous avez besoin de données personnalisées lié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 membres plus large avec profils et événements, voir comment créer une plateforme communautaire.
Créer le forum avec Mythex
Dans Mythex, vous décrivez le forum dans le chat, vous l'essayez dans l'aperçu en direct, puis vous le publiez à une adresse publique, avec un domaine personnalisé sur l'offre 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 qu'un 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 fils rendues côté serveur (Next.js est une option) et suivez la recette SEO. La connexion des membres et l'e-mail se fournissent avec vos propres outils : choisissez une approche et un prestataire, stockez les clés comme secrets de projet, et l'agent les intègre. Utilisez /test pour que l'agent simule 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 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 anti-spam pour les nouveaux comptes.
Un forum doit-il être public ou privé ?
Un forum public peut attirer du trafic issu de la recherche, car chaque fil est une page que les gens trouvent sur Google. Un forum privé convient mieux aux sujets sensibles ou aux membres payants. De nombreux forums laissent la lecture publique et n'exigent un compte que pour publier.
Comment empêcher le spam sur un forum ?
Limitez ce que les nouveaux comptes peuvent faire : faites valider leurs premiers messages, bloquez les liens tant qu'ils n'ont pas été actifs un certain temps, limitez le nombre de publications, et donnez aux membres un bouton de signalement. Vérifiez les adresses e-mail à 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 bénéficie d'années de fonctionnalités de modération et de lutte contre le spam. Créez le vôtre lorsque le forum fait partie d'une application plus large ou nécessite des données et des workflows que les logiciels de forum généralistes ne proposent pas.