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 :
- Identifier quand utiliser SQL (relations fortes, transactions) vs NoSQL (flexibilité, scale)
- Implémenter la même API avec Prisma (SQL) ET Mongoose (NoSQL)
- Comparer performances, complexité du code, gestion des relations
- Argumenter vos choix techniques avec critères objectifs (benchmarks, volumétrie)
- 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.
