Rechercher dans ce blog

samedi 20 juillet 2019

Développement web - Le MVC

Qu'est ce que le MVC ?

MVC est un terme qui veut dire : Modèle-Vue-Contrôleur, ou en anglais : Model-View-Controller. Derrière ce terme barbare se trouve une logique de développement très utilisé maintenant pour créer des sites internet.

Le principe du MVC, est de décomposer en trois morceaux chaque pages d'un site internet :
  1. Le modèle qui s'occupe des données
  2. La vue qui s'occupe du visuel
  3. Le Controller qui fait le lien

Modèle

Le modèle définit une classe, un élément orienté objet donc qui va s'occuper du traitement et de l'analyse des données. Par exemple la lecture et l'écriture de données dans la base de données, correspond à un modèle. Lire/écrire dans un fichier aussi car se sont des données que l'on traite.

Vue

La vue est le visuel de votre page internet, c'est à dire tout ce qui est affiché à l'écran. La vue utilise les données fournie par le modèle mais ne fait pas de traitement sur les données, elle se contente d'afficher à l'écran.

Controller

Le contrôleur, s'occupe de faire le lien entre le modèle est la vue. C'est lui qui reçoit les requêtes adressées à la page internet, qui va alors appeler le bon modèle et lui fournir les informations à partir desquels il va travailler, puis récupérer un résultat qu'il passe ensuite à la vue.

Structure d'un MVC

Le MVC requiert donc une structure des dossiers afin de bien faire la séparation. Chacun appel les dossiers à sa convenance, par convention cependant on retrouve en général les dossiers suivants :
  • model
  • view
  • controller
Chacun ayant donc son rôle bien spécifique : model pour le traitement de données, view pour le visuel et controller qui reçoit la demande  (par exemple soumission d'un formulaire) et appel le model et la view concernés.

Pourquoi tan d'utilisation de ce principe ?

Et bien cela permet de bien séparer les choses et de s'y retrouver plus facilement ensuite, que se soit dans la structure ou dans le code. Ce principe permet aussi d'être à plusieurs en même temps sur la même chose.

Dans les framework web actuels type Symfony, on a plus vraiment cette hiérarchie, on a toujours le principe mais encore plus découpés. Ainsi on aura par exemple :
  • entity : les entités sont des classes ayant pour but de correspondre à la table de données et dont les données y seront stockés après lecture dans la BDD ou pour enregistrer dans la BDD
  • form : les formulaires ont leur propre classe pour générer les formulaires
  • repository : les repository sont des classes associées aux entités permettant de créer des requêtes SQL personnalisées
  • translations : les  traductions sont aussi des classes bien souvent ou de simples fichiers contenant les traductions
Pour les exemples, je m'arrête là car elles sont nombreuses. Tout les éléments présents sont des modèles : ils traitent des données. Le découpage est plus important car chacun à un rôle bien définit, mais cela reste des modèles.

Avec les framework modernes et ce principe de tout séparer, on s'y retrouve facilement et le développement se fait bien plus rapidement avec moins de problèmes, d'où l'intérêt de ce système.

Pourquoi tout le monde ne s'en sert pas ?

Et bien certains ne connaissent pas ou maîtrisent pas ce principe ; il arrive aussi que certains développeurs ne connaissent même pas la programmation orientée objet et ne peuvent donc pas utiliser ce genre de procédé.

1 commentaire:

  1. Halo, je suis Helena Julio de l'Équateur, je veux bien parler du service de financement Le_Meridian sur ce sujet.Le service de financement Le_Meridian me donne un soutien financier lorsque toutes les banques de ma ville ont refusé ma demande de m'accorder un prêt de 500,000.00 USD, je J'ai essayé tout ce que je pouvais pour obtenir un prêt de mes banques ici en Équateur, mais ils m'ont tous refusé parce que mon crédit était faible mais avec la grâce de Dieu, j'ai appris l'existence de Le_Meridian, j'ai donc décidé d'essayer de demander le prêt. si Dieu le veut, ils m'accordent un prêt de 500 000,00 USD la demande de prêt pour laquelle mes banques en Équateur m'ont refusée, c'était vraiment génial de faire affaire avec eux et mon entreprise se porte bien maintenant. Voici l'adresse e-mail / contact WhatsApp de Le_Meridian Funding Investment si vous souhaitez demander un prêt auprès d'eux.Email:lfdsloans@lemeridianfds.com / lfdsloans@outlook.comWhatsApp Contact: + 1-989-394-3740.

    RépondreSupprimer