Session BRE05 Help

Projet Guidé : Blog de dev web

Étape 0 : Préparation de la base de données

Dans votre PHPMyAdmin, créez une base de données nommée prenomnom_j8_blog_soutien (avec la collation utf8_general_ci).

Importez les tables suivantes dans cet ordre :

  1. categories

  2. medias

  3. posts

Étape 1 : Mise en place des fichiers

Récupérez les fichiers de base pour le projet :

Décompressez l'archive dans votre dossier de travail.

Étape 2 : Le point d'entrée index.php

Dans le fichier index.php, vous devez gérer le routing de l'application en vérifiant les paramètres de l'URL ($_GET) :

  • Si $_GET["route"] est égal à category et que $_GET["category"] est présent :

    • Faites un require de controllers/category.php.

    • Appelez la fonction categoryPage().

  • Si $_GET["route"] est égal à post et que $_GET["post"] est présent :

    • Faites un require de controllers/post.php.

    • Appelez la fonction postPage().

  • Pour tous les autres cas (par défaut) :

    • Faites un require de controllers/home.php.

    • Appelez la fonction homePage().

Étape 3 : Le layout et la navigation

Ouvrez le fichier templates/layout.phtml et dynamisez les liens de la barre de navigation :

  • Accueil : index.php

  • Catégorie Frontend : index.php?route=category&category=1

  • Catégorie Backend : index.php?route=category&category=2

  • Catégorie Intégration : index.php?route=category&category=3

Étape 4 : La page catégorie

Le manager

Dans managers/category_manager.php, complétez la fonction getPostsForCategory() pour récupérer les articles liés à une catégorie spécifique.

Le contrôleur

Dans controllers/category.php, complétez la fonction categoryPage(): elle doit appeler le manager et transmettre les données au template.

Le template

Dans templates/category.phtml, remplacez l'intégration statique par les données dynamiques récupérées en base de données.

Étape 5 : La page article (Post)

Le manager

Dans managers/post_manager.php, complétez la fonction getPost() pour récupérer les détails d'un article grâce à son identifiant.

Le contrôleur

Dans controllers/post.php, complétez la fonction postPage() pour orchestrer la récupération des données de l'article.

Le template

Dans templates/post.phtml, dynamisez l'affichage des informations de l'article (titre, contenu, média associé).

Étape 6 : La page d'accueil

Le manager

Dans managers/category_manager.php, complétez la fonction getCategories() pour récupérer la liste de toutes les catégories.

Le contrôleur

Dans controllers/home.php, complétez la fonction homePage(). Vous devez :

  1. Récupérer toutes les catégories.

  2. Pour chaque catégorie, récupérer la liste de ses articles associés.

Le template

Dans templates/home.phtml, utilisez les données pour afficher dynamiquement les catégories et leurs articles respectifs.

19 February 2026