Créer un forum en PHP

Septembre 2012

Un forum est une application web qui permet à ses utilisateurs de discuter en créant des sujets (topic) qui contiennent des messages (post).

Pour créer un forum sur son site avec PHP, il y a 2 solutions :

  • Développer soit même le forum "from scratch"
  • Utiliser un moteur de forum comme phpBB ou IPB

Développer son propre forum

Autant le dire tout de suite, ça n'est pas une tâche facile, un forum est une application assez complexe qui fait intervenir de nombreuses entités, un forum aux fonctionnalités assez basique est généralement composé de ces tables :

  • users : stocke les comptes utilisateurs des membres inscrits sur le forum, avec leur type (administrateur, modérateur, membre, robots...)
  • forums : stocke les différentes catégories du forum (exemple: After Effects, Photoshop, jQuery...)
  • topics : enregistre les sujets, qui appartiennent à des forums
  • posts : stocke les messages postés sur des topics par des users

Je vous déconseille de vous lancer dans un tel ouvrage, sauf si vous avez un besoin vraiment spécifique auquel aucun moteur de forum existant ne peut répondre.

Utiliser un moteur de forum

Cette seconde solution est bien plus facile à mettre en oeuvre. Les forums de discussion existent depuis longtemps sur internet, et de nombreux moteurs de forums ont vu le jour. Certains sont libres et gratuits, développés et maintenus une communauté de développeurs (comme phpBB ou fluxBB), d'autres sont des applications commerciales et requièrent l'achat d'une licence (généralement facturé à l'année) pour pouvoir les utiliser sur son site, comme IPB ou vBulletin.

Comment choisir son moteur de forum ?

C'est la question la plus importante qu'il faut se poser avant de se lancer, car une fois qu'on a choisi il est assez difficile de revenir en arrière.

Les principaux critères qui doivent guider votre choix sont :

  • Avez-vous besoin d'interagir avec le forum au niveau programmation ?
    Par exemple, il peut être intéressant de pouvoir utiliser les comptes utilisateurs de votre forum sur votre site, comme c'est le cas sur finalclap où la liste des utilisateurs est gérée par phpBB et utilisée sur le site. Malheureusement, à l'heure actuelle peu de moteurs de forum proposent une API permettant de manipuler facilement leurs entités (comme créer/supprimer des utilisateurs, déplacer des topics dans d'autres forums...).
    La prochaine version de phpBB, phpBB 4, devra normalement apporter une API très aboutie et sera basé sur des outils dernière génération comme le framework PHP Symfony.
  • Avez-vous un fort trafic ?
    Si votre site web a un trafic important, il judicieux de comparer les performances (vitesse d'exécution PHP), un forum trop lourd pourrait vous obliger à augmenter les caractéristiques de votre hébergement mutualisé ou de votre serveur dédié.
  • Est-ce que les fonctionnalités du forum sont suffisantes ?
    Certains moteurs de forums sont beaucoup plus complets que d'autres. Par exemple phpBB est très riche en fonctionnalités (il permet par exemple une gestion très fine des permissions), alors que fluxBB/punBB est très léger. Au début, le forum finalclap fonctionnait avec fluxBB, mais au bout de 3 mois j'ai du faire une migration vers phpBB car les fonctionnalités de fluxBB étaient trop pauvres.
  • Est-ce qu'il est facile de trouver ou créer un thème ?
    Vous serez amené soit à choisir un thème parmi une collection de thèmes qu'on trouve sur internet (un peu comme pour Wordpress), soit à créer votre propre template personnalité aux couleurs de votre site. Il faut donc regarder si la création d'un thème est compliquée ou pas, si l'organisation des templates html et du code CSS est bien faite, et jusqu'où il est possible de personnaliser le design.

Comparatif de quelques moteurs de forum

phpBB

phpBB est sans doute le script de forum le plus populaire, parce qu'il existe depuis longtemps, la communauté est très active, il est très abouti, optimisé au niveau des performances (avec un système de cache), libre et gratuit. La version actuelle est la version 3, sortie en 2008.

Par contre il ne dispose pas d'API et son utilisation aux côtés d'un site existant est un vrai casse-tête (le code n'est pas bien isolé, donc pas facile d'utiliser certaines parties de l'application comme la gestion des utilisateurs dans ses scripts.

phpBB est très mal optimisé pour le référencement (avec des URLs non réécrites, de nombreux duplicate content...), mais il y a un mod qui permet de régler tous ces problèmes : phpBB SEO.

[Site officiel]

fluxBB / punBB

punBB était à l'origine un projet libre, comme phpBB. Mais en 2008 il a été racheté par une entreprise, c'est à ce moment-là qu'un fork a été créé pour maintenir une version libre, nommée fluxBB.

Sa principale qualité est d'être simple, léger et rapide à exécuter.

[PunBB] et [FluxBB]

Vanilla

Vanilla est un projet assez récent, qui a vu le jour en 2006. Il est très intéressant, car son approche et son ergonomie est totalement différentes de ce qu'on a l'habitude de voir dans phpBB, punBB, IPB ou vBulletin.

Il fonctionne un peu à la manière des sites de question/réponse (Q&A) (comme Yahoo Answers ou Stackoverflow).

De plus il est très bien d'un point de vue accessibilité et référecenemt, avec des URLs entièrement réécrites et user-friendly.

[Site officiel]

IPB (Invision Power Board)

Comme punBB, IPB était à l'origine gratuit, mais il est devenu payant à partir de la version 2. Il s'agit toutefois d'un des moteurs de forum PHP propriétaire les moins chers et les plus utilisés.

IPB est un très bon moteur de forum à plusieurs égards : bonne qualité du code (donc facilité d'intégration avec un site existant), possibilités de personnalisation importantes.

Il a même été utilisé sur des sites à fort trafic par le passé comme clubic.com (qui depuis plusieurs années l'a remplacé par une application maison).

Après avoir lu exporter les variables du gestionnaire de nom excel vous en saurez d'avantage sur ce sujet.

[Site officiel]

vBulletin

vBulletin est le principal concurrent d'IPB sur les forums payants, il est aussi deux fois plus cher.

[Site officiel]

MesDiscussions.net

MesDiscussions.net est un moteur de forum payant et français, il est utilisé notamment sur les site doctissimo.fr et hardware.fr.

[Site officiel]

SMF (Simple Machines)

SMF est un moteur de forum gratuit, le projet est plus récent que phpBB et punBB, il n'est ni léger comme punBB ni très riche comme phpBB, un peu à mi-chemin entre les deux.

[Site officiel]

bbPress

bbPress n'est pas un moteur de forum "standalone", il s'agit d'un plug-in Wordpress qui permet d'ajouter un forum sur Wordpress. L'énorme problème de bbPress, et qui caractérise aussi Wordpress, ce sont ses performances catastrophiques (il n'est pas rare de voir plus de 30 requêtes SQL et 500 ms d'exécution pour la génération d'une page Wordpress).

À bannir pour les sites à fort trafic. Par contre si c'est pour un site perso ça peut être intéressant, Wordpress étant très ergonomique et facile à utiliser, mais aussi excellent au niveau référencement (SEO).

[Site officiel]

Fini de lire cette page ? allez faire un tour ici : texte opale ombré, ça peut vous intéresser.

4 commentaires :
commentaire n°2727 par C_dric
C_dric lundi 27 janvier 2014, 10:22
Bonjour,

Je suis surpris de ne pas voir http://www.forumactif.com/ qui est le moteur de forums gratuits leader en France. Il me semble également que l'on peut créer des forums en Rubis aujourd'hui. Ce qui devrait apporter son lot de nouveautés en 2014 :)
commentaire n°2734 par Galdon
Galdon jeudi 30 janvier 2014, 16:48
C'est normal, forumactif n'est pas une application mais un service. En réalité ils utilisent phpBB pour créer les forums de leurs utilisateurs.

Cette page présente les différentes applications qui permettent de créer un forum, pas les services qui les hébergent.
commentaire n°2825 par Fadhili
Fadhili vendredi 30 mai 2014, 09:15
comment créer un forum en php?
commentaire n°3528 par lewis
lewis mercredi 16 août 2017, 22:45
;lkjhgfds
facultatif
Facebook Twitter RSS Email
Forum Excel
Venez découvrir le nouveau forum excel question/réponse à la stackoverflow.com !
Forum Excel
hit parade n'en a rien a foutre du W3C Positionnement et Statistiques Gratuites Vincent Paré