diff --git a/types_avances.md b/types_avances.md
new file mode 100644
index 0000000000000000000000000000000000000000..b6a65f1a8c1097d377ff1b431ca72ac754482243
--- /dev/null
+++ b/types_avances.md
@@ -0,0 +1,64 @@
+---
+title: Cours de programmation séquentielle
+subtitle: Types avancés
+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> -->
+    <!-- <script src="reveal.js/lib/js/classList.js"></script> -->
+    <!-- <script src="reveal.js/plugin/zoom-js/zoom.js"></script> -->
+    <!-- <script src="reveal.js/plugin/highlight/highlight.js"></script> -->
+    <!-- <script src="js/remote-diagrams.js"></script> -->
+    <!-- <script src="reveal.js/plugin/notes/notes.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> -->
+<!-- slide-numbers: true -->
+---
+
+# $N$-uplets
+
+## `Tuples`{.rust}
+
+- Un $n-$tuplet est une *collection* ordonnée de $n$ objets.
+- Permet de regrouper plusieurs valeurs avec différents types dans un type composé.
+
+    <pre><code data-trim="hljs rust" class="lang-rust">
+    fn main() {
+        let tuple: (f64, char, usize) = (1.0, 'c', 18usize); // type pas nécessaire
+
+        println!("Un tuple {:?}", tuple); // affichage Debug
+
+        let sans_type_tuple = (666, "abcdef"); // type inféré
+
+        println!("Un autre tuple {:?}", sans_type_tuple); // affichage Debug
+  }
+    </code></pre>
+
+## Destructuration
+
+
+ 
+# Vecteurs statiques
+
+## Array{.rust}
+
+# Vecteurs dynamiques
+
+## Vec{.rust}
+
+# Structures
+
+## `Struct`{.rust}
+
+- Une structure est un type 
+
+# Types énumérés
+
+## `Enum`{.rust}