From cf8b25a17a2ab4983017236bfa56da56b91641bf Mon Sep 17 00:00:00 2001
From: "orestis.malaspin" <orestis.malaspinas@hesge.ch>
Date: Sat, 9 Sep 2023 20:13:35 +0200
Subject: [PATCH] Add rustlings in each chapter

---
 book/src/part00.md | 27 +++++++++++++++++++++++++++
 book/src/part01.md | 29 +++++++++++++++++++++++++++++
 book/src/part02.md | 23 ++++++++++++++++++++++-
 book/src/part03.md | 22 ++++++++++++++++++++++
 book/src/part04.md | 14 ++++++++++++++
 book/src/part05.md | 13 +++++++++++++
 book/src/part06.md | 21 +++++++++++++++++++++
 book/src/part07.md | 26 +++++++++++++++++++++++++-
 book/src/part12.md | 10 ++++++++++
 9 files changed, 183 insertions(+), 2 deletions(-)

diff --git a/book/src/part00.md b/book/src/part00.md
index 37bf485..0a6e56a 100644
--- a/book/src/part00.md
+++ b/book/src/part00.md
@@ -114,4 +114,31 @@ println!("{1} {0}", "abc", "def");
 
 Affichera `def abc`.
 
+## Rustlings
 
+Les rustlings à faire dans ce chapitre sont les suivants:
+
+### Introduction
+
+```bash
+$ rustlings run intro1
+$ rustlings run intro2
+```
+
+### Les variables
+
+```bash
+$ rustlings run variables1
+$ rustlings run variables2
+$ rustlings run variables3
+$ rustlings run variables4
+$ rustlings run variables5
+```
+
+### Les types primitifs
+
+```bash
+$ rustlings run primitive_types1
+$ rustlings run primitive_types2
+$ rustlings run primitive_types3
+```
\ No newline at end of file
diff --git a/book/src/part01.md b/book/src/part01.md
index ca4c6af..2232f89 100644
--- a/book/src/part01.md
+++ b/book/src/part01.md
@@ -253,3 +253,32 @@ fn main() {
     println!("The minimal value is: {min}");
 }
 ```
+
+
+## Rustlings
+
+Les rustlings à faire dans ce chapitre sont les suivants:
+
+### Les `if`s
+
+```bash
+$ rustlings run if1
+$ rustlings run if2
+$ rustlings run if3
+```
+
+### Les fonctions
+
+```bash
+$ rustlings run functions1
+$ rustlings run functions2
+$ rustlings run functions3
+$ rustlings run functions4
+$ rustlings run functions5
+```
+
+### Quiz
+
+```bash
+$ rustlings run quiz1
+```
diff --git a/book/src/part02.md b/book/src/part02.md
index d7ecb29..bfcd510 100644
--- a/book/src/part02.md
+++ b/book/src/part02.md
@@ -240,4 +240,25 @@ fn main() {
     let nothing = NumberOrNothing::Nothing;
     NumberOrNothing::print(nothing);
 }
-```
\ No newline at end of file
+```
+
+
+## Rustlings
+
+Les rustlings à faire dans ce chapitre sont les suivants:
+
+### Les types énumérés
+
+```bash
+$ rustlings run enums1
+$ rustlings run enums2
+$ rustlings run enums3
+```
+
+### La structures
+
+```bash
+$ rustlings run structs1
+$ rustlings run structs2
+$ rustlings run structs3
+```
diff --git a/book/src/part03.md b/book/src/part03.md
index 2056a39..699fbf0 100644
--- a/book/src/part03.md
+++ b/book/src/part03.md
@@ -273,3 +273,25 @@ impl Clone for MyStruct {
 ```rust
 {{#rustdoc_include ../../codes/rust_lang/part03/src/main.rs:main}}
 ```
+
+
+## Rustlings
+
+Les rustlings à faire dans ce chapitre sont les suivants:
+
+### Les traits
+
+```bash
+$ rustlings run traits1
+$ rustlings run traits2
+$ rustlings run traits3
+$ rustlings run traits4
+$ rustlings run traits5
+```
+
+### Les tuples
+
+```bash
+$ rustlings run primitive_types5
+$ rustlings run primitive_types6
+```
\ No newline at end of file
diff --git a/book/src/part04.md b/book/src/part04.md
index 127f0c2..2dbef99 100644
--- a/book/src/part04.md
+++ b/book/src/part04.md
@@ -189,3 +189,17 @@ le vérificateur de type du Rust ne laisse pas passer ce genre de choses.
 {{#rustdoc_include ../../codes/rust_lang/part04/src/main.rs:main}}
 ```
 
+## Rustlings
+
+Les rustlings à faire dans ce chapitre sont les suivants:
+
+### La `move semantic` 
+
+```bash
+$ rustlings run move_semantics1
+$ rustlings run move_semantics2
+$ rustlings run move_semantics3
+$ rustlings run move_semantics4
+$ rustlings run move_semantics5
+$ rustlings run move_semantics6
+```
\ No newline at end of file
diff --git a/book/src/part05.md b/book/src/part05.md
index ee24553..a263da7 100644
--- a/book/src/part05.md
+++ b/book/src/part05.md
@@ -199,3 +199,16 @@ struct Point {
   pub y: f32,
 }
 ```
+
+## Rustlings
+
+Les rustlings à faire dans ce chapitre sont les suivants:
+
+### Les modules
+
+```bash
+$ rustlings run modules1
+$ rustlings run modules2
+$ rustlings run modules3
+```
+
diff --git a/book/src/part06.md b/book/src/part06.md
index 7484bc2..bedbf63 100644
--- a/book/src/part06.md
+++ b/book/src/part06.md
@@ -303,3 +303,24 @@ et en général d'éviter certaines mauvaises pratiques et/ou de simplifier
 le code avec des *patterns* connus.
 
 Comme ci-dessus, prenez ce code et exécutez la commande `cargo clippy` pour voir les recommandations du linter.
+
+## Rustlings
+
+Les rustlings à faire dans ce chapitre sont les suivants:
+
+### Les modules
+
+```bash
+$ rustlings run tests1
+$ rustlings run tests2
+$ rustlings run tests3
+$ rustlings run tests4
+```
+
+### Clippy
+
+```bash
+$ rustlings run clippy1
+$ rustlings run clippy2
+$ rustlings run clippy3
+```
diff --git a/book/src/part07.md b/book/src/part07.md
index e005278..202984e 100644
--- a/book/src/part07.md
+++ b/book/src/part07.md
@@ -388,4 +388,28 @@ Avec l'opérateur `?` on peut simplement remplacer le test ainsi :
 Ces deux fonctions font strictement la même chose. L'opérateur agit comme un sucre syntaxique qui permet
 d'allèger l'écriture du code et ainsi augmenter sa lisibilité. En clair, si le résultat est `Ok(val)`, 
 l'expression retourne `val`, sinon la fonction se termine ici et retourne le résultat `Err(error)` contenu
-dans le résultat.
\ No newline at end of file
+dans le résultat.
+
+
+## Rustlings
+
+Les rustlings à faire dans ce chapitre sont les suivants:
+
+### La gestion des erreurs
+
+```bash
+$ rustlings run errors1
+$ rustlings run errors2
+$ rustlings run errors3
+$ rustlings run errors4
+$ rustlings run errors5
+$ rustlings run errors6
+```
+
+### Les options
+
+```bash
+$ rustlings run options1
+$ rustlings run options2
+$ rustlings run options3
+```
diff --git a/book/src/part12.md b/book/src/part12.md
index 42c0473..77714ed 100644
--- a/book/src/part12.md
+++ b/book/src/part12.md
@@ -538,3 +538,13 @@ Dans un ordre aléatoire:
 * Ajoutez une fonction `remove(i)` permettant d'enlever le `i`-ème élément de la liste,
 * Ajoutez une fonction `insert(i, data)` permettant d'ajouter `data` à la `i`-ème place dans la liste,
 * Ajouter les fonctions permettant d'itérer sur la liste en implémentant les trait `Iter` et `IntoIter`.
+
+## Rustlings
+
+Les rustlings à faire dans ce chapitre sont les suivants:
+
+### Les `Box`
+
+```bash
+$ rustlings run box1
+```
\ No newline at end of file
-- 
GitLab