CRÉER UN FORUM EN PHP - #1 Architecture et base de donnée

PrimFX Boris ('PrimFX') Le 17 janvier 2016

Dans ce premier épisode de la création d'un forum en PHP, nous parlerons de l'architecture de notre base de donnée ainsi que de celles de nos fichiers.

Pour voir la vidéo de présentation de la série, c'est par ici , et pour les tutos sur la création d'un espaces membre, c'est par ;-)

Voici la liste des tables que j'utiliserai pour créer ce forum, bien sûr, libre à vous de les modifier et pourquoi pas de me proposer des tables / champs à rajouter !

TABLE "f_categories":
  • id => int(11)
  • nom => varchar(255)
TABLE "f_sous-categories":
  • id => int(11)
  • id_categorie => int(11)
  • nom => varchar(255)
TABLE "f_topics":
  • id => int(11)
  • id_createur => int(11)
  • sujet (ou titre) => text
  • contenu => text
  • date-heure-creation => datetime
  • resolu => boolean
  • notif_createur => boolean
TABLE "f_topics-categorie":
  • id => int(11)
  • id_topic => int(11)
  • id_categorie => int(11)
  • id_souscategorie => int(11)
TABLE "f_messages":
  • id => int(11)
  • id_topic => int(11)
  • id_posteur => int(11)
  • date_heure_post => datetime
  • date_heure_edition => datetime (date et heure de la dernière édition)
  • meilleure_reponse => int(1) (boolean true ou false, 1 ou 0)
  • contenu => text
TABLE "f_suivis":
  • id => int(11)
  • id_user => int(11)
  • id_topic => int(11)

Voilà, c'est à peu près tout, pour l'instant... 😛

A propos de l'auteur

PrimFX
Boris ('PrimFX')

Je m'appelle Boris, j'ai 22 ans et je suis passionné d'informatique. Suite à mes études (Licence Informatique puis MSc Computer Science au Trinity College Dublin), je gère l'entreprise Single Quote co-fondée en 2019 et je profite de mon temps libre pour partager ma passion à travers des vidéos & articles 😃

Votre commentaire

Vous devez être connecté pour poster un commentaire. Se connecter ou Créer un compte

Commentaires 27

  • Coco3444 Le 3 février, à 18:47 | Répondre

    Je pense qu'il serait plus judicieux de mettre directement la requête sql. Je ne vois pas trop l'intérêt de nous laisser galérer avec ça. Perso, la fois ou j'ai fais ça, ça allait parce que je ne suis plus débutant(même si j'ai finalement arrêter de suivre tes tutos forums à cause de la complexité de ton architecture(que je ne parvenais pas à saisir), je pense que d'autres personnes peuvent avoir du mal avec cette partie.

  • Amastazi Le 13 mai, à 00:27 | Répondre

    Je suis Kevin depuis le Cameroun ça fais déjà 2ans que je rate cette partie

  • Amastazi Le 13 mai, à 00:26 | Répondre

    J'ai un peu du mal lors de la saisir du code svp

  • Amastazi Le 13 mai, à 00:25 | Répondre

    Bonsoir svp puige avoir les fichiers complète du tuto forum

  • Njecky Le 31 octobre, à 18:10 | Répondre

    je m'appelle Njecky félix désiré c'est bien l'architecture du forum les errors au niveau du traitement php et le code html et css de ton forum

  • Artcoco1 Le 2 septembre, à 19:14 | Répondre

    @G0LDDARK
    c'a signifie que "int" seras de type boolean donc qu'il n'a que deux possibilites true ou false

  • G0LDDARK Le 2 juin, à 10:13 | Répondre

    pour la table fmessage
    "meilleure_reponse => int(1) (boolean true ou false, 1 ou 0)" sa veut dire quoi???

  • Mayurlan Le 29 octobre, à 06:43 | Répondre

    Slt primfx ta promis le code source , mais j pas trouvé çà !!!

  • WikFury2 Le 8 août, à 03:28 | Répondre

    Salut je arrive pas a créer un tableaux dans la bd comment je peux faire svp je précise je débute

  • Hollow6 Le 24 septembre, à 15:35 | Répondre

    Hello,
    Très bon tuto.
    Possible d'avoir un tuto où un topic pourrait se retrouver dans plusieurs catégories à la fois et où l'on aurait la possibilité de sélectionner plusieurs sous-catégories au lieu d'une seule (avec des cases à cocher).
    Ce serait top.
    D'avance merci.

  • Balatharas Le 26 août, à 17:17 | Répondre

    @Marius Non je suis de l'avis de @Ptankeur la base de données a mal été expliquée. En effet il faut persister mais comprendre au premier regard est un peu chaud.

  • M69-74 Le 26 août, à 12:46 | Répondre

    @Ptankeur Que ne comprends-tu pas ? Je trouve que tout est clair dans les tutos de PrimFx, et quand on ne comprends pas, je pense qu'il faut persister sinon ca veut dire qu'on a pas envie. Voilà

  • Ptankeur Le 25 août, à 21:05 | Répondre

    Je n'ai strictement rien compris au sac de nœud du début sur l'architecture du site ça vas bien trop vite et c'est pas vraiment claire. Je suis déçu et ne pense pas prendre un prémium, dommage car tu sais beaucoup de choses mais les expliques confusément.
    (ces tuto me plaisaient mais j'ai décroché après les explications sur la stucture des pages)
    Amicalement, ptankeur.

  • toufik Le 31 juillet, à 13:10 | Répondre

    Hi ! I am Algerian , I like your videos ^_^ good continuation .

  • PaulLavieille Le 20 juin, à 16:09 | Répondre

    @ViverticProg Salut ! En faite les auto increments permettent d'automatiquement passé de 1 à 2, 2 à 3 etc :)

  • ViverticProg Le 19 juin, à 13:53 | Répondre

    Salut PrimFx, j'ai une question concernant les auto increment au niveau de la base de donné. Il faut le mettre à chaque fois que le nom id revient? Merci de ta réponse !

  • Omega Le 14 mai, à 15:00 | Répondre

    @PrimFX est ce que tu pourrais un peu plus explicite concernant la base de données au niveau des colonnes dans les tables (auto incrementation, ...) merci

  • Jack Le 9 mars, à 19:03 | Répondre

    Un petit truc que je rajouterai après j'ai peut-etre faut mais dans la description de vidéo, tu mets id=>int(11) rajoute qu'il faut mettre auto_increment et clé primaire pour ceux qui débutent ou alors ceux que veulent juste un forum et qui copie ton cours et ont le résultat

    Cool le tuto, bonne journée

  • ViXo Le 23 janvier, à 10:27 | Répondre

    Salut PrimFX, super tuto comme d'hab' !
    Sinon est-ce que tu pourras nous montrer comment un moteur de recherche (comme sur primfx.com)

  • PrimFX Le 21 janvier, à 23:48 | Répondre

    @bigus Salut et merci pour le commentaire :-) Pour l'éditeur de texte, cela fera parti des tutos annexes que je ferai en parallèle à cette série, tout comme pour l'URL rewriting, et quelques autres. En gros ce seront des tutos "hors-série" mais que je reprendrai tout de même dans la création du forum.
    @+

  • bigus Le 20 janvier, à 15:48 | Répondre

    Bonjour primfx et encore merci pour tes cours.....super idée le forum.
    J'aurais une petite requête, pourrais-tu nous montrer également pendant ce tuto (ou le garder en tête pour un prochain) une manière de faire un genre d'éditeur de texte (pour pouvoir souligner , mettre en couleur le texte, en gras, italique, taille ou encore insérer une image) et pouvoir alors publier du texte aggrémenté directement par l'utilisateur !!

    dans l'attente de lire ta réponse, je te remercie encore pour ton enseignement.

  • Charles_Sauvat Le 17 janvier, à 20:16 | Répondre

    @PrimFX Dans ce cas la je n'ai plus qu'a attendre ;)

  • lordmagikal Le 17 janvier, à 18:06 | Répondre

    @PrimFX d'accord, cool une template c'est pas plus mal, si elle est bien utilisé. :) Bonne chance et jolie boulot pour ce site.

  • PrimFX Le 17 janvier, à 17:54 | Répondre

    @CharlesOnAir Merci ! Oui je sais, j'aimerais bien pouvoir faire une vidéo le dimanche et une le mercredi en permanence, mais je pense que je n'arriverai pas à tenir le rythme avec les cours et les autres activités extra-scolaires :/

  • PrimFX Le 17 janvier, à 17:53 | Répondre

    @lordmagikal Salut ! Pour le design je pense partir sur un template, histoire d'avoir quelque chose de correcte et de pouvoir bien se concentrer sur le PHP :-)

  • Charles_Sauvat Le 17 janvier, à 17:12 | Répondre

    Superbe vidéo ! Mais je trouve ça dommage que ce sois chaque dimanche, je pense que ça aurait été plus cool s'il y avais une vidéo le mercredi et puis le dimanche comme ça c'est plus rapide et plus intéressant ! Mais sinon super !

  • lordmagikal Le 17 janvier, à 16:04 | Répondre

    Cool, on commence doucement mais au moins on va pas se perdre en route ! Enfin pour le moment c'est bon, pas trop difficile la BDD à créer :) Pour ce qui concerne le design tu fera juste le minimum c'est ça ?