La beauté du modèle MVC

L’architecture, la conception du logiciel du site marchand, c’est l’affaire de la technique…  Mais tout est imbriqué.  Il me semble important que chacun ait un minimum de culture logicielle. C’est, il me semble, la meilleure solution pour faire les bons choix, et mieux dialoguer entre les uns et les autres : marketing, technique, …

MVC, ça veut dire : Modèle – Vue – Contrôleur.

Concrètement, c’est une façon d’organiser un logiciel pour qu’il soit plus robuste, plus fiable, plus facile à faire évoluer.

L’idée est de séparer le code en trois modules: les données, les traitements et les interfaces.

Le module de données a la responsabilité de gérer l’accès aux données, donc en général, ça veut dire l’accès aux bases de données.

Le module des interfaces a la responsabilité de gérer … les interfaces (trop puissant comme phrase). Donc, pour ce qui nous concerne, soit un site marchand, c’est dans ce module que doit être géré toute l’interface du site marchand, qu’elle soit en Flash, en Ajax ou en HTML plus classique.

Le module Modèle contient les traitements, les logiques applicatives du logiciel.  Par exemple, pour un site marchand, c’est dans ce module que sera géré les sessions des clients, les processus d’achat, …

On peut imaginer en fait deux schémas :

Modèle MVC vertical

Dans ce schéma « vertical », le module Interface ne peut dialoguer qu’avec le module Modèle, qui lui même accède au modèle Données. Donc, concrètement, ça veut dire que le module Interface ne peut pas (n’a pas le droit) d’accéder au module Données… Je ne vois pas bien l’intérêt (ça me semble plus un dogme qu’autre chose…). D’où ce schéma :

Modèle MVC non vertical

Dans ce schéma, le module Interface peut directement interroger le module Données. Si par exemple on est sur l’affichage de la liste des produits, pourquoi passer par le module Modèle : ce qu’on veut, c’est récupérer des données. Pas la peine d’alourdir les choses donc.

La plupart des logiciels pour sites marchands disent avoir une telle architecture. Mais ce qui est très important, c’est d’avoir ce modèle en tête quand on réalise le site marchand lui-même. Chaque développeur devra adhérer à ce modèle de conception, et respecter les règles. Concéquence : même si on est en retard, on n’a pas le droit de mettre du code d’accès aux bases de données partout.

Le seul module qui contient le code SQL d’accès aux bases de données, vous l’avez compris, c’est le module Données !

Laisser un commentaire

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