diff --git a/commentaires.md b/commentaires.md
index b65850a6baa31ca832e73f30f1e41362cc06caf4..5aeb7345d7010b571314da1eccad3a0c1607abdb 100644
--- a/commentaires.md
+++ b/commentaires.md
@@ -27,7 +27,7 @@ fn main() {
 }
 	</code></pre>
 
-## Commentaires de documentation
+## Commentaires de documentation (1/3)
 
 - La commande `cargo doc --open`{.sh} génère la documentation en HTML.
 - Les lignes de la documentation doivent commencer avec `///`{.rust}.
@@ -53,3 +53,53 @@ pub fn add_two_mul_three(x: i32) -> i32 {
 	
 	![](figs/rust_doc.png){width=100%}
 
+## Commentaires de documentation (2/3)
+
+- La documentation peut être utilisée comme test unitaire: `cargo test`{.sh}.
+- Les parties entre triples guillemets sont compilées et exécutées comme tests.
+
+	<pre><code data-trim="hljs rust">
+/// Cette fonction ajoute deux, puis multiplie par trois.
+///
+/// # Exemple
+///
+/// ```
+/// use tests::add_two_mul_three;
+///
+/// let five = 5;
+///
+/// add_two_mul_three(five);
+/// ```
+pub fn add_two_mul_three(x: i32) -> i32 {
+    (x + 2) * 3
+}
+	</code></pre>
+
+- La sortie est de la forme:
+
+	<pre><code data-trim="hljs sh">
+$ cargo test --doc
+    Finished dev [unoptimized + debuginfo] target(s) in 0.01s
+   Doc-tests hello_world
+running 1 test
+test src/lib.rs - add_two_mul_three (line 11) ... ok
+test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
+	</code></pre>
+
+## Commentaires de documentation (3/3)
+
+- La documentation du projet en entier se fait avec `//!`{.rust} en début de ligne.
+
+	<pre><code data-trim="hljs rust">
+//! # Hello world\
+//! \
+//! `hello_world` est l'exemple typique de tout\
+//! cours d'algorithmique.\
+\
+\
+/// Cette fonction ajoute deux, puis multiplie par trois.
+	</code></pre>
+
+- Le code ci-dessus produit:
+	
+	![](figs/rust_doc_crate.png){width=100%}
\ No newline at end of file
diff --git a/figs/rust_doc_crate.png b/figs/rust_doc_crate.png
new file mode 100644
index 0000000000000000000000000000000000000000..ad9e90272057eaec11902acf2915eba1acce54cb
Binary files /dev/null and b/figs/rust_doc_crate.png differ