Backend PHP (BPH) Help

Mini-Projet : Userbase

Étape 0 :

  1. Créez un dossier mini-projet-userbase dans le dossier coda-bph-j6

  2. Sur votre PhpMyAdmin, créez une base de données, appellée coda_bph_j6_userbase.

  3. Importez le fichier users_mini-projet.sql

  4. Récupérez le zip des fichiers du projet

Étape 1 : Créer la classe User

Créez un dossier models et créez-y un fichier User.php.

Vous allez y définir une classe User.

Votre User a 5 attributs private :

  • id qui est un int et peut être null, sa valeur par défaut est null

  • username qui est une string

  • email qui est une string

  • password qui est une string

  • role qui est une string, sa valeur par défaut est "USER"

Le constructeur de la classe User prend en argument les attributs suivants :

  • username

  • email

  • password

  • role

Il a des getters et setters pour chacun des attributs.

Étape 2 : Créer la classe UserManager

Créez un dossier managers et créez-y un fichier UserManager.php.

Vous allez y définir une classe UserManager.

Votre UserManager a 2 attributs private :

  • users qui est un tableau, sa valeur par défaut est un tableau vide

  • db qui est une instance la classe PDO

Le constructeur de la classe UserManager ne prend pas d'argument mais il initialise son attribut db avec les informations de connexion à votre base de données.

La classe UserManager a un getter et un setter pour l'attribut users.

La classe UserManager a 3 méthodes public :

  • loadUsers qui ne prend pas d'arguments et ne retourne rien

  • saveUser qui prend un User en argument et ne retourne rien

  • deleteUser qui prend un User en argument et ne retourne rien

Pour l'instant, ne codez pas le comportement de ces méthodes.

Étape 3 : Afficher les User

Étape 3.1 : la méthode loadUsers du UserManager

Vous allez maintenant coder la méthode loadUsers de votre UserManager. Celle-ci doit récupérer tous les utilisateur depuis la base de données. Pour chacun des utilisateurs vous allez instancier une instance de classe User que vous hydraterez avec les informations récupérées en base de données. Vous stockerez tous ces User dans un tableau puis vous utiliserez le setter de l'attribut users du UserManager pour remplacer le tableau existant par celui que vous venez de créer.

Étape 3.2 : préparer les données

Dans le fichier logic/display-users.php vous allez instancier une instance de la classe UserManager puis appeler sa méthode loadUsers pour en stocker le résultat dans une variable.

Étape 3.3 : afficher les données

Utilisez les données obtenues grâce aux étapes 4.1 et 4.2 pour dynamiser la table des utilisateurs dans le fichier template/user-list.phtml. N'oubliez pas de dynamiser le lien du bouton de suppression.

Étape 4 : Créer un User

Reproduisez le processus de l'étape 4 mais cette fois vous allez récupérer les données du formulaire pour remplir une instance de classe User et la passer au UserManager qui la sauvegardera en base de données.

N'oubliez pas de rediriger vers index.php une fois que logic/create-user.php aura fini sa création.

Étape 5 : Supprimer un User

Même processus mais pour supprimer un utilisateur.

20 November 2025