diff --git a/Web-Client/annales/rep.md b/Web-Client/annales/rep.md
index 378fe51c6778ec45d1f93fee93bb340a7a326915..929f39d50906ac01b2627720f556a45ecc3f2a28 100644
--- a/Web-Client/annales/rep.md
+++ b/Web-Client/annales/rep.md
@@ -603,7 +603,68 @@ let x = v(3);
 ```
 
 
-$x = 42$ car la fonction `v` est appelée avec l'argument `3`, donc $c = 7 \times 3 = 21$. Ensuite, la fonction `v` est appelée avec l'argument `2`, donc $c = 21 \times 2 = 42$.
+Si je décrypte, tu as `v` égale au **résultat** d'une fonction anonyme (qui n'a pas de nom) que l'on appelle avec `x = 7`.
+
+Si on développe et que l'on remplace `x` par `7`, on a :
+
+```javascript
+let v = (function(7) {
+    let c = 7;
+    return function(y) {
+        c *= y;
+        return c;
+    }
+})(7);
+```
+
+Ce qui donne :
+
+```javascript
+let v = (function() {
+    let c = 7;
+    return function(y) {
+        c *= y;
+        return c;
+    }
+})();
+
+// Équivalent à :
+let c = 7;
+
+function v(y) {
+    c *= y;
+    return c;
+}
+```
+
+Ensuite, on appelle `v` avec `2` :
+
+```javascript
+v(2);
+
+// Équivalent à :
+function v(2) {
+    c *= 2; // On se rappelle que c = 7
+    return c;
+}
+```
+
+Donc `c` vaut `14`, on le retourne et grâce à la fonction `v`, sa valeur est conservée. (On peut le vérifier en faisant `console.log(c)`).
+
+Ensuite, on appelle `v` avec `3` :
+
+```javascript
+x = v(3);
+
+// Équivalent à :
+function v(3) {
+    c *= 3; // On se rappelle que c = 14
+    return c;
+}
+```
+
+Donc `c` vaut `14 * 3 = 42`, on le retourne et on le stocke dans `x`.
+
 
 
 ### Question 6