Paradigme MVC

Dans la leçon 1 nous avons vu les 4 fonctionnalités classiques liées à l'existence d'une table dans une base de données :

  • comment récupérer et afficher des enregistrements provenant d'une base de données,
  • comment créer un nouvel enregistrement à partir d'un formulaire,
  • comment mettre à jour cet enregistrement,
  • comment le supprimer.

Pour réaliser cet ensemble d'opérations, un grand nombre de fichiers sont nécessaires. Dans cette leçon, nous allons voir comment rassembler ces fonctionnalités en seulement 3 fichiers PHP et allons introduire l'architecture MVC (modèle vue contrôleur).

Dans cette leçon, toujours en utilisant l'architecture MVC, nous allons faire évoluer le site qui fait office de fil rouge et mettre en place un mécanisme permettant à un utilisateur de créer un compte.

Puis nous allons installer le mécanisme d'authentification à ce site. Cette dernière partie est optionnelle et réservée aux plus avancés d’entre vous.

Enfin, nous allons finaliser ce site complet et rationaliser encore un peu le développement, identifier et proposer des solutions pour certains problèmes courants et introduire un peu de CSS.

Vidéo 1

Code de exercice 5 sans les fonctions lister() du contrôleur, ni recupereTous() du modèle. Ces fonctions doivent être développées pour que l'exercice 5 fonctionne !
Vous noterez également que cette version de l'exercice 5 ne contient pas l'ajout de date.

Vidéo 1


Errata : des petites coquilles se sont glissées dans ces planches et vous n'avez pas manqué de les relever : à > a, conformation > confirmation.

Code SQL de la table utilisateur

CREATE TABLE IF NOT EXISTS `utilisateur` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT, `mail` varchar(256) NOT NULL, `password` varchar(256) NOT NULL, `valide` tinyint(1) NOT NULL DEFAULT '0', `cle` varchar(256) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1;

Code complet de l'exercice 6

Code complet de l'exercice 7

Errata : Dans la fonction envoiMailConfirmation() du fichier utilisateur/controleur.php, ligne 161, il faut lire http://votresite.com/utilisateur/controleur.php?action=valider&cle='.urlencode($cle).'

Errata : Il manque une ligne $loginLogout = ""; dans la fonction afficheFormulaire() du fichier score/controleur.php.

Vidéo 3

Modifié le: jeudi 8 février 2018, 16:26