diff --git a/slides/src/errors.md b/slides/src/errors.md
index b5d3f70c64d9d40fec18bc6f6cdc38752193d0dc..eb96c9c11a54cad331de84d1d0839e5aa7812041 100644
--- a/slides/src/errors.md
+++ b/slides/src/errors.md
@@ -74,7 +74,7 @@ fn main() {
     assert!(denum != 0, "Le dénominateur doit être non nul.");
     let _total = num / denum;
     assert_eq!(num, denum, "num et denum devraient être égales.");
-    assert_ne!(a, b, "num et denum devraient être différentes.");
+    assert_ne!(num, denum, "num et denum devraient être différentes.");
 }
 ```
 
@@ -121,8 +121,8 @@ fn div(num: i32, denum: i32) -> Option<i32> {
 fn main() {
     let num = 1;
     let denum = 4;
-    if let res = Some(div(num, denum)) {
-        println!("{num} / {denum} = res");
+    if let Some(res) = div(num, denum) {
+        println!("{num} / {denum} = {res}");
     } else {
         println!("Une division par zéro est impossible.");
     }
@@ -143,7 +143,7 @@ fn main() {
     let num = 1;
     let denum = 0;
     let res = div(num, denum).unwrap(); // panique!
-    println!("{num} / {denum} = res");
+    println!("{num} / {denum} = {res}");
 }
 ```
 
diff --git a/slides/src/generics.md b/slides/src/generics.md
index e70ac48665a025287ffd57d4233329400236afce..a84135d1316f44b00c01bbe3bf59fd4d237c5488 100644
--- a/slides/src/generics.md
+++ b/slides/src/generics.md
@@ -62,7 +62,7 @@ struct Point<T> {
 fn main() {
     let int_point = Point{ x: 1, y: 2 };     // i32 point
     let flt_point = Point{ x: 2.3, y: 4.7 }; // f64 point
-    let does_not_work_point = Point{ x: 1, y: 1.5 } // oups
+    let does_not_work_point = Point{ x: 1, y: 1.5 }; // oups
 }
 ```
 
diff --git a/slides/src/ownership.md b/slides/src/ownership.md
index 97993087f07e278267b9d7fa3af48ccaf8650869..19c914b7776a54b04c93bb0b5c537fc20d8c73b9 100644
--- a/slides/src/ownership.md
+++ b/slides/src/ownership.md
@@ -24,7 +24,7 @@
 - Utilisée pour l'allocation dynamique (la taille des objets peut varier en cours d'exécution).
 - Peut modifier de la mémoire non-locale à une fonction.
 - Pas de structure particulière pour l'allocation/désallocation.
-- Plus compliqué de gérer l'allocation/déasllocation.
+- Plus compliqué de gérer l'allocation/désallocation.
 - Typiquement plus lent que la pile (il faut chercher de la place pour l'allocation et "sauter" en mémoire pour la retrouver).
 
 # La propriété (Ownership)
@@ -39,7 +39,7 @@
 fn main() {
 	let x = 5; // x est propriétaire de la mémoire contenant 5
 	{
-        let y = 6; // y est propriétaire de la mémoire contenant 5
+        let y = 6; // y est propriétaire de la mémoire contenant 6
         println!("La valeur de (x,y) est: ({}, {}).", x, y);
     } // y sort de la portée et est détruite avec la valeur 6
     println!("La valeur de x est: {}", x);
diff --git a/slides/src/traits.md b/slides/src/traits.md
index ebbd2436a911b7c2c53185d9f3a21b027a06d0ac..5c508c030fc5474039f1b3ad5c9bc4b8ba7f1d41 100644
--- a/slides/src/traits.md
+++ b/slides/src/traits.md
@@ -126,7 +126,7 @@ fn main() {
 - Lors de la définition d'un générique, on peut dire au compilateur si le type implémente un trait.
 
 ```rust [1-5|7-9|10-12|]
-// T implémente PartialEq (les opérateurs <, >)
+// T implémente PartialOrd (les opérateurs <, >)
 fn max<T: PartialOrd>(a: T, b: T) -> T {
     if a > b { a } else { b } // si on peut pas comparer a et b
 }                             // cela ne peut pas compiler, d'où