diff --git a/lab3/README.md b/lab3/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..1fea874343570f6dfb37ba2047cfd74268bd1b8a
--- /dev/null
+++ b/lab3/README.md
@@ -0,0 +1,29 @@
+# Lab3 IHM
+
+This folder contains a template for the **lab3** of IHM course. 
+
+---
+
+* Execute this command line : `git pull base master` under your local repository where you did the **lab1** and **lab2**
+
+  > Before doing so, check that you have defined this repository as a second remote repo by executing this command line:
+  >
+  > ```shell
+  > git remote -v
+  > ```
+  >
+  > You should see this line in the output:
+  >
+  > ```
+  > base ssh://git@ssh.hesge.ch:10572/cours-ihm/labs_ihm_2019_preparation.git
+  > ```
+  >
+  > Otherwise, execute this command line: 
+  >
+  > ```bash
+  > git remote add base ssh://git@ssh.hesge.ch:10572/cours-ihm/labs_ihm_2019.git
+  > ```
+
+* Put your code in the `lab3/src` folder, by modifying content of `lab3.html` and `lab3.js` files, and adding your additional files.
+
+***Your main `html` file must be `lab3.html`***
\ No newline at end of file
diff --git a/lab3/doc/enonce.pdf b/lab3/doc/enonce.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..0c6867efa22805ae53556dc83056aafa75a8cfcb
Binary files /dev/null and b/lab3/doc/enonce.pdf differ
diff --git a/lab3/src/lab3.html b/lab3/src/lab3.html
new file mode 100644
index 0000000000000000000000000000000000000000..025912edd89308c152c714ec7e4bf410a8b1737e
--- /dev/null
+++ b/lab3/src/lab3.html
@@ -0,0 +1,4 @@
+<!DOCTYPE html>
+<html>
+
+</html>
diff --git a/lab3/src/lab3.js b/lab3/src/lab3.js
new file mode 100644
index 0000000000000000000000000000000000000000..ac563915ce1bd919bb27a7d35c107070caf0c146
--- /dev/null
+++ b/lab3/src/lab3.js
@@ -0,0 +1,9 @@
+// TODO: Shaders definition
+
+/**
+ * This is the main entry point of your JavaScript program
+ * called in the "onload" event of the body tag in HTML
+ */
+function main() {
+	// TODO: put your implementation here
+}