0% ont trouvé ce document utile (0 vote)
2 vues4 pages

Cours MVC Python

L'architecture MVC (Modèle – Vue – Contrôleur) en Python permet de séparer le traitement des données, la logique métier et l'affichage, améliorant ainsi la maintenabilité et la réutilisabilité du code. Le document présente les trois composants de l'architecture, fournit un exemple simple de projet MVC en Python, et discute des avantages ainsi que de l'application de MVC dans des frameworks comme Django et Flask. En conclusion, MVC est essentiel pour structurer efficacement des applications Python de grande envergure.

Transféré par

assongmovarel
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2 vues4 pages

Cours MVC Python

L'architecture MVC (Modèle – Vue – Contrôleur) en Python permet de séparer le traitement des données, la logique métier et l'affichage, améliorant ainsi la maintenabilité et la réutilisabilité du code. Le document présente les trois composants de l'architecture, fournit un exemple simple de projet MVC en Python, et discute des avantages ainsi que de l'application de MVC dans des frameworks comme Django et Flask. En conclusion, MVC est essentiel pour structurer efficacement des applications Python de grande envergure.

Transféré par

assongmovarel
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Architecture MVC en Python

Introduction à l’architecture MVC


L’architecture MVC (Modèle – Vue – Contrôleur) est un modèle de
conception qui permet de séparer clairement : - le traitement des
données (Model), - la logique métier et les actions (Controller), -
l’affichage ou présentation (View).
Cette séparation améliore : - la maintenabilité, - la structure du code, - la
réutilisabilité des composants.

1. Les trois composants


1.1 Modèle (Model)
Le Modèle représente les données et la logique associée.
Il gère : - la structure des données, - l’accès aux données (fichiers, base de
données), - la gestion des règles métiers.
Exemple : une classe Produit ou une classe UserDAO.

1.2 Vue (View)


La Vue est responsable de l’affichage.
Elle peut être : - une interface console, - une interface Tkinter, - des
templates HTML dans un framework web.
Elle ne contient aucune logique métier.

1.3 Contrôleur (Controller)


Le Contrôleur reçoit les actions de l’utilisateur et coordonne le flux entre le
modèle et la vue.
Il : - récupère les données depuis le modèle, - envoie ces données à la vue, -
traite les entrées de l’utilisateur.
2. Exemple simple d’une architecture MVC en
Python (sans framework)
Structure du projet
ProjetMVC/
[Link]
[Link]
[Link]
[Link]

2.1 [Link]
class Produit:
def __init__(self, id, nom, prix):
[Link] = id
[Link] = nom
[Link] = prix

def __str__(self):
return f"{[Link]} - {[Link]}€"

class BoutiqueModel:
def __init__(self):
[Link] = []

def ajouter_produit(self, produit):


[Link](produit)

def liste_produits(self):
return [Link]

2.2 [Link]
class BoutiqueView:
def afficher_liste(self, produits):
print("Liste des produits :")
for p in produits:
print(" -", p)

def afficher_message(self, msg):


print(msg)
2.3 [Link]
from model import Produit, BoutiqueModel
from view import BoutiqueView

class BoutiqueController:
def __init__(self):
[Link] = BoutiqueModel()
[Link] = BoutiqueView()

def ajouter_produit(self, id, nom, prix):


produit = Produit(id, nom, prix)
[Link].ajouter_produit(produit)
[Link].afficher_message(f"Produit '{nom}' ajouté.")

def afficher_produits(self):
produits = [Link].liste_produits()
[Link].afficher_liste(produits)

2.4 [Link]
from controller import BoutiqueController

controller = BoutiqueController()

controller.ajouter_produit(1, "Chaussures", 50)


controller.ajouter_produit(2, "T-shirt", 20)

controller.afficher_produits()

3. Avantages du MVC en Python


 Séparation claire du code
 Structure adaptable aux projets moyens et grands
 Plus maintenable et testable
 Adapté à des frameworks comme Django ou Flask

4. MVC dans les frameworks Python


Django (Architecture MTV)
Django utilise une architecture proche du MVC : - Model = Modèle -
Template = Vue - View = Contrôleur (logique métier)
Flask (MVC simple)
Avec Flask : - Model = classes Python / ORM - View = templates Jinja2 -
Controller = routes Flask

Conclusion
L’architecture MVC permet de structurer proprement vos applications
Python. Ce modèle devient essentiel dès que votre projet commence à
prendre de l’ampleur.
Souhaites-tu que j’ajoute : - un mini-projet MVC complet ? - une version plus
avancée (ORM, base de données, Flask) ? - un diagramme UML du MVC ?

Vous aimerez peut-être aussi