diff --git a/content/novembre-2025/building-project.md b/content/novembre-2025/building-project.md
new file mode 100644
index 0000000..c4775c7
--- /dev/null
+++ b/content/novembre-2025/building-project.md
@@ -0,0 +1,141 @@
++++
+weight = 90
++++
+
+{{% section %}}
+
+{{< slide template="invert" >}}
+
+## Produire un Livrable
+
+---
+
+## 🤔 Quel est le problème ?
+
+On a du code. C'est un bon début. MAIS:
+
+- Le code en lui meme ne délivre pas de valeur,
+ - C'est l'exécution de ce programme qui en produit!
+- Qu'est ce qu'on "fabrique" à partir du code ?
+ - Un **livrable** (un binaire, une image Docker, une application iOS // Android ...)
+
+---
+
+## Caractéristiques de notre livrable 📦
+
+Nous souhaitons que notre livrable soit:
+
+- **Versionné**: Chaque livrable est associé a une version de notre base de code
+- **Reproductible**:
+ - Il est **possible** et **facile** de générer notre livrable
+ - Deux générations de livrables partant d'une meme version génèrent le **"même"** livrable!
+
+---
+
+## Que signifie "reproductible" ?
+
+- Il faut que notre processus de génération de livrable, (le build) soit entièrement **déterministe**.
+- Il faut qu'en fonction d'un jeu de paramètres, le résultat du build soit même le "même".
+- Il en va de même pour l'environnement ou notre programme est exécuté.
+ - Notre environnement de **production**
+
+---
+
+## Quels sont les paramètres de notre livraison ?
+
+- **Le code**: Dans quelle version est-il? Est-il fonctionnel? Est-ce qu'il est sauvegardé?
+- **Les dépendances de notre code**: Toutes les libraires utilisés dans notre application.
+- **Les outils de génération de livrables**: Quel compilateur et dans quelle version?
+- **L'environnement d'exécution cible**: Node 22 ou Node 23? Quelle version de PostgreSQL? Quel OS/Architecture CPU? Quel Navigateur?
+- **Le processus de livraison lui même**: Dans quelle mesure la procédure de génération est elle répétable et respectée?
+
+---
+
+## Risques encourus?
+
+- Ne pas etre capable de livrer!
+- 😡 Dans le meilleur des cas, votre livrable ne marche pas du tout.
+- 🤡 Dans certains cas votre livrable va casser sans explication facile et seulement sur la production du client les jours impairs d'une année bisextile.
+ - Allez reproduire et débugger!
+- 😱 Livrer votre application va devenir une angoisse permanente
+- 😱😭🔥☠️ Vous livrez une CVE ou un malware, avec un accès direct a votre base de données.
+ - [Vraiment](https://jfrog.com/blog/malware-civil-war-malicious-npm-packages-targeting-malware-authors)
+ - [Vraiment Vraiment](https://www.theregister.com/2023/01/04/pypi_pytorch_dependency_attack)
+ - [Vraiment Vraiment Vraiment](https://nvd.nist.gov/vuln/detail/CVE-2021-44228)
+
+---
+
+[Vraiment Vraiment Vraiment Vraiment (2025-09)](https://xeiaso.net/notes/2025/we-dodged-a-bullet/)
+
+---
+
+{{< slide background-image="/images/dumpster-fire.gif" >}}
+
+---
+
+## On en est où la dedans? (1/2)
+
+- **Le code**
+ - ✅ On vient de mettre en place git. On sait identifier une version par un hash de commit.
+ - ❌ On ne sait pas vraiment dire si l'application "fonctionne" ou pas.
+- **Les dépendances de notre code**
+ - ❌ On ne sait ni les récupérer, ni les contrôler.
+- **Les outils permettant de générer notre livrable**
+ - ❌ Typescript 5 est indiqué dans la documentation fournie mais c'est tout
+
+---
+
+## On en est où la dedans? (2/2)
+
+- **L'environnement cible**:
+ - ❌ Aucune version de node indiquée.
+ - ❌ On sait que l'on à besoin de Postgres et Postgis
+- **Le processus de livraison lui même**:
+ - ❌ Nous n'avons encore rien défini
+
+---
+
+## Quelles solutions ? (1/2)
+
+- **Le code**
+ - ➡️ **Solution** (pour garantir une bonne utilisation): **L'analyse statique (le lint)**
+ - ➡️ **Solution** (pour savoir si il fonctionne): **les tests automatisés**
+ - ➡️ **Solution** (pour garantir qu'il fonctionne à chaque changement): **l'intégration continue (CI)**
+- **Les dépendances du code**
+ - ➡️ Solution: Mise en place d'un outil de **gestion et d'audit des dépendances**
+- **Les outils de génération du code**:
+ - ➡️ Solution: Mise en place d'un processus automatisé de génération de livrable s'expécutant dans un environment controllé
+
+---
+
+## Quelles solutions ? (2/2)
+
+- **L'environnement cible**:
+ - ➡️ Solution: Utilisation *d'outils de packaging* (Docker) pour notre application et son environment cible
+- **Le processus de livraison lui même**:
+ - ➡️ Solution: définir un *cycle de vie* et en déduire un *processus de livraison*
+
+---
+
+## Les grandes étapes de la génération de notre livrable
+
+1. `build`: Compilation de l'application
+2. `lint`: Analyse statique de code pour détecter des problèmes ou risques
+3. `test`: Exécution de la suite de tests automatisées
+4. `package`: Création du livrable
+5. `release`: Livraison du livrable
+
+---
+
+## Checkpoint 🎯
+
+Notre première étape va etre de faire en sorte de pouvoir lancer le serveur dans notre environment de développement.
+
+
+
+Cela sigifie:
+
+1. Installer toutes les dépendances nécesaires pour la génération et l´exécution de notre code
+2. Générer du code exécutable (appeler `tsc`)
+
+{{% /section %}}
diff --git a/content/novembre-2025/dependency-management.md b/content/novembre-2025/dependency-management.md
new file mode 100644
index 0000000..73b3d3e
--- /dev/null
+++ b/content/novembre-2025/dependency-management.md
@@ -0,0 +1,406 @@
++++
+weight = 100
++++
+
+{{% section %}}
+
+{{< slide template="invert" >}}
+
+## La Gestion de Dépendances
+
+---
+
+## Pourquoi réutiliser du code et des outils?
+
+- 🧱 L'informatique moderne est un assemblage de briques logicielles
+- ⚙️ ... chacune des briques étant infiniment complexe
+ - Ex: TLS, PostgresSQL, Linux, Firefox...
+- 🤔 Il est difficilement envisageable de démarrer un projet sans réutiliser des briques logicielles.
+- 🧘 Cela permet de **concentrer son effort de développement sur ce qui apporte de la valeur**.
+ - ➡️ Dans notre cas, notre métier est la gestion de véhicules, pas l'implémentation d'une pile réseau et d'un serveur HTTP.
+
+---
+
+## ⚠️ Ajouter une dépendance n'est pas un acte anodin ⚠️
+
+- Si votre dépendance ne fonctionne plus ou est compromise, votre livrable sera impacté
+- Attention à ne pas rajouter une dépendance trop grosse pour n'utiliser qu'une petite fonctionnalité!
+- Attention aux dépendances de vos dépendances 😱
+- Quelques règles d'usage:
+ - Vérifier que votre dépendance est activement maintenue? (date du dernier commit, existence d'une communauté autour)
+ - 👀 le code. Est-ce que vous le comprenez? Est-ce que vous pourriez le debugger ou le faire vous même?
+
+---
+
+## Dépendre de librairies externes pose une quantité de problèmes!
+
+- Comment récupérer l'intégralité du code dont on à besoin?
+- Comment maintenir à jour ce code?
+- Comment s'assurer qu'il n'a pas été modifié?
+- Comment garantir la reproductibilité de ce processus?
+
+---
+
+{{}}
+
+Mais le pire, c'est que c'est un problème récursif! Nos dépendances ont aussi des dépendances!
+
+---
+
+{{}}
+
+---
+
+{{}}
+
+---
+
+## Un peu de terminologie
+
+- Une *dépendance* est une librairie de code externe ou un outil qui fournit une fonctionnalité.
+- On distingue deux types de dépendances:
+ - *dépendance directe*: référencée directement par notre application
+ - *dépendance transitive*: référencée par une des librairies dont l'application dépends
+
+---
+
+## Comment gérer ses dépendances?
+
+- On introduit un outil de gestion de dépendances
+ - Permets au développeur de définir une liste de dépendances en fixant ou en plaçant une contrainte de version (ex <= 4.3.0)
+ - Cela permet de construitruire un arbre de dépendances
+ - Télécharge toutes les dépendances dans l'environment d'exécution et les mets à disposition de l'application.
+
+---
+
+## Comment cela fonctionne avec Javascript?
+
+{{}}
+
+---
+
+{{}}
+
+---
+
+## NPM kesako?
+
+- [Node Package Manager](https://npmjs.com)
+- Package Manager et infrastructure de distribution de paquets (registry)
+- Gère aussi bien les dépendances de code que les outils
+- Des alternatives existent (yarn et pnpm)
+
+---
+
+## Du coup c'est quoi un paquet?
+
+- Un fichier ou un répertoire décrit par un fichier `package.json`
+- Un paquet peut mettre à disposition:
+ - Un module Javascript / Typescript
+ - Des scripts exécutables
+ - Pour lancer un script il vous faut utiliser la commande `npx