TW3 — Technologies du Web 3

MVC & ORM

Architecture MVC et accès aux données : séparer les responsabilités, concevoir une couche modèle propre et utiliser un ORM (Prisma) dans une API Express.

Une API qui grandit devient vite illisible quand tout se mélange : requêtes SQL, validation, et réponses HTTP dans un seul fichier. Le pattern MVC (Modèle – Vue – Contrôleur) et les ORM apportent une structure claire pour séparer l'accès aux données de la logique métier et du routage.

📚 Apport15′

Objectifs du chapitre

  • Expliquer la séparation Modèle / Vue / ContrôleurFaible
  • Concevoir une couche modèle sans SQL dans les contrôleursMoyenne
  • Comprendre le rôle d'un ORM et du mapping objet-relationnelMoyenne
  • Mettre en place Prisma et écrire un CRUD typéÉlevée

🎯 Architecture MVC

Le MVC découpe une application en trois rôles :

  • le Modèle gère les données et les règles métier ;
  • la Vue affiche les données (souvent du JSON pour une API) ;
  • le Contrôleur reçoit la requête, appelle le modèle et renvoie la réponse.

Un ORM (Object-Relational Mapper) s'insère dans la couche modèle : il traduit les objets de votre langage en lignes de base de données, sans écrire de SQL à la main.

📋 Parcours du chapitre

🛠️ Atelier34′

🛠️ Atelier — isoler la couche modèle

À partir d'une route Express existante, extrayez la logique d'accès aux données dans un service dédié, puis posez un schéma Prisma minimal sur SQLite.

1. Repérer le mélange

Identifiez dans le contrôleur ce qui relève du transport (req/res) et ce qui relève des données.

2. Extraire un service

Déplacez la lecture/écriture dans TaskService ; le contrôleur ne fait plus que recevoir la requête et renvoyer la réponse.

3. Poser le schéma Prisma

model Task {
  id    Int @id @default(autoincrement())
  title String
  done  Boolean @default(false)
}

Lancez npx prisma migrate dev --name init, puis npx prisma generate.

🏋️ Exercice10′

🏋️ Exercice

Refactoriser une API en MVC avec un ORM (Prisma). → Exercice

🎯 Synthèse0′

🎯 Synthèse

MVC sépare routes, contrôleurs et modèles ; un ORM comme Prisma mappe les objets vers la base. Dans le projet fil rouge (branche session-09), ce chapitre refactorise en MVC.

MVC & ORM

Terminez le quiz du chapitre pour le marquer comme complété.

Tableau de bord

On this page