K

Introduction

Le Cœur du Cours : SQL vs NoSQL

Ce cours est centré sur la comparaison entre bases de données SQL et NoSQL dans un contexte Node.js réel. Vous apprendrez à maîtriser les deux paradigmes (PostgreSQL + Prisma vs MongoDB + Mongoose) et surtout à faire le bon choix architectural selon le cas d'usage.

La Question Centrale

SQL relationnel ou NoSQL document-oriented ? Cette décision impacte :

  • Performance : Requêtes complexes vs lecture rapide
  • Scalabilité : Vertical (SQL) vs Horizontal (NoSQL)
  • Intégrité : ACID strict vs Eventual consistency
  • Flexibilité : Schema rigide vs Schema flexible
  • Coût : Complexité migrations vs Duplication données

Objectifs Pédagogiques

Vous saurez :

  1. Identifier quand utiliser SQL (relations fortes, transactions) vs NoSQL (flexibilité, scale)
  2. Implémenter la même API avec Prisma (SQL) ET Mongoose (NoSQL)
  3. Comparer performances, complexité du code, gestion des relations
  4. Argumenter vos choix techniques avec critères objectifs (benchmarks, volumétrie)
  5. Maîtriser les patterns spécifiques à chaque paradigme (normalisation 3NF vs embedding/referencing)

Approche Pédagogique

Le cours alterne entre :

  • Concepts théoriques : Différences fondamentales SQL/NoSQL
  • Implémentation pratique : Même feature en Prisma puis Mongoose
  • Analyse comparative : Code, performances, trade-offs
  • Cas réels : DeliveCROUS, Chat, Blog, E-commerce

Projet final : Vous choisirez SQL OU NoSQL et justifierez ce choix avec arguments techniques solides.

Prérequis Techniques

  • JavaScript ES6+ : async/await, destructuring, Promises
  • Node.js & Express : Routing basique, middleware
  • HTTP/REST : GET/POST/PUT/DELETE, statuts, JSON
  • Git : clone, commit, push
  • Ligne de commande : npm, variables d'environnement

Ce cours n'est PAS une introduction à Node.js - vous devez déjà savoir créer une API Express basique.