Planning TW3 — 11 cours de 4 h + 1 examen
Conducteur pédagogique du module TW3 organisé en onze séances de cours réparties sur douze créneaux (4 h) et un examen final, du socle outillage jusqu'à l'authentification et la qualité du code.
Ce conducteur découpe le module en 11 séances de cours réparties sur 12 créneaux de 4 h, puis 1 examen (13 créneaux, 52 h). La progression va du socle outillage vers le back-end typé, puis la persistance, l'architecture, la sécurisation et enfin la qualité du code. Chaque créneau de cours suit le même rythme : rappel, apport théorique court, atelier guidé, exercice évalué. La dernière séance (3 décembre) est réservée à l'évaluation finale.
À retenir pour le semestre :
- Toutes les séances ont lieu le jeudi.
- Horaire habituel : 9 h 00 – 13 h 00 (sauf la séance 6 le 15 octobre, à 8 h 00 – 12 h 00).
- Une pause de deux semaines pour les vacances de la Toussaint (pas de séance entre le 22 octobre et le 5 novembre).
Structure d'une séance — règle 20 + 60 + 90 + 60 + 10. Chaque séance de cours est découpée en 5 phases fixes :
| Phase | Contenu | Réf. 4 h | Appli. 4 h |
|---|---|---|---|
| 1. Rappel & quiz | Quiz de la séance précédente, activation des acquis | 20 min | 20 min |
| 2. Apport | Cours magistral court, nouveaux concepts | 60 min | 60 min |
| 3. Atelier | Travail guidé à la table (code, manipulation) | 90 min | 90 min |
| 4. Exercice | Travail autonome évalué | 60 min | 60 min |
| 5. Synthèse | Bilan, transparence, lien avec le projet fil rouge | 10 min | 10 min |
Les séances TW3 durent 4 h : on applique la proportion de référence 20 + 60 + 90 + 60 + 10 = 240 min, calculée par fraction du temps total de séance (chaque phase = poids de référence / 240 × durée de la séance).
📆 Calendrier des séances
| Date | Séance | Thème | Horaire |
|---|---|---|---|
| Jeudi 10 septembre | 1 | Outillage, versionnage et npm (git, tooling, npm) | 09:00–13:00 |
| Jeudi 17 septembre | 2 | JavaScript moderne, asynchrone et tooling (js, asyncData, tooling) | 09:00–13:00 |
| Jeudi 24 septembre | 3 | TypeScript (typescript) — typage statique, interfaces, unions, utility types, asynchrone typé | 09:00–13:00 |
| Jeudi 1er octobre | 4 | Node.js côté serveur (node.js) | 09:00–13:00 |
| Jeudi 8 octobre | 5 | Express (express) | 09:00–13:00 |
| Jeudi 15 octobre | 6 | API REST (rest) | 08:00–12:00 ⚠️ |
| Jeudi 22 octobre | 7 | Docker et base MongoDB (docker, mongodb/installation/docker) | 09:00–13:00 |
| Vacances | — | Vacances de la Toussaint (pas de séance) | — |
| Jeudi 5 novembre | 8 | MongoDB (mongodb) | 09:00–13:00 |
| Jeudi 12 novembre | 9 | Architecture MVC et ORM — Prisma (mvc-orm, mvc-orm/prisma-en-pratique) | 09:00–13:00 |
| Jeudi 19 novembre | 10 | Authentification (authentification) | 09:00–13:00 |
| Jeudi 26 novembre | 11 | Tooling — qualité du code (tooling) | 09:00–13:00 |
| Jeudi 3 décembre | 12 | Examen (évaluation finale, pas de cours) | 09:00–13:00 |
La séance 6 (15 octobre) est la seule à un horaire décalé : 8 h 00 – 12 h 00 (4 h, comme les autres). Pensez à arriver à l'heure — c'est la seule séance à cet horaire.
🧭 Logique de progression
Bloc 1 — Socle (séances 1 à 3)
Outillage, JavaScript asynchrone et TypeScript : on sécurise le langage avant d'attaquer le serveur.
Bloc 2 — Back-end (séances 4 à 7)
Node.js (séance 4), Express, REST et Docker : on construit une API qui tient la route, puis on la conteneurise.
Bloc 3 — Données et architecture (séances 8 à 10)
MongoDB, MVC, ORM et authentification : on structure, on sécurise et on persiste.
Bloc 4 — Qualité (séance 11)
Tooling : ESLint, Prettier, tests et débogage — le projet est désormais instrumenté pour la production.
Bloc 5 — Évaluation (séance 12)
Examen final sur le projet fil rouge (pas de nouveau cours).
📅 Détail des séances
Séance 1 — Jeudi 10 septembre · Outillage, versionnage et npm
- 🗓️ 10 septembre 2026 · ⏰ 9 h 00 – 13 h 00 · 📦 Bloc 1 — Socle
- Chapitres : Git, Tooling, npm
- Objectifs : configurer son poste, versionner proprement, comprendre le rôle du gestionnaire de paquets et des outils de qualité (extensions VS Code, debug, linting, formatage).
- Atelier : initialiser un dépôt, brancher, fusionner, publier sur GitHub ; installer des extensions VS Code essentielles ; initialiser un
package.jsonet installer une dépendance. - Livrable : dépôt fil rouge créé avec un
READMEet un premier commit signé du binôme.
Séance 2 — Jeudi 17 septembre · JavaScript moderne, asynchrone et tooling
- 🗓️ 17 septembre 2026 · ⏰ 9 h 00 – 13 h 00 · 📦 Bloc 1 — Socle
- Chapitres : JavaScript, Données asynchrones, Tooling
- Objectifs : maîtriser
Promise,async/await, la gestion d'erreurs,fetchet les outils de debug. - Atelier : consommer une API publique, afficher les données avec gestion des erreurs réseau, configurer le débogueur Node.js.
- Livrable : exercice JavaScript + configuration debug.
Séance 3 — Jeudi 24 septembre · TypeScript
- 🗓️ 24 septembre 2026 · ⏰ 9 h 00 – 13 h 00 · 📦 Bloc 1 — Socle
- Chapitres : TypeScript — primitifs et inférence, interfaces et unions, utility types et type guards, asynchrone typé
- Objectifs : comprendre le typage statique et l'inférence, distinguer interface/type et unions, typer l'asynchrone (Promise, async/await, erreurs), appliquer les utility types et type guards
- Atelier : convertir un script JavaScript en TypeScript strict, puis typer complètement un client d'API (réponse, erreurs, pagination)
- Livrable : exercice TypeScript
Séance 4 — Jeudi 1er octobre · Node.js côté serveur
- 🗓️ 1er octobre 2026 · ⏰ 9 h 00 – 13 h 00 · 📦 Bloc 2 — Back-end
- Chapitres : Node.js
- Objectifs : event loop, modules, système de fichiers, premier serveur HTTP natif.
- Atelier : serveur HTTP sans framework servant du JSON et des fichiers statiques.
- Livrable : exercice Node.js.
Séance 5 — Jeudi 8 octobre · Express
- 🗓️ 8 octobre 2026 · ⏰ 9 h 00 – 13 h 00 · 📦 Bloc 2 — Back-end
- Chapitres : Express — routing, middlewares, requêtes et réponses, erreurs.
- Objectifs : construire une API avec routage, middlewares et gestion d'erreurs centralisée.
- Atelier : migrer le serveur natif de la séance 4 vers Express.
- Livrable : exercice Express.
Séance 6 — Jeudi 15 octobre · API REST
- 🗓️ 15 octobre 2026 · ⏰ 8 h 00 – 12 h 00 (horaire exceptionnel) · 📦 Bloc 2 — Back-end
- Chapitres : API REST — principes, URLs, méthodes et codes, bonnes pratiques, tests.
- Objectifs : concevoir une API cohérente, idempotente et documentée.
- Atelier : conception des routes du projet fil rouge, tests avec un client HTTP.
- Livrable : exercice REST + collection de requêtes de test.
Séance 7 — Jeudi 22 octobre · Docker et base MongoDB
- 🗓️ 22 octobre 2026 · ⏰ 9 h 00 – 13 h 00 · 📦 Bloc 2 — Back-end
- Chapitres : Docker, MongoDB via Docker
- Objectifs : conteneuriser, monter un volume et orchestrer une base MongoDB accessible depuis le projet fil rouge.
- Atelier :
Dockerfile+docker-compose.ymlpour fournir une base MongoDB au projet (remplace l'installation locale). - Livrable : exercice Docker — base MongoDB conteneurisée et connectée.
Séance 8 — Jeudi 5 novembre · MongoDB
- 🗓️ 5 novembre 2026 · ⏰ 9 h 00 – 13 h 00 · 📦 Bloc 3 — Données et architecture
- Chapitres : MongoDB — NoSQL, installation, CRUD, modélisation.
- Objectifs : modéliser des documents, écrire des requêtes CRUD, choisir entre imbrication et référence.
- Atelier : brancher l'API Express de la séance 5 sur la base MongoDB du conteneur Docker (séance 7).
- Livrable : exercice MongoDB.
Séance 9 — Jeudi 12 novembre · Architecture MVC et ORM (Prisma)
- 🗓️ 12 novembre 2026 · ⏰ 9 h 00 – 13 h 00 · 📦 Bloc 3 — Données et architecture
- Chapitres : MVC & ORM, Prisma en pratique
- Objectifs : séparer routes, contrôleurs, services et modèles ; comprendre l'apport d'un ORM/ODM ; schéma et migrations.
- Atelier : refactoriser l'API en MVC au-dessus de la base MongoDB conteneurisée, puis poser le schéma Prisma.
- Livrable : arborescence de projet conforme au modèle vu en cours.
Séance 10 — Jeudi 19 novembre · Authentification
- 🗓️ 19 novembre 2026 · ⏰ 9 h 00 – 13 h 00 · 📦 Bloc 3 — Données et architecture
- Chapitres : Authentification
- Objectifs : hachage de mot de passe, sessions et JWT, identification et autorisation (IAM).
- Atelier : ajouter l'inscription, la connexion et une route protégée.
- Livrable : exercice authentification.
Séance 11 — Jeudi 26 novembre · Tooling — qualité du code
- 🗓️ 26 novembre 2026 · ⏰ 9 h 00 – 13 h 00 · 📦 Bloc 4 — Qualité
- Chapitres : Tooling — qualité, débogage, linting, formatage et tests.
- Objectifs : instrumenter le projet fil rouge avec ESLint (flat config), Prettier, un test et la configuration de débogage.
- Atelier : coupler Prettier + ESLint, ajouter un test et configurer le débogueur.
- Livrable : exercice tooling.
Séance 12 — Jeudi 3 décembre · Examen (évaluation finale)
- 🗓️ 3 décembre 2026 · ⏰ 9 h 00 – 13 h 00 · 📦 Bloc 5 — Évaluation
- Pas de cours nouveau : cette séance est réservée à l'évaluation finale du module.
- Modalités : mise en situation sur le projet fil rouge (branche
session-10) — architecture MVC, qualité du typage, cohérence de l'API et persistance MongoDB conteneurisée.
🧵 Le projet fil rouge
Le même projet traverse les douze séances : une petite application de gestion (catalogue, tâches ou réservations, au choix du groupe).
🧱 Séances 1 à 3
Dépôt Git, scripts npm, code TypeScript typé et testé.
🟢 Séance 4
Premier serveur HTTP natif (JSON, fichiers statiques).
🚂 Séances 5 à 7
API Express REST complète, Docker et conteneurisation.
🍃 Séances 8 à 10
MongoDB, architecture MVC, ORM/ODM et authentification.
🛠️ Séance 11
Tooling : ESLint, Prettier, tests et débogage.
🚀 Séance 12
Examen final : mise en situation sur le projet fil rouge (architecture MVC, typage, API, MongoDB conteneurisée).
La séance 12 est un examen (pas de nouveau cours) : prévoyez 3 h 30 de mise en situation + 30 min de restitution. Si le groupe est en retard, allégez la séance 11 en la limitant au linting et au débogage (Tooling) et reporter les tests d'API à l'examen. L'interface graphique du projet est traitée dans le module TW4.
🔗 Le dépôt fil rouge (à créer par les étudiants)
Chaque exercice de cours construit une étape du même dépôt, publié en référence sur GitHub. Un étudiant qui suit les 12 séances aboutit exactement à ce dépôt.
- Dépôt de référence : github.com/micmc422/projet-fil-rouge-tw3
- Le dossier de travail de chaque binôme s'appelle
projet-fil-rouge-tw3. - Le dépôt de référence possède une branche
session-NNpar séance (ex.session-01,session-04), représentant l'état cumulé du projet à la fin de la séance. Pour rattraper un cours :git switch session-04. Pour visualiser la progression : comparez deux branches.
Comment récupérer la bonne branche
À partir de votre dépôt local projet-fil-rouge-tw3 :
# Lister les branches distantes disponibles
git branch -r
# Basculer sur la branche d'une séance donnée (ex. séance 4 — Node.js)
git switch session-04
# Pour revenir à la dernière séance travaillée
git switch session-10
# Pour voir l'état d'une séance précise sans changer de branche
git log origin/session-04 --onelineLe dépôt de référence publie une branche par séance. Chaque branche est
cumulative : session-04 contient tout ce qui a été fait aux séances 1 à 4.
Lien cours → branche du dépôt fil rouge :
| Séance | Chapitre (exercice) | Branche |
|---|---|---|
| 1 | Git + npm + Tooling | session-01 |
| 2 | JavaScript | session-02 |
| 3 | TypeScript | session-03 |
| 4 | Node.js | session-04 |
| 5 | Express | session-05 |
| 6 | REST | session-06 |
| 7 | Docker | session-07 |
| 8 | MongoDB | session-08 |
| 9 | MVC & ORM | session-09 |
| 10 | Authentification | session-10 |
| 11 | Tooling | session-11 |
| 12 | Examen (pas de livrable de cours) | — |
Chaque page exercice.mdx contient une section « 🧵 Projet fil rouge » qui
nomme le dossier cible, lie la branche correspondante et liste les opérations à
effectuer (init → install → code → commit), en renvoyant vers l'exercice
générique qui reste l'évaluation de la séance.
✅ Repères d'évaluation
- Un quiz de chapitre validé par séance ;
- un exercice évalué rendu à chaque fin de bloc ;
- le projet fil rouge évalué en séance 12 sur l'architecture, la qualité du typage et la cohérence de l'API.
Planning TW3
Terminez le quiz du chapitre pour le marquer comme complété.