diff --git a/fonctions.md b/fonctions.md
index 5b487302d0d3ff88862811de4815dcda664b57f7..b25a2eb9154fea8f69f25de8b04528b48486811e 100644
--- a/fonctions.md
+++ b/fonctions.md
@@ -71,8 +71,9 @@ fn main() {
 - Les fonctions s'écrivent en *snake_case* (le compilateur vous avertiras...).
 - La définition d'une fonction commence par un `fn`{.rust}.
 - La définition des fonctions peut se faire avant ou après l'endroit où elle est appelée.
+- Une fonction contient des instructions et se termine parfois avec une expression.
 
-    <pre><code data-trim="hljs rust" class="lang-rust">
+<pre><code data-trim="hljs rust" class="lang-rust">
 fn main() {
     println!("La fonction main est une fonction.");
 
@@ -82,10 +83,36 @@ fn main() {
 fn fonction_fonction() {
     println!("La fonction fonction_fonction est une fonction.");
 }
-    </code></pre>
+</code></pre>
 
 ## Paramètres de fonctions
 
-- Une fonction peut prendre des arguments séparés par des `,`{.rust}.
+- Une fonction peut prendre des arguments séparés par des "`,`{.rust}".
 - Le type des arguments doit toujours être explicitement déclaré.
-- 
\ No newline at end of file
+
+    <pre><code data-trim="hljs rust" class="lang-rust">
+    fn main() {
+        affiche_entier(1024);
+}
+
+  fn affiche_entier(x: i32) {
+        println!("Affiche l'entier {}.", x);
+}
+    </code></pre>
+
+## Valeur de retour de fonctions
+
+- On déclare le type de retour d'une fonction avec `-> Type`{.rust}.
+
+    <pre><code data-trim="hljs rust" class="lang-rust">
+    fn main() {
+        println!("La réponse est {}.", la_reponse());
+}
+
+  fn la_reponse() -> i32 {
+      42
+}
+</code></pre>
+
+- **Important:** La valeur de retour d'une fonction n'est pas suivie d'un "`;`{.rust}".
+- Les instructions ne retournent pas de valeur et sont représentées par le type `()`{.rust} (le type vide).
\ No newline at end of file