diff --git a/presentation/codes/borrowing/src/main.rs b/presentation/codes/borrowing/src/main.rs
index de78a228629b9c671e5ed543bfd3eee611e76691..71a483e428489f85e925d315acb37bc936d725ad 100644
--- a/presentation/codes/borrowing/src/main.rs
+++ b/presentation/codes/borrowing/src/main.rs
@@ -14,6 +14,10 @@ fn main() {
         let n = &notebook;
         borrow(n);
         borrow(&notebook);
+
+        // n.push("Je préférerais regarder la télé.") // attention on a emprunté notebook
+                                                      // On ne peut pas le modifier
+        // notebook.push("Ou sortir dans le jardin.")
     } // la référence n est détruite
     borrow(&notebook); // on peut réutiliser notebook
 }
diff --git a/presentation/intro.md b/presentation/intro.md
index d4b10c6a129c975bf6e345e73691a70b762d353f..b45ed01f54bd4355b7e3331202dd8046b949c0e7 100644
--- a/presentation/intro.md
+++ b/presentation/intro.md
@@ -222,7 +222,7 @@ fn main() {
 
 ## Borrowing
 
-### Solution: le propriétaire **prête** ses données.
+Solution: le propriétaire **prête** ses données.
 
 1. On crée une référence vers les données (par défaut immutable).
 2. On peut donner la référence.
@@ -241,7 +241,6 @@ fn main() {
 
     borrow(& notebook); // on crée une référence et on la passe à borrow
     borrow(& notebook); // on peut réutiliser notebook
-    
 }
 </code></pre>
 
@@ -251,6 +250,42 @@ Ce qui se passe en mémoire:
 
 ![](figs/mem_vec_borrowing.svg){#fig:mem_vec_borrowing width=45%}![](figs/mem_vec_borrowing_end.svg){#fig:mem_vec_borrowing_end width=45%}
 
+### Attention: un emprunt est **immutable** par définition!
+
+## Borrowing en pratique (3/3)
+
+### Que se passe-t-il 
+
+:::::::::::::: {.columns}
+::: {.column width="50%"}
+```
+{
+	vector<string> v; // alloué sur la pile
+					  // et l'espace est
+					  // contigu en mémoire
+	...
+	auto& elem = v[0]; // référence
+	v.push_back(a_string);
+	cout << elem;
+	...
+} // destruction automatique
+```
+:::
+::: {.column width="50%"}
+<pre><code data-trim="hljs rust" class="lang-rust">
+fn main() {
+    let mut v = Vec::new(); // par défaut notebook est immutable
+	v.push("Test.");
+
+	let elem = &v[0]; // référence
+	v.push("Test again.");
+}
+</code></pre>
+:::
+:::::::::::::: 
+
+
+
 <!-- - `vector` et `string` sont alignés en mémoire.
 - références "light".
 - destruction déterministe. -->