Session BRE04 Help

Exercice : traduction de blog

Étape 0 : GitHub

Créez un repo GitHub public avec un README et appelez-le bre04-translate-blog. Clonez-le dans le dossier php/sites de votre IDE.

Étape 1 : la BDD

Vous allez devoir créer une base de données pour cet exercice et y importer les deux tables suivantes (dans cet ordre) :

La table des catégories La table des articles

Étape 2 : traduction de la base de données

Dans PHPMyAdmin, faites en sorte de traduire les champs VARCHAR de votre base de données pour permettre d'avoir les contenus en anglais et en français.

Étape 3 : mise en place du MVC

Étape 3.1 : index.php et Router

Vous allez devoir mettre en place un index.php avec un autoload et un Router basique qui aura 2 routes différentes :

  • une route qui affiche tous les posts

  • une route qui affiche toutes les catégories

  • dans tous les autres cas, vous affichez la page des catégories

Votre index devra également définir, en session une langue pour votre site : anglais ou français.

Étape 3.2 : les Controllers

Vous allez mettre en place deux Controllers, un pour les posts, un pour les catégories, il auront chacun une méthode qui correspond à une route du Router.

Étape 3.3 : les Models

Vous allez créer des models pour correspondre aux deux tables de votre base de données.

Étape 3.4 : les Managers

Vous allez mettre en place un AbstractManager pour la connexion à votre base de données, ainsi que deux managers : un pour les catégories, un pour les posts. Chacun de ses managers ne contient qu'une seule méthode : findAll.

Étape 3.5 : les templates

Créez un template pour chaque route et dedans faites simplement un var_dump soit de vos posts soit de vos catégories.

Étape 4 : la gestion des traductions

Pour pouvoir gérer les traductions, vous allez devoir modifier vos Managers. En effet ceux-ci vont devoir hydrater les instances des Models différemment selon la langue stockée dans la variable de session.

Lorsque la langue est en anglais les managers vont utiliser les champs en anglais et utiliser les champs en français quand la langue est en français.

Pour vérifier que cela fonctionne, changez la valeur de la langue dans votre fichier index.php.

23 July 2025