Available courses

OPI201 – Architecture des infrastructures numériques des systèmes industriels

Durée : 3 jours (21 heures)

Prérequis : Bases informatiques et réseaux

Objectifs opérationnels

  • Modéliser une architecture numérique industrielle
  • Identifier et schématiser les interactions entre sous-systèmes (ERP, MES, SCADA, etc.)
  • Configurer et tester les protocoles de communication pour assurer l'interopérabilité
  • Appliquer les bonnes pratiques de conception et d'amélioration des architectures

Programme

  • Jour 1 : Fondamentaux et modélisation des architectures numériques (Pyramide CIM, Industrie 4.0, ERP/MES/SCADA, schématisation)
  • Jour 2 : Protocoles de communication et interopérabilité (OPC-UA, Modbus, MQTT, Profinet, API REST, intégration inter-systèmes)
  • Jour 3 : Validation et optimisation de l'interopérabilité (tests de performance, cybersécurité industrielle, étude de cas finale)
Skill Level: Beginner
🤖

IA Générative & Prompt Engineering

Chef de projet e-commerce — Label Emmaüs · École du Digital

📅
Dimanche 23 mars 2026
9 h 00 – 17 h 00
⏱️
7 heures
Présentiel intensif
👥
20 apprenants max
Bachelor CDP e-commerce
🛠️
4 ateliers pratiques
Fil rouge projet

🎯 Objectifs pédagogiques

  1. Comprendre les fondamentaux de l'IA générative et le fonctionnement des LLM
  2. Maîtriser les 5 piliers du prompting : contexte · rôle · tâche · ton/format · itération
  3. Appliquer l'IA à la productivité : retroplanning, priorisation, synthèse de notes
  4. Exploiter l'IA pour des cas e-commerce : veille concurrentielle, création visuelle, fiches produit
  5. Construire une bibliothèque de prompts réutilisables pour son projet professionnel

📋 Programme de la journée

09 h 00 Accueil, icebreaker & présentation de la journée
Bloc 1 Introduction à l'IA générative — concepts, outils, éthique
Bloc 2 Les 5 piliers du prompting — atelier création de prompts
12 h 20 🍽️ Pause déjeuner
Bloc 3 IA & Productivité — retroplanning, priorisation, organisation
Bloc 4 Cas pratiques e-commerce — veille, création visuelle
16 h 30 Synthèse, livrables & clôture

📦 Livrables attendus

  • 🗂️ Bibliothèque de prompts personnalisée (minimum 10 prompts classés par usage)
  • 📊 Retroplanning projet généré et affiné avec l'IA (6 semaines)
  • 🎨 Visuel e-commerce créé via IA (bannière, logo ou mockup)
  • 📝 Fiche de veille concurrentielle structurée par prompt
💡 Pré-requis : Créer un compte gratuit sur chat.openai.com avant la session · Apporter son ordinateur portable chargé
Skill Level: Beginner
Focus Mode: Force Focus Mode with learner control

SharePoint — Utilisation et Contributeur

Durée : 1 jour (6 heures) | Niveau : Débutant (Application)

Objectif : À l'issue de la formation, les participants seront capables de contribuer efficacement à un site SharePoint en utilisant ses fonctionnalités clés pour organiser, créer et personnaliser des contenus.

Compétences visées

  • Utiliser les listes et bibliothèques de documents dans SharePoint
  • Créer et organiser du contenu sur un site SharePoint
  • Personnaliser une page dans un site existant
  • Créer un site SharePoint simple pour une équipe ou un projet

Profils des stagiaires

  • Employés devant gérer ou contribuer à des sites SharePoint d'entreprise
  • Utilisateurs souhaitant maîtriser les outils collaboratifs de SharePoint
  • Responsables de contenu et administrateurs fonctionnels débutants

Prérequis : Connaissances de base en informatique et navigation sur le web. Aucune expérience préalable avec SharePoint requise.

Skill Level: Beginner

SharePoint 2016 — Création de site

Conception et administration de sites SharePoint Server 2016 on-premises

Objectifs

Maîtriser la création de collections de sites, la gestion des listes et bibliothèques, la personnalisation des pages, la configuration des permissions et l'intégration avec l'écosystème Microsoft dans un environnement SharePoint 2016 on-premises.

Skill Level: Beginner
Focus Mode: Force Focus Mode with learner control

SharePoint Online — Création de site

Apprenez à concevoir, structurer et personnaliser des sites SharePoint

Objectifs

Cette formation vous rend autonome sur la création de sites d'équipe et de communication SharePoint : structure, navigation, pages, composants WebPart, permissions, intégration Office et workflows Power Automate.

Programme — 7 modules

  • Module 1 — Introduction à SharePoint
  • Module 2 — Créer et structurer un site d'équipe
  • Module 3 — Personnalisation des pages
  • Module 4 — Gestion des groupes et droits d'accès
  • Module 5 — Intégration avec Microsoft Office
  • Module 6 — Workflows et automatisation
  • Module 7 — Administration et maintenance
Skill Level: Beginner
Focus Mode: Force Focus Mode with learner control

📧 Microsoft Exchange Server 2019

Administration complète — Du débutant à l'expert

🎯 Pourquoi cette formation ?

Exchange Server 2019 reste la solution de messagerie on-premises de référence pour les entreprises qui doivent garder le contrôle de leurs données, respecter des contraintes de souveraineté ou maintenir une infrastructure hybride. Cette formation vous rend autonome sur l'installation, la configuration, la sécurisation et le dépannage d'une infrastructure Exchange complète en environnement professionnel.

🗺️ Le parcours en 10 étapes

Prérequis & accueil — Des crash courses PowerShell, réseau, AD et Windows Server vous mettent à niveau avant de commencer, et un guide Moodle vous explique comment naviguer dans le cours.
1
Comprendre Exchange — Vous découvrez l'histoire de la messagerie, l'architecture d'Exchange 2019, ses rôles (Mailbox, Edge Transport) et sa place dans l'écosystème Microsoft.
2
Construire le lab — Vous configurez Hyper-V et créez trois machines virtuelles (contrôleur de domaine, serveur Exchange, poste client) dans le domaine defense.com.
3
Installer Exchange — Vous préparez le schéma AD, installez tous les prérequis et réalisez l'installation pas à pas avec vérification complète.
4
Configurer et déployer — Certificats SSL, URLs, domaines acceptés, connecteurs d'envoi, création de boîtes aux lettres et tests de flux bout en bout.
5
Administrer au quotidien — Boîtes de ressources, groupes dynamiques, listes d'adresses, règles de transport, stratégies de rétention et archivage.
6
Assurer la haute disponibilité — Ajout d'un second serveur Exchange, création du DAG-DEFENSE, réplication des bases de données et basculement automatique.
7
Sauvegarder et restaurerWindows Server Backup, Recovery Database, restauration d'éléments supprimés et plan de reprise d'activité (DRP).
8-9
Sécuriser et dépannerAnti-spam, anti-malware, audit, eDiscovery, DLP, journalisation, puis 10 scénarios de pannes réelles à diagnostiquer et résoudre.
10
Sécuriser le périmètre — Déploiement d'un serveur Edge Transport en DMZ, EdgeSync, filtrage en périmètre, réécriture d'adresses et durcissement pour la production.
10
modules
70+
chapitres
80
questions quiz
~40h
de formation

✨ L'approche

Chaque module suit le même principe : comprendre la théorie, pratiquer sur un lab réaliste (defense.com), puis valider ses acquis par un quiz. Le tout dans un environnement gamifié avec points XP et 10 niveaux de progression, du Stagiaire IT à l'Exchange Master.

Skill Level: Beginner
Focus Mode: Force Focus Mode with learner control
Formation avancée PostgreSQL centrée sur le diagnostic de performances, l'optimisation des requêtes et du schéma, et le tuning serveur. Fil rouge TerraLogis sur 3 jours — 60% de travaux pratiques.
Skill Level: Beginner

🐘 PostgreSQL — Confirmé

Diagnostic · Optimisation · Tuning · Applications

🎯 Pourquoi cette formation ?

PostgreSQL est aujourd'hui le moteur de base de données open source de référence pour les applications critiques. Cette formation vous donne les outils et la méthode pour diagnostiquer, analyser et résoudre les problèmes de performance d'une base PostgreSQL en production. Tout au long du cours, les exemples s'appuient sur TerraLogis — une plateforme e-commerce logistique gérant 120 000 commandes/jour avec une base de 80 GB souffrant de dégradations progressives.

🗺️ Le parcours en 6 modules

1
Outils de diagnostic natifs — pg_stat_activity, pg_stat_statements, slow query log, auto_explain. Lire ce qui se passe à l'intérieur du moteur sans outil externe.
2
Analyse des performances serveur — Cache hit ratio, pg_stat_user_tables, audit des index, checkpoints, verrous actifs. Collecter les métriques de santé du serveur.
3
Optimisation des requêtes SQL — EXPLAIN ANALYZE, types d'index (B-Tree, GIN, BRIN, partiel, couvrant), CTE matérialisées, vues matérialisées.
4
Optimisation des schémas — Choix des types, contraintes FK, partitionnement RANGE/LIST/HASH, dénormalisation ciblée et tables agrégat.
5
Optimisation des applications — PgBouncer et connection pooling, gestion des transactions, dead locks, SKIP LOCKED, timeouts applicatifs.
6
Tuning des paramètres serveur — shared_buffers, work_mem, autovacuum, WAL, checkpoints. Configuration postgresql.conf pour la production.
6
modules
40+
chapitres
60
questions quiz
~18h
de formation

✨ L'approche

Chaque module suit le même principe : comprendre la théorie, pratiquer sur le cas réel TerraLogis (120K commandes/jour), puis valider ses acquis par un quiz. Tous les exemples SQL sont directement utilisables en production. L'accent est mis sur la méthode de diagnostic : savoir quoi mesurer, comment interpréter et quoi corriger en priorité.

Skill Level: Beginner

Séminaire Intelligence Artificielle

Panorama de l'IA générative et cas d'usage en entreprise

Objectifs

Comprendre les fondamentaux de l'IA (machine learning, deep learning, LLM), découvrir les outils d'IA générative (ChatGPT, Claude, Copilot, Midjourney), identifier les cas d'usage concrets en entreprise et appréhender les enjeux éthiques, juridiques et de gouvernance.

Skill Level: Beginner
Focus Mode: Force Focus Mode with learner control

🐘 PostgreSQL pour Développeurs

3 jours pour maîtriser PostgreSQL — 70% de pratique minimum

🧵 Fil rouge : DevTracker

Tout au long des 3 jours, vous construisez DevTracker, une plateforme de gestion de projets et de tickets pour une équipe de développement. Chaque concept est immédiatement mis en pratique sur cette base de données qui évolue de jour en jour :

Jour 1
Vous créez la base DevTracker from scratch : utilisateurs, projets, tickets, commentaires. CRUD complet.
Jour 2
Vous construisez le reporting : dashboards, statistiques, classements d'équipe, optimisation des requêtes.
Jour 3
Vous sécurisez et automatisez : audit trail, notifications, multi-tenant, backup, mise en production.

🎯 Objectifs

À l'issue de cette formation, vous serez capable de :

  • Installer et configurer PostgreSQL dans un contexte de développement
  • Concevoir un schéma de base de données normalisé et évolutif
  • Écrire du SQL avancé : CTEs, window functions, requêtes récursives
  • Optimiser les performances : index, EXPLAIN, VACUUM
  • Utiliser les fonctionnalités avancées : JSONB, PL/pgSQL, triggers, vues matérialisées
  • Sécuriser l'accès aux données : rôles, permissions, Row Level Security
  • Mettre en place des stratégies de backup et de migration

🗺️ Programme — 3 jours

📅 Jour 1 — Installation, schéma et CRUD (7h)

🎓 Théorie (2h)
• Architecture PostgreSQL
postgresql.conf / pg_hba.conf
• Types de données
• Contraintes et normalisation
🔧 Pratique (5h)
• TP1 : Installation PostgreSQL (Docker + natif)
• TP2 : Prise en main psql et pgAdmin
• TP3 : Conception du schéma DevTracker (users, projects, tickets, comments, tags)
• TP4 : Insertion de données réalistes (jeu de 500+ lignes)
• TP5 : Requêtes CRUD complètes sur DevTracker
• TP6 : Contraintes CHECK, UNIQUE, FK — tester les cas d'erreur

📅 Jour 2 — SQL avancé et performance (7h)

🎓 Théorie (2h)
• Jointures avancées
• CTEs et récursivité
Window functions
• Index et EXPLAIN
• Transactions et isolation
🔧 Pratique (5h)
• TP7 : Dashboard DevTracker — tickets par projet, par statut, par développeur (jointures multiples)
• TP8 : Historique d'activité avec CTEs récursives (tickets parent/enfant, sous-tâches)
• TP9 : Classement des développeurs : ROW_NUMBER, RANK, temps moyen de résolution (window functions)
• TP10 : Vélocité par sprint avec LAG/LEAD et moyennes glissantes
• TP11 : Audit de performance — EXPLAIN ANALYZE sur les requêtes du dashboard, création d'index ciblés
• TP12 : Scénario de concurrence — deux développeurs assignent le même ticket (transactions, locks)

📅 Jour 3 — Fonctionnalités avancées et production (7h)

🎓 Théorie (2h)
JSONB et schéma flexible
• PL/pgSQL et triggers
• Vues matérialisées
• Sécurité et RLS
• Backup et migrations
🔧 Pratique (5h)
• TP13 : Métadonnées dynamiques — stocker les custom fields des tickets en JSONB, requêtes et index GIN
• TP14 : Audit trail automatique — trigger AFTER INSERT/UPDATE/DELETE qui log chaque modification
• TP15 : Notifications — fonction PL/pgSQL qui détecte les tickets en retard et génère des alertes
• TP16 : Dashboard temps réel — vues matérialisées avec REFRESH CONCURRENTLY
• TP17 : Multi-tenant — implémenter Row Level Security pour isoler les données par organisation
• TP18 : Mise en production — pg_dump/pg_restore, script de migration, bonnes pratiques de nommage
3
jours
18
TPs pratiques
70%
pratique
1
fil rouge
30
questions quiz

✨ L'approche

Chaque journée suit le rythme 30% théorie / 70% pratique. Toutes les notions sont immédiatement appliquées sur le fil rouge DevTracker. Un questionnaire de pré-formation évalue votre niveau initial, et un quiz final de 30 questions valide vos acquis sur l'ensemble des 3 jours.

Skill Level: Beginner
Focus Mode: Force Focus Mode with learner control

PostgreSQL — Initiation

2 jours pour découvrir PostgreSQL et écrire vos premières requêtes SQL

Objectifs

Installer PostgreSQL, comprendre l'architecture relationnelle, créer des bases et des tables, écrire des requêtes SELECT/INSERT/UPDATE/DELETE, utiliser les jointures et les fonctions d'agrégation, et gérer les transactions de base.

Skill Level: Beginner

🍔 NexusEats — Développement Back-end & Conception d'API (49 h)

Fil narratif

Pitch : Les apprenants sont recrutés comme Squad Back-end chez NexusEats, une startup FoodTech en hyper-croissance qui doit remplacer son monolithe PHP vieillissant par une architecture API moderne. Le CTO (le formateur) guide l'équipe à travers 11 sprints — chaque sprint correspond à un module du programme et produit un livrable fonctionnel qui s'intègre au précédent.

La plateforme NexusEats permet aux restaurants de publier leurs menus, aux clients de commander et suivre en temps réel, aux livreurs de gérer leurs courses, et aux admins de piloter le tout via un dashboard.

Personnages récurrents

Personnage Rôle Apparaît dans
Alex (CTO) Donne les directives de sprint, incarne les décisions d'architecture Tous les sprints
Mia (Product Owner) Exprime les besoins métier, challenge les choix techniques Sprints 1, 3, 8, 11
Sam (DevSecOps) Intervient sur la sécurité, le monitoring, le déploiement Sprints 4, 5, 7, 10
Jordan (QA Lead) Exige des tests, remet en question la robustesse Sprints 6, 8, 11
Le Client Fantôme Utilisateur fictif qui génère des bugs et cas limites Sprints 5, 6, 7

Progression narrative

Sprint 1-2  → Fondations : "On pose les bases de la nouvelle plateforme"
Sprint 3-4  → Solidification : "Les premiers restaurants s'inscrivent, il faut sécuriser"
Sprint 5-7  → Montée en charge : "10 000 commandes/jour, ça tient ?"
Sprint 8-9  → Architecture : "On passe en micro-services, on documente pour les partenaires"
Sprint 10   → Mise en production : "Go live dans 48h"
Sprint 11   → Projet intégrateur : "La démo investisseurs"

Architecture technique


Plan détaillé des 11 sprints


🟢 SPRINT 1 — Paradigmes d'API (5 h)

Brief d'Alex : "On doit choisir les bons protocoles pour chaque besoin de NexusEats. REST pour le CRUD, GraphQL pour le catalogue flexible, WebSocket pour le suivi temps réel."

Objectifs pédagogiques

Contenu théorique (1h30)

  • Taxonomie des paradigmes : requête/réponse vs streaming vs pub/sub
  • REST : contraintes architecturales (Richardson Maturity Model), HATEOAS
  • GraphQL : schéma, résolveurs, N+1 problem, quand l'utiliser vs REST
  • gRPC : Protocol Buffers, streaming bidirectionnel, cas d'usage inter-services
  • WebSocket & SSE : comparaison, cas d'usage temps réel

Travaux pratiques (3h30)

  1. TP1 — API REST Restaurants (1h30)

    • Scaffolding NestJS : nest new nexuseats-api
    • Module restaurants : CRUD complet (Controller, Service, DTOs avec class-validator)
    • Validation des entrées, codes HTTP appropriés, pagination basique
    • 🎯 Livrable : API REST /restaurants fonctionnelle avec 5 routes
  2. TP2 — GraphQL Catalogue (1h)

    • Module menu avec @nestjs/graphql (code-first)
    • Résolveurs pour requêtes imbriquées : Restaurant → Menus → Items
    • Comparaison des réponses REST vs GraphQL sur le même jeu de données
    • 🎯 Livrable : Endpoint /graphql avec playground fonctionnel
  3. TP3 — WebSocket Suivi de commande (1h)

    • Gateway WebSocket NestJS (@WebSocketGateway)
    • Événements : order:status-update, delivery:location
    • Mini-client HTML pour visualiser les événements en direct
    • 🎯 Livrable : Gateway WS émettant des mises à jour de position

Évaluation sprint

  • Quiz interactif : choisir le bon paradigme selon un scénario donné (6 scénarios)
  • Défi : implémenter un endpoint gRPC basique entre deux services NestJS (bonus)

🟢 SPRINT 2 — Spécifications contractuelles (3 h)

Brief d'Alex : "Avant d'aller plus loin, on contractualise notre API. Les équipes front et mobile doivent pouvoir travailler en parallèle."

Objectifs pédagogiques

  • Générer une documentation OpenAPI 3.x automatiquement depuis NestJS
  • Maîtriser les décorateurs Swagger de NestJS
  • Appliquer le versioning sémantique à une API
  • Valider les payloads avec JSON Schema

Contenu théorique (1h)

  • OpenAPI 3.0 vs 3.1 : structure, paths, components, security schemes
  • Swagger UI vs Redoc vs Stoplight : choix d'outil
  • JSON Schema : $ref, oneOf, discriminator, validation stricte
  • Versioning : URI (/v1/), header, media-type — avantages et inconvénients
  • Contract-first vs code-first : quand utiliser quoi

Travaux pratiques (2h)

  1. TP1 — Swagger NestJS (1h)

    • Installation @nestjs/swagger, décorateurs @ApiTags, @ApiOperation, @ApiResponse
    • Documentation complète du module restaurants du Sprint 1
    • Ajout des schémas de réponse, exemples, groupes de tags
    • Export du fichier openapi.json
    • 🎯 Livrable : Swagger UI accessible sur /api/docs avec toutes les routes documentées
  2. TP2 — Versioning & JSON Schema (1h)

    • Activation du versioning NestJS (URI strategy)
    • Création d'un endpoint v1 et v2 avec breaking change contrôlé
    • Validation JSON Schema sur les DTOs avec ajv en complément de class-validator
    • Génération d'un changelog API
    • 🎯 Livrable : API versionnée v1/v2 avec documentation différenciée

Évaluation sprint

  • Peer review : échange de specs OpenAPI entre binômes, identification d'incohérences
  • Défi : générer un SDK client TypeScript depuis le fichier OpenAPI (bonus)

🟢 SPRINT 3 — Modélisation & Persistance (5 h)

Brief de Mia : "Les premiers restaurants veulent s'inscrire ! On a besoin d'un vrai modèle de données : restaurants, menus, commandes, utilisateurs, livreurs."

Objectifs pédagogiques

  • Concevoir un schéma relationnel complet avec Prisma
  • Gérer les migrations, seeds et rollbacks
  • Implémenter des transactions ACID pour les commandes
  • Optimiser les requêtes (eager loading, index, requêtes brutes)

Contenu théorique (1h30)

  • ORM vs Query Builder vs Raw SQL : compromis performance/productivité
  • Prisma : schema.prisma, relations, types, enums, middleware
  • Migrations : stratégie de versioning, rollback, données de seed
  • Transactions : ACID, niveaux d'isolation, deadlocks
  • Patterns : Repository pattern dans NestJS, Unit of Work
  • Démonstration TypeORM : comparaison syntaxique avec Prisma

Travaux pratiques (3h30)

  1. TP1 — Schéma Prisma NexusEats (1h30)

    • Modélisation complète : User, Restaurant, Menu, MenuItem, Order, OrderItem, Delivery, Review
    • Relations : 1-N, N-N (tags/catégories), self-relation (réponse à un avis)
    • Enums : OrderStatus, UserRole, DeliveryStatus
    • Seed script : 5 restaurants, 20 items, 3 utilisateurs
    • 🎯 Livrable : BDD PostgreSQL initialisée avec schéma complet + seed
  2. TP2 — Repository Pattern & Requêtes avancées (1h)

    • Abstraction Repository dans NestJS (injection de dépendances)
    • Requêtes complexes : filtres dynamiques, tri, recherche full-text
    • Eager loading optimisé : include vs select dans Prisma
    • Index sur les colonnes critiques (restaurant_id sur orders, etc.)
    • 🎯 Livrable : Service OrdersService avec requêtes optimisées
  3. TP3 — Transactions & Concurrence (1h)

    • Transaction de création de commande : vérifier stock → créer order → décrémenter stock
    • Gestion des cas d'erreur : rollback si stock insuffisant
    • Simulation de concurrence : deux commandes simultanées sur le dernier item
    • Optimistic locking avec champ version sur MenuItem
    • 🎯 Livrable : Endpoint POST /orders transactionnel et résistant à la concurrence

Évaluation sprint

  • Code review croisée : évaluation des choix de modélisation
  • Défi : implémenter le soft-delete et l'audit trail sur les entités critiques (bonus)

🔶 SPRINT 4 — Sécurité by Design (5 h)

Brief de Sam : "On ouvre l'API au public la semaine prochaine. Je veux zéro faille. Authentification solide, autorisations granulaires, et conformité OWASP."

Objectifs pédagogiques

  • Implémenter l'authentification JWT + refresh tokens avec NestJS/Passport
  • Configurer un flux OAuth2/OIDC complet
  • Mettre en place RBAC et ABAC avec des guards NestJS
  • Appliquer les recommandations OWASP API Security Top 10

Contenu théorique (1h30)

  • JWT : structure, algorithmes (RS256 vs HS256), rotation de clés, stockage sécurisé
  • OAuth 2.0 : flows (Authorization Code + PKCE, Client Credentials), scopes
  • OIDC : ID Token, UserInfo endpoint, providers (Keycloak, Auth0)
  • RBAC vs ABAC : matrice de permissions, policies dynamiques
  • OWASP API Security Top 10 (2023) : les 10 risques avec exemples NexusEats
  • Rate limiting, CORS, helmet, validation d'entrée, protection SSRF

Travaux pratiques (3h30)

  1. TP1 — Auth JWT complète (1h30)

    • Module auth NestJS avec Passport (local strategy + JWT strategy)
    • Inscription, connexion, refresh token (rotation), déconnexion (blacklist)
    • Guards : @UseGuards(JwtAuthGuard) sur les routes protégées
    • Hashing bcrypt, validation email, protection brute-force (throttler)
    • 🎯 Livrable : Flux auth complet avec access + refresh tokens
  2. TP2 — RBAC & Autorisations (1h)

    • Décorateur custom @Roles('admin', 'restaurant_owner', 'customer', 'driver')
    • Guard RolesGuard avec vérification dans le JWT
    • ABAC : un restaurant owner ne peut modifier que SES restaurants
    • Intercepteur de vérification de propriété des ressources
    • 🎯 Livrable : Matrice RBAC appliquée sur toutes les routes existantes
  3. TP3 — Hardening OWASP (1h)

    • Rate limiting avec @nestjs/throttler (par route et par rôle)
    • Helmet + CORS configuré finement
    • Protection BOLA : vérification systématique de ownership
    • Protection mass assignment : DTOs stricts, @Exclude() sur les champs sensibles
    • Audit : log de toutes les actions sensibles (connexion, modification de rôle)
    • 🎯 Livrable : Rapport de conformité OWASP Top 10 pour l'API NexusEats

Évaluation sprint

  • Pentest entre équipes : chaque binôme tente d'exploiter l'API d'un autre binôme
  • Défi : intégrer un flux OAuth2 avec Keycloak/Auth0 (bonus)

🔶 SPRINT 5 — Gestion des erreurs & Observabilité (4 h)

Brief de Sam : "Le Client Fantôme a fait planter l'API 3 fois hier. On a mis 2 heures à trouver le bug. Plus jamais ça — on instrumente tout."

Objectifs pédagogiques

  • Concevoir une stratégie d'erreurs cohérente (codes HTTP, enveloppes, i18n)
  • Implémenter des filtres d'exception globaux dans NestJS
  • Mettre en place des logs structurés (JSON) avec corrélation de requêtes
  • Déployer un pipeline d'observabilité : traces → métriques → alertes

Contenu théorique (1h)

  • Taxonomie des erreurs : validation, métier, infrastructure, inattendues
  • Enveloppe d'erreur standardisée (RFC 7807 — Problem Details)
  • Logs structurés : Winston/Pino, niveaux, correlation ID, PII masking
  • Observabilité : les 3 piliers (logs, métriques, traces)
  • OpenTelemetry : SDK Node.js, propagation de contexte, exporteurs
  • Prometheus : types de métriques (counter, gauge, histogram), convention de nommage

Travaux pratiques (3h)

  1. TP1 — Gestion d'erreurs pro (1h)

    • HttpExceptionFilter global : formatage RFC 7807
    • Exceptions métier custom : InsufficientStockException, RestaurantClosedException
    • Intercepteur de logging : request ID, durée, user, route
    • Validation pipe global avec messages d'erreur exploitables
    • 🎯 Livrable : Toutes les erreurs de l'API retournent un format uniforme
  2. TP2 — Logs structurés & Traces (1h)

    • Configuration Pino dans NestJS avec nestjs-pino
    • Correlation ID automatique (middleware → header → logs)
    • Intégration OpenTelemetry : auto-instrumentation HTTP + Prisma
    • Export des traces vers Jaeger (Docker)
    • 🎯 Livrable : Trace distribuée visible dans Jaeger pour un flux commande
  3. TP3 — Métriques & Dashboard (1h)

    • Exposition Prometheus via @willsoto/nestjs-prometheus
    • Métriques custom : orders_created_total, order_processing_duration_seconds
    • Dashboard Grafana avec Docker Compose (4 panneaux : requêtes/s, latence p95, erreurs, commandes)
    • Alerte : notification si taux d'erreur > 5%
    • 🎯 Livrable : Dashboard Grafana fonctionnel connecté à l'API NexusEats

Évaluation sprint

  • Investigation : le formateur injecte 3 bugs, les apprenants doivent les trouver via les traces/logs
  • Défi : ajouter un health check endpoint avec détails (DB, Redis, broker) (bonus)

🔶 SPRINT 6 — Tests & Qualité (4 h)

Brief de Jordan : "Zéro fonctionnalité ne passe en staging sans tests. Je veux du vert partout : unitaires, intégration et contrats."

Objectifs pédagogiques

  • Écrire des tests unitaires efficaces avec Jest et les patterns NestJS
  • Implémenter des tests d'intégration avec base de données de test
  • Mettre en place des tests contractuels avec Pact
  • Automatiser les tests dans une pipeline CI

Contenu théorique (1h)

  • Pyramide des tests : coût, vitesse, confiance — trouver l'équilibre
  • Tests unitaires NestJS : Test.createTestingModule(), mocking des providers
  • Tests d'intégration : Supertest + BDD de test (Prisma + testcontainers ou BDD séparée)
  • Tests contractuels : Pact — consumer-driven contracts, broker
  • Mocks : jest.mock(), jest.spyOn(), bibliothèques de fixtures
  • Coverage : métrique utile ou vanity metric ? Seuils raisonnables (80%+ lignes)

Travaux pratiques (3h)

  1. TP1 — Tests unitaires (1h)

    • Tests du OrdersService : création, annulation, calcul de total
    • Mocking de PrismaService, NotificationService
    • Tests des guards : RolesGuard, JwtAuthGuard
    • Edge cases : commande vide, restaurant fermé, stock à 0
    • 🎯 Livrable : 15+ tests unitaires passants avec > 80% coverage sur les services
  2. TP2 — Tests d'intégration (1h)

    • Setup : BDD PostgreSQL de test, beforeAll / afterAll avec seeds
    • Tests Supertest du flux complet : inscription → login → commande → vérification
    • Test de la transaction de commande avec concurrence
    • Test des erreurs : 401, 403, 404, 422 sur les routes protégées
    • 🎯 Livrable : Suite d'intégration du flux commande (8+ tests)
  3. TP3 — Tests contractuels & CI (1h)

    • Pact : consumer test (le front attend GET /orders/:id avec un certain format)
    • Provider verification : le back valide qu'il respecte le contrat
    • Pipeline GitHub Actions : lint → unit → integration → contract → coverage report
    • Badge de status dans le README
    • 🎯 Livrable : Pipeline CI verte avec 3 étapes de tests

Évaluation sprint

  • Mutation testing : le formateur introduit des mutations, les tests doivent les détecter
  • Défi : atteindre 90%+ de coverage sur le module orders (bonus)

🔴 SPRINT 7 — Performance & Scalabilité (4 h)

Brief d'Alex : "On vient de signer un partenariat avec une chaîne de 200 restaurants. L'API doit tenir 10 000 requêtes/minute. Optimisez tout."

Objectifs pédagogiques

  • Implémenter la pagination cursor-based pour les grandes collections
  • Mettre en place un cache multi-niveaux (HTTP + Redis)
  • Profiler et optimiser les endpoints lents
  • Définir et exposer des métriques de performance

Contenu théorique (1h)

  • Pagination : offset vs cursor-based — pourquoi cursor gagne à l'échelle
  • Cache : HTTP (ETag, Cache-Control), applicatif (Redis), invalidation (TTL, event-based)
  • Compression : gzip/brotli, quand c'est utile, impact CPU
  • Profiling : flamegraphs Node.js, slow query log PostgreSQL, EXPLAIN ANALYZE
  • Patterns : connection pooling, lazy loading, batch processing
  • Métriques de performance : Apdex, p50/p95/p99, throughput

Travaux pratiques (3h)

  1. TP1 — Pagination cursor-based (45min)

    • Refactoring de GET /restaurants et GET /orders en cursor-based
    • Encodage opaque du cursor (base64)
    • Réponse standardisée : { data, cursor, hasMore }
    • Comparaison de performance avec EXPLAIN ANALYZE (offset vs cursor sur 100k lignes)
    • 🎯 Livrable : Pagination cursor sur les 3 principales collections
  2. TP2 — Cache Redis (1h)

    • Module cache NestJS avec @nestjs/cache-manager + Redis
    • @CacheKey() et @CacheTTL() sur les endpoints de lecture
    • Invalidation intelligente : un POST/PUT/DELETE invalide le cache concerné
    • Headers HTTP : ETag sur les réponses, Cache-Control adapté par route
    • 🎯 Livrable : Cache Redis fonctionnel avec invalidation sur le module restaurants
  3. TP3 — Profiling & Optimisation (1h15)

    • Identification des N+1 queries avec le logging Prisma
    • Optimisation : include ciblé, index composites, requêtes brutes si nécessaire
    • Compression brotli avec @fastify/compress (ou express equivalent)
    • Test de charge avec autocannon ou k6 : avant/après optimisation
    • Dashboard Grafana : ajout des panneaux latence p95 et throughput
    • 🎯 Livrable : Rapport de performance avant/après avec gains chiffrés

Évaluation sprint

  • Challenge perf : quel binôme obtient la meilleure latence p95 sous charge ?
  • Défi : implémenter un cache de second niveau avec stale-while-revalidate (bonus)

🔴 SPRINT 8 — Micro-services & Event-driven (5 h)

Brief d'Alex & Mia : "Le monolithe NexusEats commence à craquer. On extrait les notifications et les paiements en services séparés, reliés par un broker de messages."

Objectifs pédagogiques

  • Décomposer un monolithe en micro-services NestJS
  • Implémenter une communication asynchrone via RabbitMQ
  • Appliquer les patterns de résilience : retry, circuit breaker, idempotence
  • Comprendre les alternatives : Kafka, serverless

Contenu théorique (1h30)

  • Monolithe vs micro-services : quand découper, les pièges (distributed monolith)
  • Communication : synchrone (HTTP, gRPC) vs asynchrone (message broker)
  • RabbitMQ : exchanges, queues, bindings, acknowledgments, dead-letter queues
  • Kafka : topics, partitions, consumer groups — comparaison avec RabbitMQ
  • Patterns de résilience : retry avec backoff exponentiel, circuit breaker, bulkhead
  • Idempotence : clé d'idempotence, déduplication, exactly-once semantics
  • Saga pattern : orchestration vs chorégraphie pour les transactions distribuées
  • Serverless : FaaS (AWS Lambda, Cloud Functions), quand c'est pertinent

Travaux pratiques (3h30)

  1. TP1 — Extraction du service Notifications (1h30)

    • Nouveau projet NestJS : nexuseats-notifications
    • Communication via @nestjs/microservices + RabbitMQ (Docker)
    • Événements : order.created → email de confirmation, order.delivered → email + push
    • Dead-letter queue pour les messages en échec
    • 🎯 Livrable : Service notifications autonome consommant les événements de commande
  2. TP2 — Service Paiement fictif (1h)

    • Service nexuseats-payments avec API interne
    • Flux : API principale → event payment.requested → service paiement → event payment.confirmed
    • Idempotence : clé unique par commande, rejet des doublons
    • Simulation de panne : le service paiement crash → dead-letter → retry automatique
    • 🎯 Livrable : Flux de paiement asynchrone avec gestion des échecs
  3. TP3 — Résilience & Circuit Breaker (1h)

    • Implémentation circuit breaker avec opossum sur les appels inter-services
    • États : closed → open → half-open, avec métriques
    • Retry avec backoff exponentiel sur les appels HTTP inter-services
    • Test de résilience : couper un service, observer le comportement
    • Démonstration Kafka : même flux avec Kafka au lieu de RabbitMQ (comparaison)
    • 🎯 Livrable : Communication inter-services résiliente avec circuit breaker

Évaluation sprint

  • Chaos engineering light : le formateur coupe des services aléatoirement, l'API doit survivre
  • Défi : implémenter un saga orchestré pour le flux commande-paiement-livraison (bonus)

🟢 SPRINT 9 — Documentation & Portail développeur (2 h)

Brief de Mia : "On ouvre notre API aux partenaires externes (agrégateurs de livraison). Il nous faut un portail développeur irréprochable."

Objectifs pédagogiques

  • Générer une documentation exhaustive et maintenable automatiquement
  • Créer un portail développeur avec sandbox et exemples
  • Définir une politique de versioning et de dépréciation

Contenu théorique (30min)

  • Documentation as Code : génération depuis les décorateurs NestJS
  • Portail développeur : DX (Developer Experience), onboarding en < 5 min
  • Sandbox / Try-it : Swagger UI, Postman collections, mock server
  • Politique de dépréciation : sunset header, timeline, migration guide
  • Exemples inspirants : Stripe, Twilio, GitHub API docs

Travaux pratiques (1h30)

  1. TP1 — Documentation enrichie (45min)

    • Enrichissement Swagger : exemples de requêtes/réponses pour chaque endpoint
    • Groupes thématiques : "Restaurants", "Commandes", "Auth", "Admin"
    • Collection Postman générée depuis OpenAPI + variables d'environnement
    • 🎯 Livrable : Documentation Swagger complète avec exemples + collection Postman
  2. TP2 — Portail & Politique de dépréciation (45min)

    • Page de démarrage rapide (Getting Started) en Markdown
    • Guide d'authentification avec exemples cURL, JavaScript, Python
    • Endpoint de dépréciation : header Sunset, Deprecation, réponse enrichie
    • Changelog automatisé depuis les commits conventionnels
    • 🎯 Livrable : Guide développeur complet + politique de dépréciation appliquée

Évaluation sprint

  • Test utilisateur : un apprenant doit intégrer l'API d'un autre en utilisant uniquement sa documentation
  • Défi : déployer un portail Redoc standalone (bonus)

🔴 SPRINT 10 — Déploiement continu (4 h)

Brief de Sam : "Go live dans 48h. Je veux un pipeline béton : conteneurs, multi-environnements, et zéro downtime."

Objectifs pédagogiques

  • Conteneuriser l'application NestJS avec Docker (multi-stage build)
  • Orchestrer les services avec Docker Compose (dev) et préparer la prod
  • Construire un pipeline CI/CD multi-environnements avec GitHub Actions
  • Implémenter une stratégie de déploiement blue-green ou canary

Contenu théorique (1h)

  • Docker : multi-stage build, optimisation de la taille d'image, sécurité (non-root)
  • Docker Compose : orchestration des services (API + DB + Redis + RabbitMQ + monitoring)
  • Pipeline CI/CD : stages (build, test, deploy), environnements (dev, staging, prod)
  • Stratégies de déploiement : rolling update, blue-green, canary — trade-offs
  • Infrastructure as Code : introduction à Terraform / Pulumi (démonstration)
  • Secrets management : GitHub Secrets, .env, vault

Travaux pratiques (3h)

  1. TP1 — Conteneurisation (1h)

  2. TP2 — Pipeline CI/CD (1h)

    • GitHub Actions : workflow multi-jobs
      • Job 1 : Lint + Build
      • Job 2 : Tests unitaires + intégration (service containers PostgreSQL + Redis)
      • Job 3 : Build & push de l'image Docker
      • Job 4 : Deploy staging (si branche develop)
      • Job 5 : Deploy production (si tag v*, avec approbation manuelle)
    • Matrice de tests Node 18/20
    • Cache des node_modules et des layers Docker
    • 🎯 Livrable : Pipeline CI/CD complète sur GitHub Actions
  3. TP3 — Stratégie Blue-Green (1h)

    • Simulation blue-green avec Docker Compose et Nginx comme reverse proxy
    • Déploiement sans downtime : basculement du trafic blue → green
    • Rollback automatique si health check échoue
    • Smoke tests post-déploiement
    • 🎯 Livrable : Déploiement blue-green fonctionnel avec rollback

Évaluation sprint

  • Simulation de release : les apprenants déploient une nouvelle version en conditions réelles
  • Défi : implémenter un déploiement canary avec pourcentage de trafic progressif (bonus)

🏆 SPRINT 11 — Projet intégrateur PWA "La Démo Investisseurs" (8 h)

Brief de toute l'équipe : "Les investisseurs arrivent vendredi. La plateforme NexusEats doit être complète, performante et impressionnante. C'est le moment de tout assembler."

Objectifs pédagogiques

  • Intégrer tous les concepts des sprints 1-10 dans une application complète
  • Connecter le back-end API au front-end PWA (réalisé dans le module front)
  • Démontrer la maîtrise de bout en bout : conception → développement → déploiement → monitoring

Organisation (8h)

Phase Durée Description
Cadrage 1h Constitution des équipes (3-4 pers.), répartition des rôles, backlog de sprint
Développement 4h Implémentation des fonctionnalités restantes et intégration front/back
Intégration & Tests 1h30 Tests de charge, vérification CI/CD, monitoring
Présentation 1h30 Démo live devant la "board d'investisseurs" (formateur + pairs)

Fonctionnalités attendues (checklist)

  • [ ] Authentification : JWT + refresh token + OAuth2 social login
  • [ ] Catalogue : REST restaurants + GraphQL menus avec recherche et filtres
  • [ ] Commande : flux transactionnel complet (panier → paiement fictif → confirmation)
  • [ ] Temps réel : suivi de livraison via WebSocket (position livreur sur carte)
  • [ ] Dashboard admin : statistiques commandes, restaurants, revenus (GraphQL)
  • [ ] Notifications : micro-service asynchrone (email confirmation de commande)
  • [ ] Sécurité : RBAC 4 rôles, rate limiting, conformité OWASP
  • [ ] Observabilité : dashboard Grafana avec métriques métier + techniques
  • [ ] Documentation : Swagger complet + guide Getting Started
  • [ ] CI/CD : pipeline GitHub Actions → staging → production
  • [ ] Tests : couverture > 70% + tests d'intégration du flux principal

Grille d'évaluation

Critère Points Description
Architecture & Code /25 Propreté, patterns NestJS, séparation des responsabilités
Fonctionnalités /25 Complétude de la checklist, cas limites gérés
Sécurité /15 Auth robuste, OWASP respecté, pas de faille évidente
DevOps & Observabilité /15 Pipeline CI/CD, monitoring, logs exploitables
Documentation & Présentation /10 Swagger, README, clarté de la démo
Tests /10 Couverture, pertinence des cas testés
Total /100  

Récapitulatif des heures

Sprint Thème Heures Difficulté
1 Paradigmes d'API 5h 🟢
2 Spécifications contractuelles 3h 🟢
3 Modélisation & Persistance 5h 🟢
4 Sécurité by Design 5h 🔶
5 Gestion des erreurs & Observabilité 4h 🔶
6 Tests & Qualité 4h 🔶
7 Performance & Scalabilité 4h 🔴
8 Micro-services & Event-driven 5h 🔴
9 Documentation & Portail développeur 2h 🟢
10 Déploiement continu 4h 🔴
11 Projet intégrateur PWA 8h 🏆
  TOTAL 49h  

Prérequis techniques

  • Node.js 20+, npm/pnpm
  • Docker Desktop
  • VS Code avec extensions : ESLint, Prisma, NestJS Snippets, Thunder Client
  • Compte GitHub (pour CI/CD)
  • PostgreSQL (via Docker)
  • Postman ou Insomnia

Livrables cumulatifs

Chaque sprint produit un incrément fonctionnel. À la fin du sprint 10, les apprenants disposent d'une plateforme NexusEats complète prête pour le projet intégrateur du sprint 11 :

  • API REST + GraphQL documentée et sécurisée
  • 3 micro-services communicant via RabbitMQ
  • Temps réel WebSocket
  • Pipeline CI/CD déployant sur 3 environnements
  • Stack d'observabilité complète (logs + traces + métriques)
  • Suite de tests automatisés (unitaires + intégration + contractuels)
Skill Level: Beginner
Focus Mode: Force Focus Mode with learner control

Claude Code est l'outil CLI agentique d'Anthropic qui transforme le terminal en assistant de développement intelligent, capable de comprendre des codebases entières, d'éditer des fichiers, d'exécuter des commandes shell et de gérer des workflows Git complets via le langage naturel.
Ce rapport rassemble l'intégralité des informations nécessaires à la création d'un cours Moodle couvrant les 9 thèmes demandés, de l'installation aux cas d'usage avancés, en passant par MCP, les hooks, le CI/CD et l'écosystème.
Les informations proviennent de la documentation officielle Anthropic (code.claude.com/docs), du dépôt GitHub anthropics/claude-code, des blogs Anthropic et des ressources communautaires. Toutes les données sont à jour au 10 février 2026.

Skill Level: Beginner
Focus Mode: Force Focus Mode with learner control

PostgreSQL Confirmé — Optimisation & Performance

Durée : 3 jours (18 heures) | Niveau : Confirmé (Application)

Objectif : Approfondir les connaissances sur PostgreSQL pour maîtriser les outils et techniques permettant d'optimiser les performances des bases de données et applications associées.

Compétences visées

  • Diagnostiquer les performances d'un serveur PostgreSQL
  • Identifier et résoudre les goulots d'étranglement dans les applications et requêtes SQL
  • Optimiser les schémas relationnels et configurer les paramètres serveur pour des performances accrues

Fil rouge : PerfGuard

Tout au long de la formation, vous construisez PerfGuard, une plateforme de diagnostic et d'optimisation des performances d'une base PostgreSQL en production simulée. Chaque module ajoute une brique : monitoring, analyse de requêtes, restructuration de schéma, tuning serveur.

Prérequis : Bonne maîtrise de PostgreSQL (requêtes, transactions, administration de base). Connaissance des concepts relationnels et des langages SQL.

Skill Level: Beginner
Focus Mode: Force Focus Mode with learner control

PowerShell Avancé — Scripting et Automatisation

Durée : 3 jours (21 heures) | Niveau : Avancé

Objectif : Concevoir, analyser et optimiser des scripts PowerShell avancés en exploitant les workflows, les Cmdlets .NET et les fichiers XML pour une gestion experte de Windows Server.

Compétences visées

  • Créer et optimiser des scripts PowerShell avancés
  • Exploiter les Cmdlets et le Framework .NET pour des tâches complexes
  • Gérer les erreurs et debugger les scripts efficacement
  • Manipuler et intégrer des données à partir de fichiers XML
  • Utiliser et implémenter des workflows PowerShell

Fil rouge : ServerPilot

Tout au long de la formation, vous construisez ServerPilot, une plateforme de gestion automatisée d infrastructure Windows Server.

Prérequis : Connaissances de base en PowerShell et administration Windows Server.

Skill Level: Beginner
Focus Mode: Force Focus Mode with learner control