CodeIgniter 2 – L’architecture MVC

CodeIgniter 2 – L’architecture MVC

Deuxième partie du cours sur Code Igniter. Dans cette partie, nous allons découvrir l’architecture MVC.

<- Partie précédente Partie suivante ->

Bonjour, et bienvenue dans cette seconde partie du cours sur Code Igniter. Si vous n’avez pas lu la première partie du cours, cliquez ici pour la découvrir, vous y apprendrez ce qu’est un framework et pourquoi j’ai choisi Code Igniter pour ce cours.
Sans plus tarder, je vous propose de nous lancer dans le contenu du cours …

L’architecture MVC

« MVC » ? Qu’est-ce que c’est ?

MVC est l’acronyme de Modèle-Vue-Contrôleur. Dans un but d’organisation, ce modèle sépare les fichiers qui composent vos pages en trois catégories :

graphique

Le fonctionnement du modèle MVC

  1. Le modèle : il sert uniquement à faire vos requêtes SQL.
  2. La vue : elles contiennent tout ce qui sera affiché dans le navigateur du client.
  3. Le contrôleur : il se charge d’appeler tous les éléments requis pour la création de la page.

Petite explication du schéma ici à droite : l’utilisateur, voulant afficher la page, appelle la vue. La vue, à son tour va appeler son contrôleur. Celui-ci va tout prendre en charge, il reçoit les événements déclenchés par l’utilisateur et enclenche la réponse à ces événements.
Pour se faire, il va appeler le modèle qui va traiter les données et interagir avec la base de données. Il va renvoyer des données sous forme brute (sans HTML) au contrôleur qui l’a appelé.
Le contrôleur, une fois sa tâche achevée, va tout envoyer à la vue qui mettra tout en forme.

D’accord. Mais quels sont les avantages ?

Eh bien, les avantages, même si ils ne sont pas la solution à tous vos problèmes d’organisation sont toute fois assez importants.

  • Clarté du code : grâce à la séparation entre le code, les requêtes et l’affichage HTML;
  • Gain de temps lors de mises-à-jours de votre projet;
  • Facilités pour le travail en groupe.

Le modèle

Le modèle va s’occuper de toutes les relations avec la base de données de votre site. Lorsque le contrôleur appelle un modèle, ce dernier lui transmet le retour de la requête effectuée en données brutes – aucune mise en forme n’est appliqué dans le modèle. Il peut effectuer des lectures, insertions et mises-à-jour dans les champs.

Plusieurs vues peuvent afficher les informations obtenues dans un même modèle. Cela signifie que vous n’êtes pas obligés de créer un modèle par vue.

La vue

C’est tout ce que l’utilisateur verra. Il interagit uniquement avec la vue. La vue a deux tâches :

  1. Afficher les informations récupérées du contrôleur
  2. Recevoir les événements créés par l’utilisateur (remplissage d’un champ, clic de souris,…) et de les transmettre au contrôleur.

La vue n’effectue aucune action, aucun traitement. Elle se contente d’afficher les informations.

Le contrôleur

Le contrôleur se charge aussi d’appeler tous les composants : vue, modèle, helpers, bibliothèques, …  Il va utiliser toutes les données pour les envoyer à la vue. Il va récupérer les informations que la vue lui fournit, puis les traiter. Si un utilisateur modifie un texte, la vue va informer le contrôleur qui demandera la modification au modèle correspondant.

Il n’y a qu’un seul contrôleur par URL. Une vue ne peut appeler qu’un et un seul contrôleur.

Le contrôleur est donc la partie la plus importante pour le développeur.

Voilà pour l’architecture MVC ! Je vous donne rendez-vous la semaine prochaine pour la suite du cours. Et promis, on rentrera dans le vif du sujet 🙂

N’hésitez pas à laisser vos remarques en commentaires ou via le formulaire de contact du site.

À bientôt pour la suite !

<- Partie précédente Partie suivante ->

Submit a Comment

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.