Aller au contenu

Progression détaillée (21 séances × 2 h = 42 h)

Déroulé type d’une séance de 2 h :

Temps Activité
0:00 à 0:10 Questions de récupération sur la séance précédente
0:10 à 0:50 Cours : notions et démonstrations en direct
0:50 à 1:50 TP guidé, puis étape du fil rouge
1:50 à 2:00 Bilan, questions et annonce de la séance suivante

Séance Titre Acquis visés (l’étudiant sait…) Fil rouge
S01 Fondamentaux XML écrire un document bien formé ; choisir entre élément et attribut ; utiliser entités, CDATA et espaces de noms ; comparer XML, JSON et HTML Rédiger catalogue.xml
S02 Validation DTD écrire une DTD (ELEMENT, ATTLIST, ENTITY) ; exprimer les cardinalités ; utiliser ID/IDREF ; valider avec xmllint catalogue.dtd
S03 XML Schema (XSD) définir des types simples et complexes ; poser des restrictions (pattern, enumeration, bornes) ; utiliser xs:key/xs:keyref ; expliquer ce que XSD apporte par rapport à la DTD catalogue.xsd
S04 XPath naviguer avec les axes ; filtrer avec des prédicats ; utiliser les fonctions (count, sum, contains…) ; tester des expressions 15 requêtes sur le catalogue
S05 XSLT écrire des templates ; utiliser apply-templates, for-each, sort, if/choose ; produire du HTML catalogue.xsl vers catalogue.html · Jalon 1
Séance Titre Acquis visés Fil rouge
S06 Node.js (1) expliquer le runtime et la boucle d’événements ; utiliser les modules ESM ; gérer un projet npm et ses scripts Initialiser bibliotech-api
S07 Node.js (2) écrire du code asynchrone (Promise, async/await) ; lire des fichiers avec fs/promises ; créer un serveur http natif Script d’import de catalogue.xml en JSON
S08 Express et REST concevoir une API REST ; écrire routes et middlewares ; centraliser la gestion des erreurs CRUD /books en mémoire
S09 Zod et TypeScript valider body, params et query avec Zod ; déduire les types avec z.infer ; exécuter du TS avec tsx Validation des entrées de l’API
S10 Prisma modéliser dans schema.prisma ; migrer ; gérer les relations ; faire du CRUD et de la pagination Persistance SQLite (livres, auteurs, emprunts)
S11 React (1) créer un projet Vite ; écrire des composants, props et state ; afficher des listes avec des clés Composants BookCard et BookList
S12 React (2) utiliser useEffect et fetch ; gérer les états chargement, erreur et vide ; écrire des formulaires contrôlés Liste et formulaire reliés à l’API
S13 React (3) et intégration router avec React Router ; configurer CORS et les variables d’environnement ; structurer un projet full-stack Jalon 2 : application full-stack
Séance Titre Acquis visés Fil rouge
S14 Pourquoi NoSQL citer les limites du SGBDR à grande échelle ; expliquer CAP, ACID et BASE, réplication et sharding ; associer une famille NoSQL à un cas d’usage Étude de cas : que faire sortir de SQL ?
S15 MongoDB (1) manipuler des documents BSON dans mongosh ; faire du CRUD et utiliser les opérateurs de requête et de mise à jour Collection books
S16 MongoDB (2) choisir entre imbrication et référence ; créer des index et lire explain() ; valider avec $jsonSchema Avis imbriqués et index
S17 MongoDB (3) écrire un pipeline d’agrégation ($match, $group, $lookup…) ; utiliser le driver Node dans Express Endpoint /stats, module d’avis
S18 Redis (1) utiliser les structures string, hash, list, set et sorted set ; gérer TTL et expiration ; comparer RDB et AOF Modélisation dans redis-cli
S19 Redis (2) implémenter cache-aside, rate limiting et sessions ; utiliser pub/sub Cache /books, limite de débit
S20 Graphe et séries temporelles modéliser un graphe et écrire des requêtes Cypher simples ; créer une collection time series et agréger par fenêtre Recommandations et statistiques d’emprunts
S21 Vectoriel et synthèse expliquer embeddings, similarité et index ANN ; faire une recherche k-NN ; choisir le SGBD adapté à un besoin Recherche sémantique · Jalon 3

  • Module 1 : 5 × 2 h = 10 h
  • Module 2 : 8 × 2 h = 16 h
  • Module 3 : 8 × 2 h = 16 h
  • Total : 42 h

Le contrôle final se passe hors de ces 42 h (ou pendant la dernière demi-séance, au choix de l’établissement).