diff --git a/Makefile b/Makefile
index 00d05ebb61e525e0dbb352705c6c8c96870a96df..33cb7ae66998ca60376296af8d9d4e73c5f58858 100644
--- a/Makefile
+++ b/Makefile
@@ -27,7 +27,7 @@ REVEALOPRIONS += --highlight-style espresso
 
 
 # all: cours.pdf cours.html
-all: intro.html
+all: intro.html variables.html
 
 # cours.pdf: cours.md Makefile
 # 	pandoc -s $(BEAMEROPTIONS) -o $@ $<
@@ -35,5 +35,8 @@ all: intro.html
 intro.html: intro.md Makefile
 	pandoc -s $(REVEALOPRIONS) -o $@ $<
 
+variables.html: variables.md Makefile
+	pandoc -s $(REVEALOPRIONS) -o $@ $<
+
 clean:
 	rm -rf intro.html
\ No newline at end of file
diff --git a/variables.md b/variables.md
new file mode 100644
index 0000000000000000000000000000000000000000..abcbb076252ecdbc66aac53c859ac8f9c0c779f9
--- /dev/null
+++ b/variables.md
@@ -0,0 +1,131 @@
+---
+title: Cours de programmation séquentielle
+subtitle: Variables
+author: Orestis Malaspinas
+<!-- date: 25 avril 2018 -->
+sansfont: Sans Serif
+header-includes:
+	<link rel="stylesheet" href="reveal.js/lib/css/zenburn.css" >
+  	<link rel="stylesheet" href="reveal.js/css/theme/simple.css" id="theme">
+  	<link rel="stylesheet" href="css/console.css" id="theme">
+  	<script src="jquery/dist/jquery.min.js"></script>
+include-after:
+	<script src="js/playRust.js"></script>
+	<script src="js/remote-code.js"></script>
+	<script src="js/remote-diagrams.js"></script>
+	<script src="js/em-artiste.js"></script>
+width:
+	1500
+height:
+	1500
+<!-- slide-numbers: true -->
+---
+
+# Les variables
+
+## Lien entre une valeur et un symbole
+
+- Symbole liant un *identifiant* avec une *valeur*.
+- Le *type* de la valeur peut être quelconque.
+- Pour *déclarer* une variable il faut utiliser la forme:
+	
+	`let symbole = valeur`{.rust}.
+
+<pre><code data-trim="hljs rust" class="lang-rust">
+fn main() {
+    let x = 5; // entier 32 bits
+    println!("La valeur de x est: {}", x); // affichage
+
+    let y = "La valeur 5 est liée avec la variable x"; // Chaîne de caractères
+    println!("La valeur de y est: {}", y); // affichage
+}
+</code></pre>
+
+- En rust le type d'une variable est **inféré** (quand c'est possible).
+- Sinon il faut le donner explicitement:
+
+	`let symbole: type = valeur`{.rust}.
+
+<pre><code data-trim="hljs rust" class="lang-rust">
+fn main() {
+    let x: i32 = 5; // entier 32 bits
+    println!("La valeur de x est: {}", x); // affichage
+}
+</code></pre>
+
+## Quelques règles
+
+- Les mot-clés du langage sont interdits pour nommer les variables.
+
+<pre><code data-trim="hljs rust" class="lang-rust">
+fn main() {
+    let if = 7;
+}
+</code></pre>
+
+- Une variable ne peut pas être utilisée si elle n'est pas déclarée.
+
+<pre><code data-trim="hljs rust" class="lang-rust">
+fn main() {
+    println!("La valeur de x est: {}", x); // affichage
+}
+</code></pre>
+
+- On peut déclarer une variable, puis l'initialiser.
+
+<pre><code data-trim="hljs rust" class="lang-rust">
+fn main() {
+    let x; // Déclaration
+    x = 5; // Assignation, on préfère écrire `let x = 5;`
+    println!("La valeur de x est: {}", x); // affichage
+
+    let y = "La valeur 5 est liée avec la variable x"; // Chaîne de caractères
+    println!("La valeur de y est: {}", y); // affichage
+}
+</code></pre>
+
+- On peut explicit
+
+## Mutabilité/**Immutabilité**
+
+- Les variables sont **immutables** par défaut.
+- Une variable immutable **ne peut pas** être modifiée.
+- Si on essaie le compilateur refuser de compiler le programme.
+
+<pre><code data-trim="hljs rust" class="lang-rust">
+fn main() {
+    let x = 5; // 
+    println!("La valeur de x est: {}", x);
+
+    x = 6;
+    println!("La valeur de x est: {}", x);
+}
+</code></pre>
+
+## **Mutiabilité**/Immutabilité
+
+- Pour rendre une variable **mutable** il faut utilise la forme:
+
+ `let mut symbole = valeur`{.rust}.
+
+- Une variable mutable **peut** être modifiée.
+
+<pre><code data-trim="hljs rust" class="lang-rust">
+fn main() {
+    let mut x = 5;
+    println!("La valeur de x est: {}", x);
+
+    x = 6;
+    println!("La valeur de x est: {}", x);
+}
+</code></pre>
+
+## Constantes
+
+- Les variables immutables ressemblent aux *constantes*.
+- On les déclare avec la forme:
+
+`const SYMBOLE: type = valeur;`{.rust}
+
+- Plusieurs différences notables:
+	1. On ne peut pas utiliser `mut`{.rust}
\ No newline at end of file