diff --git a/cpp_basics_for_STL.typ b/cpp_basics_for_STL.typ
index 9962388ca3b0f010343a10e71519dc5d774b2525..a9b36524b9edc12512890f9242db94367e0a20c1 100644
--- a/cpp_basics_for_STL.typ
+++ b/cpp_basics_for_STL.typ
@@ -22,7 +22,7 @@
   title: "Contenu",
 )[
   Nous allons voir succinctement quels sont les outils de C++ indispensables pour
-  pouvoir utiliser la parallélisation sur GPU avec les algorithmes STL.
+  pouvoir utiliser la parallélisation sur GPU avec les algorithmes STL
 ]
 
 #new-section-slide("Itérateurs")
@@ -30,15 +30,14 @@
 #slide(
   title: "Qu'est-ce qu'un itérateur en C++",
 )[
-  Le concept n'est pas strictement similaire au design pattern itérateur.
+  Le concept n'est pas strictement similaire au design pattern itérateur
 
-  Les itérateurs en C++ sont des objets qui permettent de parcourir une
-  collection.
+  Les itérateurs en C++ sont des objets qui permettent de parcourir une collection
 
-  La collection peut-être virtuelle ou il peut s'agir d'une zone mémoire contigüe.
+  La collection peut-être virtuelle ou il peut s'agir d'une zone mémoire contigüe
 
-  On peut également concevoir l'itérateur comme une généralisation du pointeur en
-  C++.
+  On peut également concevoir l'itérateur comme une généralisation du pointeur~en~
+  C++
 ]
 
 #slide(title: "Les types d'itérateurs")[
@@ -69,16 +68,16 @@
   title: "Comment utiliser un itérateur",
 )[
 Toutes les collections de la STL proposent une méthode `begin` et `end`. Elles
-permettent d'obtenir un itérateur sur le début et la fin de la collection.
+permettent d'obtenir un itérateur sur le début et la fin de la collection
 
-L'itérateur le plus basique peut être incrémenté `it++` ou `++it`.
+L'itérateur le plus basique peut être incrémenté `it++` ou `++it`
 
 L'itérateur bidirectionnel peut aussi être décrémenté `it--` ou `--it`
 
-Selon le type d'itérateur, il est également possible de le déréférencer `*it`.
+Selon le type d'itérateur, il est également possible de le déréférencer `*it`
 
 S'il est possible d'y accèder aléatoirement, on peut utiliser l'opérateur
-`it[i]` pour accèder au ième élément.
+`it[i]` pour accèder au i#super[ème] élément
 
 Je vous recommande de lire cette page pour plus d'exemples :
 #link("https://cplusplus.com/reference/iterator")
@@ -87,13 +86,13 @@ Je vous recommande de lire cette page pour plus d'exemples :
 #new-section-slide("Vecteurs")
 
 #slide(
-  title: "Qu'es-ce qu'un vecteur",
+  title: "Qu'est-ce qu'un vecteur",
 )[
 Un *std::vector* est une collection de la STL. Il s'agit d'un tableau de taille
-dynamique.
+dynamique
 
 La mémoire est gérée par l'objet. Il n'y a donc pas besoin de l'allouer avec
-`malloc` ou de la libérer avec `free`.
+`malloc` ou de la libérer avec `free`
 
 Il est possible, par exemple, de l'allouer comme un tableau ou de lui donner un
 taille fixe et une valeur de remplissage
@@ -155,15 +154,15 @@ a[5] = 12.3;
 ]
 
 #slide(
-  title: "Les incovénients du type tableau",
+  title: "Les inconvénients du type tableau",
 )[
   Le type tableau est un héritage du C. Comme c'est le cas en C, si le tableau est
-  casté en pointeur, on perd l'information sur la taille du tableau.
+  casté en pointeur, on perd l'information sur la taille du tableau
 
-  Si le tableau est alloué dynamiquement, il faut gérer la mémoire.
+  Si le tableau est alloué dynamiquement, il faut gérer la mémoire
 
   Le type tableau ne propose aucune propriété, ni méthode. Il s'agit uniquement
-  d'une zone mémoire.
+  d'une zone mémoire
 ]
 
 #slide(
@@ -171,34 +170,33 @@ a[5] = 12.3;
 )[
 La STL propose une collection pour les tableaux statiques, `std::array`. Cette
 collection combine les perfomances d'un simple tableau, et les avantages d'une
-collection STL.
+collection STL
 
 On peut l'initialiser de cette manière : ```cpp
 std::array<int, 3> a2 = {1, 2, 3};
 ```
 
-Comme c'est un tableau statique, il n'est pas nécessaire de libérer la mémoire.
+Comme c'est un tableau statique, il n'est pas nécessaire de libérer la mémoire
 
-Le type `std::array` offre, entre autres, les méthodes `data`, `begin` ou `end`.
+Le type `std::array` offre, entre autres, les méthodes `data`, `begin` ou `end`
 
-La méthode `size` permet de connaître la taille du tableau.
+La méthode `size` permet de connaître la taille du tableau
 
 La méthode `at` permet d'accèder à un élément du tableau en vérifiant que
-l'index passé est valide (bounds-check).
+l'index passé est valide (bounds-check)
 ]
 
 #slide(
   title: "Les spans",
 )[
 Il peut arriver que nous ayons uniquement un tableau simple ou un pointeur vers
-des données. En résumé, une simple zone mémoire.
+des données. En résumé, une simple zone mémoire
 
 Si nous voulons pouvoir utiliser notre zone mémoire comme une collection STL,
-pour profiter des différentes méthodes que nous avons vu. Il existe les
-`std::span`.
+pour profiter des différentes méthodes que nous avons vu, il existe les
+`std::span`
 
-Cette structure encapsule simplement un pointeur et la taille de la zone
-pointée.
+Cette structure encapsule simplement un pointeur et la taille de la zone pointée
 ]
 
 #slide(title: "Exemple de span")[
@@ -225,10 +223,10 @@ delete[] ptr;
 #slide(
   title: "Les fonctions anonymes",
 )[
-De plus en plus de langages proposent un mechanisme pour écrire des fonctions
-anonymes, aussi appelées expressions lambda.
+De plus en plus de langages proposent un mécanisme pour écrire des fonctions
+anonymes, aussi appelées expressions lambda
 
-Depuis C++ 11, il existe un moyen d'écrire des fonctions lambda. La syntaxe
+Depuis C++ 11, il existe un moyen d'écrire des fonctions anonymes. La syntaxe
 simplifiée d'une lambda en C++ est la suivante : ```cpp
 [captures](paramètres){corps de la fonction}
 ```
@@ -243,7 +241,7 @@ int x = times_two(3); // x vaut 6
 #slide(
   title: "Les captures",
 )[
-Les expressions lambda en C++ peuvent capturer leur environnement.
+Les expressions lambda en C++ peuvent capturer leur environnement
 
 Si je souhaite par exemple ajouter une constante à en entier, je peux écrire :
 
@@ -308,7 +306,7 @@ int x = add_var(10); // x vaut 12
   title: "Introduction",
 )[
   La librairie standard propose un ensemble d'algorithmes qui permettent de
-  travailler avec des itérateurs.
+  travailler avec des itérateurs
 
   Ces algorithmes permettent entre autre de :
   - initialiser/remplir
@@ -318,9 +316,9 @@ int x = add_var(10); // x vaut 12
   - supprimer/remplacer des éléments
 
   On retrouve des fonctions similaires avec les streams en java, ou les itérateurs
-  en Rust.
+  en Rust
 
-  Je vous recommande de lire la page suivante pour plus d'information #link("https://en.cppreference.com/w/cpp/algorithm").
+  Je vous recommande de lire la page suivante pour plus d'information : #link("https://en.cppreference.com/w/cpp/algorithm")
 ]
 
 #slide(title: "Exemple tri")[