diff --git a/9.filesystems/01_Systemes_fichiers_intro.md b/9.filesystems/01_Systemes_fichiers_intro.md
index d4b2b156ef09fb6ef02d67d461991490b8352ef6..ee5b71c1093b6dc5e0ef848b04fa953a27a3e44e 100644
--- a/9.filesystems/01_Systemes_fichiers_intro.md
+++ b/9.filesystems/01_Systemes_fichiers_intro.md
@@ -1,30 +1,7 @@
----
-author: Florent Gluck - Florent.Gluck@hesge.ch
-
-title: Systèmes de fichiers - Introduction
-
-date: \vspace{.5cm} \footnotesize \today
-
-institute: \vspace{0.5cm} \tiny \textsuperscript{*}Remerciements à Mickaël Hoerdt
-
-pandoc-latex-fontsize:
-  - classes: [tiny]
-    size: tiny
-  - classes: [verysmall]
-    size: scriptsize
-  - classes: [small]
-    size: footnotesize
-  - classes: [huge, important]
-    size: huge
----
-
-[//]: # ----------------------------------------------------------------
 ## Historique
 
-\small
-
-:::::: {.columns}
-::: {.column width="55%"}
+<div class="cols">
+<small>
 
 - Les systèmes de fichiers ont été conçu pour accéder, avec une interface simple, à des périphériques de stockage de masse (persistents)
 - Premiers périphériques de stockage de masse étaient basé sur des disques magnétiques appelés *Hard Disk Drive*
@@ -32,71 +9,67 @@ pandoc-latex-fontsize:
 - Adressable par le triplet CHS :\
   { Cylinder, Head, Sector }
 
-:::
-::: {.column width="45%"}
+</small>
+<div>
 
-![](images/hdd.png){ width=70% }
+<small>
 
-\tiny
+![](images/hdd.png) <!-- .element width="70%" -->
 
-a. Plateaux
-a. Bras mobile
-a. Têtes de lecture/écriture reliées par le bras mobile
-a. Cylindre = coupe transversale des plateaux
-a. Pistes = groupe de secteurs contigüs
-a. Secteur angulaire
+A. Plateaux
+B. Bras mobile
+C. Têtes de lecture/écriture reliées par le bras mobile
+D. Cylindre = coupe transversale des plateaux
+E. Pistes = groupe de secteurs contigüs
+F. Secteur angulaire
 
-:::
-::::::
+</small>
 
-[//]: # ----------------------------------------------------------------
-## Historique : premier disque dur
+</div>
+</div>
 
-\footnotesize
+
+--
+
+## Historique : premier disque dur
 
 Premier disque dur conçu en 1956 pour le super-computer IBM 305 Ramac
 
-- Capacité : 4.8MB
-  - \scriptsize 50 plateaux de 60cm (24"), contenant chacun 100 pistes/faces, contenant chacune 5 secteurs de 100 octets
+- Capacité : 4.8MB <!-- .element font-size="5" -->
+  - 50 plateaux de 60cm (24"), contenant chacun 100 pistes/faces, contenant chacune 5 secteurs de 100 octets
 - Débit : 8.8KB/sec.
 - Vitesse : 1200 tours/min.
 - 2 têtes lecture/écriture, 1 sec. pour passer d'un plateau à l'autre
 - Prix du système complet : $33'200/mois
 
-\centering
-![](images/IBM-305-RAMAC.jpg){ width=50% }
+![](images/IBM-305-RAMAC.jpg)<!-- .element width="40%" -->
 
-[//]: # ----------------------------------------------------------------
-## Aujourd'hui
+--
 
-\small
+## Aujourd'hui
 
 - Les **disques durs mécanique (HDD)** utilisent les mêmes principes (cylindres, pistes, têtes, des secteurs), mais :
-  - \footnotesize performances et capacités ont augmenté exponentiellement
+  - performances et capacités ont augmenté exponentiellement
   - adressage physique CHS remplacé par adressage logique : LBA (*Logical Block Addressing*)
   - taille physique d'un secteur est souvent 4KB avec émulation à 512 bytes par le firmware
-- Les **disques durs à base de flash[^1] (SSD)** ne comportent pas de partie mécanique, mais présentent aussi des secteurs de 512 bytes adressés logiquement en LBA (émulation réalisée par le firmware)
-  - \footnotesize la plupart des périphiques de stockage à base de flash sont similaires (clés USB, cartes SD, etc.)
+- Les **disques durs à base de  [flash](https://www.arrow.com/en/research-and-events/articles/nand-memory-explained-understanding-pros-and-cons-of-nand) (SSD)** ne comportent pas de partie mécanique, mais présentent aussi des secteurs de 512 bytes adressés logiquement en LBA (émulation réalisée par le firmware)
+  - la plupart des périphiques de stockage à base de flash sont similaires (clés USB, cartes SD, etc.)
 
-[^1]: \tiny Flash de type NAND: [\textcolor{myblue}{https://www.arrow.com/en/research-and-events/articles/nand-memory-explained-understanding-pros-and-cons-of-nand}](https://www.arrow.com/en/research-and-events/articles/nand-memory-explained-understanding-pros-and-cons-of-nand)
 
+--
 
-[//]: # ----------------------------------------------------------------
 ## Structure d'un disque
 
-\small
-
 - Un disque est divisé en unités de taille identique appelées **secteurs**
 - La taille typique d'un secteur est 512 bytes, mais il existe des secteurs plus grands (2KB, 4KB, etc.)
 - Un secteur est la plus petite unité physique pouvant être lue ou écrite
 - La lecture ou l'écriture d'un secteur est une opération **atomique**
 
-\vspace{.2cm}
+![](images/sectors.png)<!-- .element width="80%" -->
 
-\centering
-![](images/sectors.png){ width=80% }
 
-[//]: # ----------------------------------------------------------------
+--
+
 ## UNIX et blocs
 
 - Dans un OS de type UNIX, on parle de blocs plutôt que de secteurs
@@ -105,27 +78,25 @@ Premier disque dur conçu en 1956 pour le super-computer IBM 305 Ramac
 gestion de lecture/écriture par blocs
 - Permet d'être indépendant du type de périphérique $\rightarrow$ généricité
 
-[//]: # ----------------------------------------------------------------
-## Secteurs, blocs et clusters
 
-\small
+--
+
+## Secteurs, blocs et clusters
 
-- L'unité d'allocation de base des systèmes de fichiers n'est pas le secteur, mais une unité plus grande (ou égale) appelée **bloc**[^2]
+- L'unité d'allocation de base des systèmes de fichiers n'est pas le secteur, mais une unité plus grande (ou égale) appelée **bloc**<sup>1</sup>
 - **Un bloc est une collection contiguë de secteurs**
 - Un système de fichiers (FS) divise l'espace disque en blocs de taille égale
 - Généralement, un bloc fait entre 1KB et 8KB
 - La commande `stat fichier` affiche la taille d'un bloc du FS où se trouve `fichier` (champ *IO Block*)
 
-\vspace{.1cm}
+![](images/block_and_cluster.png)<!-- .element width="80%" -->
 
-\centering
-![](images/block_and_cluster.png){ width=80% }
 
-\vspace{.3cm}
+<small>1: Microsoft appelle un bloc un *cluster*</small>
 
-[^2]: \footnotesize Microsoft appelle un bloc un *cluster*
 
-[//]: # ----------------------------------------------------------------
+--
+
 ## Interface périphérique bloc
 
 Si on fait abstraction de la gestion du cache, l'interface d'accès à un périphérique de type bloc est très simple :
@@ -137,7 +108,9 @@ Si on fait abstraction de la gestion du cache, l'interface d'accès à un périp
   - `read_blocks(dev, block_nb, buf, count)`
   - `write_blocks(dev, block_nb, buf, count)`
 
-[//]: # ----------------------------------------------------------------
+
+--
+
 ## Adressage
 
 - Les blocs d'un périphérique de taille $N$ blocs de $n$ bytes chacun, sont adressables de $0$ à $N-1$ (comme un tableau en C)
@@ -145,71 +118,65 @@ Si on fait abstraction de la gestion du cache, l'interface d'accès à un périp
 - La lecture/écriture du bloc $0$ traite les bytes de l'offset $0$ à l'offset $n-1$ du périphérique
 - La lecture/écriture du bloc $b$ traite les bytes de l'offset $n*b$ à l'offset $n*(b+1)-1$
 
-\vspace{.3cm}
+![](images/addressing.png)<!-- .element width="70%" -->
 
-\centering
-![](images/addressing.png){ width=70% }
 
-[//]: # ----------------------------------------------------------------
-## Adressage : exemple
+--
 
-::: incremental
+## Adressage : exemple
 
-Exemple : périphérique de 10MB ($1024*1024*10$ bytes), taille de bloc de 1024 bytes
+Exemple : périphérique de 10MB (1024 * 1024 * 10 bytes), taille de bloc de 1024 bytes
 
 - Quelle est l'intervalle des offsets des bytes du bloc numéro 17 ?
-  - \textcolor{myorange}{$[1024*17,1024*(17+1)-1] = [17408,18431]$}
+  - `$[1024*17,1024*(17+1)-1] = [17408,18431]$`
 - Dans quel bloc se trouve le byte localisé à l'offset 7000 du périphérique ?
-  - \textcolor{myorange}{$7000/1024 = 6.8359375 = 6$}
+  - `$7000/1024 = 6.8359375 = 6$`
 - À quel offset du bloc est localisé le byte se trouvant à l'offset 7000 du périphérique ?
-  - \textcolor{myorange}{$7000\ \%\ 1024 = 856$}
+  - `$7000 \% 1024 = 856$`
 
-:::
+![](images/addressing_example.png)<!-- .element width="70%" -->
 
-\vspace{.3cm}
 
-\centering
-![](images/addressing_example.png){ width=70% }
 
+--
 
-[//]: # ----------------------------------------------------------------
 ## Abstraction (1/2)
 
 - Avec cet adressage logique, on peut facilement émuler un périphérique bloc à partir d'un fichier image
 - On peut y accéder via les appels systèmes usuels `read` et `write`
 - Ces appels système peuvent simplement être mappés sur les fonctions décrites précédemment : 
 
-  - \small `init_block_dev(dev, size)` $\longrightarrow$ `fd = open(file)`
+  - `init_block_dev(dev, size)` $\longrightarrow$ `fd = open(file)`
   - `read_blocks(dev, block_nb, buf, count)` $\longrightarrow$ `read(fd)`
   - `write_blocks(dev, block_nb, buf, count)` $\longrightarrow$ `write(fd)`
 
 
-[//]: # ----------------------------------------------------------------
+
+--
+
 ## Abstraction (2/2)
 
 - Le fichier image peut-être distant, si on implémente l'abstraction au dessus des sockets et d'un protocole qui
 reste très simple :
 
-  - \small `init_block_dev(dev, size)` $\longrightarrow$ `s = socket()`
+  - `init_block_dev(dev, size)` $\longrightarrow$ `s = socket()`
   - `read_blocks(block_nb, buf, count)` $\longrightarrow$ `read(s)`
   - `write_blocks(block_nb, buf, count)` $\longrightarrow$ `write(s)`
 
-[//]: # ----------------------------------------------------------------
+
+--
+
 ## Conclusion
 
-::: incremental
+- On peut lire/écrire des blocs adressés logiquement, mais on est encore loin d'un FS <!-- .element: class="fragment" data-fragment-index="0" -->
+- Comment à partir de ces opérations simples, peut-on construire un FS ? <!-- .element: class="fragment" data-fragment-index="2" -->
+- Pour cela, il est nécessaire de comprendre l'allocation des blocs de données ainsi que l'organisation sur disque d'un FS <!-- .element: class="fragment" data-fragment-index="3" -->
 
-- On peut lire/écrire des blocs adressés logiquement, mais on est encore loin d'un FS
-- Comment à partir de ces opérations simples, peut-on construire un FS ?
-- Pour cela, il est nécessaire de comprendre l'allocation des blocs de données ainsi que l'organisation sur disque d'un FS
 
-:::
+--
 
-[//]: # ----------------------------------------------------------------
 ## Ressources
 
-\small
+- [Operating Systems: Three Easy Pieces](http://pages.cs.wisc.edu/~remzi/OSTEP/), Remzi H. and Andrea C. Arpaci-Dusseau. Arpaci-Dusseau Books
 
-- Operating Systems: Three Easy Pieces, Remzi H. and Andrea C. Arpaci-Dusseau. Arpaci-Dusseau Books\
-\footnotesize [\textcolor{myblue}{http://pages.cs.wisc.edu/~remzi/OSTEP/}](http://pages.cs.wisc.edu/~remzi/OSTEP/)
-  - livre disponible à la bibliothèque
+livre disponible à la bibliothèque
diff --git a/9.filesystems/index.html b/9.filesystems/index.html
index 3e81c030b0aaf3dc87d34301c15fa009bba754db..74c66524d31a6c459576308c6a2585491c9d4c76 100644
--- a/9.filesystems/index.html
+++ b/9.filesystems/index.html
@@ -5,7 +5,7 @@
 	<meta charset="utf-8">
 	<meta name="generator" content="pandoc">
 	<meta name="author" content="Guillaume Chanel">
-	<title>Drivers et modules</title>
+	<title>Systèmes de fichiers</title>
 	<meta name="apple-mobile-web-app-capable" content="yes">
 	<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
 	<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no, minimal-ui">