diff --git a/git_tutorial.md b/git_tutorial.md
index 6a76d3799b711474613af1cec5fa6e450bbfe413..dc9ad6868731a89186941f3e4623c503577d4567 100644
--- a/git_tutorial.md
+++ b/git_tutorial.md
@@ -5,18 +5,18 @@
 # Qu'est-ce que Git?
 
 - Git est un outil de gestion de versions (dév. par L. Torvalds).
-	* Cela évite d'avoir à gérer les fichiers d'un projet comme:
-		- fichier.c 
-		- fichier_10_3_2020.c 
-		- fichier_10_3_2020_16h.c 
-		- fichier_10_3_2020_16h_Malaspinas.c 
-		- fichier_10_3_2020_16h_Albuquerque.c 
-	* L'historique est accessible à tout moment.
-	* Difficile d'écraser le mauvais fichier lors d'une synchronisation.
+  - Cela évite d'avoir à gérer les fichiers d'un projet comme:
+    - fichier.c
+    - fichier_10_3_2020.c
+    - fichier_10_3_2020_16h.c
+    - fichier_10_3_2020_16h_Malaspinas.c
+    - fichier_10_3_2020_16h_Albuquerque.c
+  - L'historique est accessible à tout moment.
+  - Difficile d'écraser le mauvais fichier lors d'une synchronisation.
 - Possibilité de découpler le développement dans un projet.
-	* Fusionne les modifications non-conflictuelles automatiquement.
-	* Un projet peut avoir différentes *branches* de développement (on peut développer une nouvelle version et faire des corrections de bug en parallèle).
-- **Permet le travail de plusieurs développeurs sur le même projet!** 
+  - Fusionne les modifications non-conflictuelles automatiquement.
+  - Un projet peut avoir différentes *branches* de développement (on peut développer une nouvelle version et faire des corrections de bug en parallèle).
+- **Permet le travail de plusieurs développeurs sur le même projet!**
 
 # Principe de fonctionnement de Git (1/3)
 
@@ -29,9 +29,9 @@ Mais, typiquement un projet git possède un serveur "officiel" (centralisé):
 - Un·e développeur·euse peut faire une copie (clone) de tout le projet (sur son ordinateur).
 - Modifier localement le projet et publier (push) ses propres modifications (sur son ordinateur).
 - Demander au gestionnaire du projet de fusionner (merge) ses modifications avec le serveur "officiel" (pull/merge request):
-	- L'administrateur récupère le projet depuis le serveur du développeur.
-	- Fusionne le projet officiel avec celui modifié (merge).
-	- Publie les modifications sur le serveur officiel (push).
+  - L'administrateur récupère le projet depuis le serveur du développeur.
+  - Fusionne le projet officiel avec celui modifié (merge).
+  - Publie les modifications sur le serveur officiel (push).
 
 # Principe de fonctionnement de Git (2/3)
 
@@ -43,14 +43,14 @@ Mais, typiquement un projet git possède un serveur "officiel" (centralisé):
 
 # A hepia
 
-* <https://gitedu.hesge.ch>, instance de `gitlab`.
-* **Attention:** `gitlab` ou `github` ce n'est pas `git`.
-* Connection aux repos via `https` (identifiants à rentrer à chaque fois),
-* ou via `ssh` (la vie est quand même plus simple).
-* Configurons ça ensemble: 
-	* `ssh-keygen` (mettre un mot de passe si vous voulez)
-	* copier le contenu de `~/.ssh/id_rsa.pub` dans `preferences->ssh keys`
-	* cliquer sur `Add key`
+- <https://gitedu.hesge.ch>, instance de `gitlab`.
+- **Attention:** `gitlab` ou `github` ce n'est pas `git`.
+- Connection aux repos via `https` (identifiants à rentrer à chaque fois),
+- ou via `ssh` (la vie est quand même plus simple).
+- Configurons ça ensemble:
+  - `ssh-keygen` (mettre un mot de passe si vous voulez)
+  - copier le contenu de `~/.ssh/id_rsa.pub` dans `preferences->ssh keys`
+  - cliquer sur `Add key`
 
 # Exemple de fonctionnement
 
@@ -77,6 +77,7 @@ $ cd tutorial
 2. Ajout du `premierfichier.c` aux fichiers suivis par git.
 3. *Commit* du fichier ajouté à l'historique des modifications.
 4. *Push* de l'état de l'historique sur le serveur.
+
 ```bash
 [tutorial]$ echo Hello World > premierfichier.c
 [tutorial]$ git status
@@ -87,7 +88,7 @@ No commits yet
 Untracked files:
   (use "git add <file>..." to include in what will be committed)
 
-	premierfichier.c
+ premierfichier.c
 
 nothing added to commit but untracked files present (use "git add" to track)
 
@@ -107,7 +108,7 @@ No commits yet
 Changes to be committed:
   (use "git rm --cached <file>..." to unstage)
 
-	new file:   premierfichier.c
+ new file:   premierfichier.c
 
 [tutorial]$ git commit -m "mon premier commit"
 [master (root-commit) a4f2052] mon premier commit
@@ -138,14 +139,12 @@ To ssh://ssh.hesge.ch:10572/orestis.malaspin/tutorial.git
 
 ## Recommandations
 
-
-* Faire des *commits* réguliers (ne pas attendre d'avoir un projet qui fonctionne complètement).
-* Mettre des messages de *commit* qui font du sens.
-* Éviter d'ajouter de fichiers binaires (prennent de la place).
-  * Les fichiers binaires sont générables par l'utilisateur du projet.
-* Éviter de faire `git add .`
-* Utiliser les fichiers `.gitignore` pour se protéger.
-
+- Faire des *commits* réguliers (ne pas attendre d'avoir un projet qui fonctionne complètement).
+- Mettre des messages de *commit* qui font du sens.
+- Éviter d'ajouter de fichiers binaires (prennent de la place).
+  - Les fichiers binaires sont générables par l'utilisateur du projet.
+- Éviter de faire `git add .`
+- Utiliser les fichiers `.gitignore` pour se protéger.
 
 # Modification de fichiers dans l'historique (1/3)
 
@@ -164,7 +163,7 @@ Changes not staged for commit:
   (use "git add <file>..." to update what will be committed)
   (use "git checkout -- <file>..." to discard changes in working directory)
 
-	modified:   premierfichier.c
+ modified:   premierfichier.c
 
 no changes added to commit (use "git add" and/or "git commit -a")
 ```
@@ -230,7 +229,7 @@ Changes not staged for commit:
   (use "git add <file>..." to update what will be committed)
   (use "git checkout -- <file>..." to discard changes in working directory)
 
-	modified:   premierfichier.c
+ modified:   premierfichier.c
 
 no changes added to commit (use "git add" and/or "git commit -a")
 ```
@@ -267,10 +266,10 @@ Your branch is up to date with 'origin/master'.
 Changes to be committed:
   (use "git reset HEAD <file>..." to unstage)
 
-	modified:   premierfichier.c
+ modified:   premierfichier.c
 [tutorial]$ git reset HEAD
 Unstaged changes after reset:
-M	premierfichier.c
+M premierfichier.c
 ```
 
 # Revenir en arrière dans l'historique (4/6)
@@ -288,7 +287,7 @@ Changes not staged for commit:
   (use "git add <file>..." to update what will be committed)
   (use "git checkout -- <file>..." to discard changes in working directory)
 
-	modified:   premierfichier.c
+ modified:   premierfichier.c
 
 no changes added to commit (use "git add" and/or "git commit -a")
 [tutorial]$ git diff
@@ -319,7 +318,7 @@ Your branch is behind 'origin/master' by 1 commit, and can be fast-forwarded.
   (use "git pull" to update your local branch)
 
 Changes not staged for commit:
-	modified:   premierfichier.c
+ modified:   premierfichier.c
 
 no changes added to commit
 [tutorial]$ git checkout premierfichier.c
@@ -353,12 +352,12 @@ Automatic merge failed; fix conflicts and then commit the result.
 
 # Un `git push` par erreur
 
-* Un `git push` est très difficile à "effacer".
-* Cela revient à *réécrire* l'historique de votre projet.
-    * Cela est *dangereux*, surtout quand on travail à plusieurs.
-* Le plus simple est de revenir à une version antérieure et faire un nouveau
+- Un `git push` est très difficile à "effacer".
+- Cela revient à *réécrire* l'historique de votre projet.
+  - Cela est *dangereux*, surtout quand on travail à plusieurs.
+- Le plus simple est de revenir à une version antérieure et faire un nouveau
   commit.
-* Il existe des techniques *violentes* qu'on verra pas ici.
+- Il existe des techniques *violentes* qu'on verra pas ici.
 
 # Retirer un fichier du contrôle de version (1/3)
 
@@ -377,7 +376,7 @@ Your branch is up to date with 'origin/master'.
 Changes to be committed:
   (use "git reset HEAD <file>..." to unstage)
 
-	deleted:    premierfichier.c
+ deleted:    premierfichier.c
 [orestis@perka tutorial]$ git commit -am "efface donc ce fichier"
 [master 8f76d90] efface donc ce fichier
  1 file changed, 1 deletion(-)
@@ -393,7 +392,7 @@ Changes to be committed:
 total 0
 [orestis@perka tutorial]$ git reset bbb151324289dc2f85468f5721ec1021692dd216
 Unstaged changes after reset:
-D	premierfichier.c
+D premierfichier.c
 [orestis@perka tutorial]$ git status
 On branch master
 Your branch is up to date with 'origin/master'.
@@ -402,7 +401,7 @@ Changes not staged for commit:
   (use "git add/rm <file>..." to update what will be committed)
   (use "git checkout -- <file>..." to discard changes in working directory)
 
-	deleted:    premierfichier.c
+ deleted:    premierfichier.c
 
 no changes added to commit (use "git add" and/or "git commit -a")
 ```
@@ -447,28 +446,28 @@ Git voit les fichiers dans trois états possibles:
 
 ## Certains fichiers ne doivent pas être *addables*
 
-* Ils doivent *explicitement* être ignorés.
+- Ils doivent *explicitement* être ignorés.
 
 # Quels fichiers ignorer
 
 On ignore typiquement:
 
-* Les fichiers binaires: exécutables, images, ...
-* Les produits de compilation: `*.o`, `*.pyc`, ...
-* Les produits d'exécutions: logs, ...
-* Les fichiers de configuration d'un IDE: .vscode, ...
-* Les fichiers système.
+- Les fichiers binaires: exécutables, images, ...
+- Les produits de compilation: `*.o`, `*.pyc`, ...
+- Les produits d'exécutions: logs, ...
+- Les fichiers de configuration d'un IDE: .vscode, ...
+- Les fichiers système.
 
 # Comment ignorer des fichiers?
 
-* Créer un fichier texte nommé `.gitignore`.
-* L'ajouter au répo git et le "commit".
-* Y ajouter les règles à suivre pour ignorer les fichiers.
+- Créer un fichier texte nommé `.gitignore`.
+- L'ajouter au répo git et le "commit".
+- Y ajouter les règles à suivre pour ignorer les fichiers.
 
 Exemple: [^2]
 
-```bash
-biden      # ignore le fichier biden
+```console
+harris     # ignore le fichier harris
 *.o        # ignore tous les fichier `.o`
 !trump.o   # mais PAS trump.o
 sanders    # ignore le répertoire sanders
@@ -477,6 +476,18 @@ sanders    # ignore le répertoire sanders
 
 [^2]: Pour une liste plus exhaustive voir le site <https://bit.ly/2HTZJyQ> par exemple.
 
+# Un exemple de fichier `.gitignore`
+
+```console
+# Ignore everything
+*
+# Except .gitignore, Makefile, *.c, *.h
+!.gitignore
+!*.c
+!*.h
+!Makefile
+```
+
 # Des références
 
 Il existe énormément de très bons documents et tutoriels en ligne:
@@ -498,4 +509,3 @@ Et des GUI assez utiles:
 # Des questions?
 
 ![Internet wisdom.](figs/git_meme.png){width=70%}
-