Session BRE04 Help

Projet Guidé: Blog de dev web

Étape 0 : base de données

Dans votre PHPMyAdmin, créez une base de données prenomnom_j8_blog_soutien (collation utf8_general_ci) dans laquelle vous allez importer les tables suivantes (dans cet ordre) :

Étape 1 : créer les dossiers et fichiers

Récupérez les fichiers du projet :

Étape 2 : l'index.php

Dans l'index.php, vous allez vérifier si vous allez devoir vérifier les paramètres d'URL et créer une condition :

  • Si $_GET["route"] existe et vaut category, et que $_GET["category"] existe : faites un require de controllers/category.php et appelez la fonction categoryPage()

  • Si $_GET["route"] existe et vaut post, et que $_GET["post"] existe : faites un require de controllers/post.php et appelez la fonction postPage()

  • Dans tous les autres cas : faites un require de controllers/home.php et appelez la fonction homePage()

Étape 3 : le layout

Dans le fichier templates/layout.phtml vous allez devoir dynamiser la barre de navigation :

  • le lien vers l'accueil vaut index.php

  • le lien vers la catégorie Frontend vaut index.php?route=category&category=1

  • le lien vers la catégorie Backend vaut index.php?route=category&category=2

  • le lien vers la catégorie Intégration vaut index.php?route=category&category=3

Étape 4 : la page category

Le manager

Dans le fichier managers/category_manager.php vous allez devoir remplir la fonction getPostsForCategory().

Le controller

Dans le fichier controllers/category.php vous allez devoir remplir la fonction categoryPage().

Le template

Dans le fichier templates/category.phtml vous avez une intégration statique, utilisez les données récupérées dans la base de données (donc les variables que vous avez créées dans la fonction categoryPage()) pour rendre cette intégration dynamique.

N'oubliez pas les liens des articles qui devront être sous la forme index.php?route=post&post=[id-du-post] où vous remplacerez [id-du-post] par les bonnes valeurs.

Étape 5 : la page article

Le manager

Dans le fichier managers/post_manager.php vous allez devoir remplir la fonction getPost().

Le controller

Dans le fichier controllers/post.php vous allez devoir remplir la fonction postPage().

Le template

Dans le fichier templates/post.phtml vous avez une intégration statique, utilisez les données récupérées dans la base de données (donc les variables que vous avez créées dans la fonction postPage()) pour rendre cette intégration dynamique.

Étape 6 : la page d'accueil

Le manager

Dans le fichier managers/category_manager.php vous allez devoir remplir la fonction getCategories().

Le controller

Dans le fichier controllers/home.php vous allez devoir remplir la fonction homePage(). Au départ, récupérez toutes les catégories puis pour chaque catégorie, récupérez la liste de ses posts.

Le template

Dans le fichier templates/home.phtml vous avez une intégration statique, utilisez les données récupérées dans la base de données (donc les variables que vous avez créées dans la fonction homePage()) pour rendre cette intégration dynamique.

N'oubliez pas les liens des articles qui devront être sous la forme index.php?route=post&post=[id-du-post] où vous remplacerez [id-du-post] par les bonnes valeurs.

13 June 2025