diff --git a/README.md b/README.md
index 370f6f76632ec6faee2cc33c7f6e34327d0f0491..6a70d03e35c5e5f151b98e62448c8498a195eff6 100644
--- a/README.md
+++ b/README.md
@@ -25,3 +25,6 @@ Produis le code comme si tu le faisais "en vrai", sauf qu'on se concentre sur le
 
 ### Que faire si j'ai oublié la syntaxe ?
 Pour information, tu as le droit d'utiliser tous les outils que tu veux : Javadoc, Documentation en ligne, StackOverflow, Google... fais en bon usage.
+
+## Prérequis
+Java 11 et Maven.
diff --git a/kanban.jpg b/kanban.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..0d09c33ea0ed001f6cfb42c0bc867f168216c3cf
Binary files /dev/null and b/kanban.jpg differ
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000000000000000000000000000000000000..481f5025f7501d8e574e0c26803e991eb613a178
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<parent>
+		<groupId>org.springframework.boot</groupId>
+		<artifactId>spring-boot-starter-parent</artifactId>
+		<version>2.3.5.RELEASE</version>
+		<relativePath/> <!-- lookup parent from repository -->
+	</parent>
+	<groupId>fr.lille.ippon.recrutement</groupId>
+	<artifactId>kanban-java-spring</artifactId>
+	<version>0.0.1-SNAPSHOT</version>
+	<name>kanban-java-spring</name>
+	<description>Exercice d'implementation d'un kanban</description>
+
+	<properties>
+		<java.version>11</java.version>
+	</properties>
+
+	<dependencies>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-web</artifactId>
+		</dependency>
+
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-devtools</artifactId>
+			<scope>runtime</scope>
+			<optional>true</optional>
+		</dependency>
+		<dependency>
+			<groupId>org.springframework.boot</groupId>
+			<artifactId>spring-boot-starter-test</artifactId>
+			<scope>test</scope>
+			<exclusions>
+				<exclusion>
+					<groupId>org.junit.vintage</groupId>
+					<artifactId>junit-vintage-engine</artifactId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+	</dependencies>
+
+	<build>
+		<plugins>
+			<plugin>
+				<groupId>org.springframework.boot</groupId>
+				<artifactId>spring-boot-maven-plugin</artifactId>
+			</plugin>
+		</plugins>
+	</build>
+
+</project>
diff --git a/src/main/java/fr/lille/ippon/challenge/kanban/KanbanApplication.java b/src/main/java/fr/lille/ippon/challenge/kanban/KanbanApplication.java
new file mode 100644
index 0000000000000000000000000000000000000000..7fafa0a90d45a90f45be54c3b17b0f2aac84a11c
--- /dev/null
+++ b/src/main/java/fr/lille/ippon/challenge/kanban/KanbanApplication.java
@@ -0,0 +1,13 @@
+package fr.lille.ippon.challenge.kanban;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+@SpringBootApplication
+public class KanbanApplication {
+
+	public static void main(String[] args) {
+		SpringApplication.run(KanbanApplication.class, args);
+	}
+
+}
diff --git a/src/main/java/fr/lille/ippon/challenge/kanban/domain/Task.java b/src/main/java/fr/lille/ippon/challenge/kanban/domain/Task.java
new file mode 100644
index 0000000000000000000000000000000000000000..1c7304d90c3db31e62f6ff207c60f5ec578d8085
--- /dev/null
+++ b/src/main/java/fr/lille/ippon/challenge/kanban/domain/Task.java
@@ -0,0 +1,15 @@
+package fr.lille.ippon.challenge.kanban.domain;
+
+public class Task {
+
+    private String title;
+
+    public Task(String title) {
+        this.title = title;
+    }
+
+    public String getTitle() {
+        return title;
+    }
+    
+}
diff --git a/src/main/java/fr/lille/ippon/challenge/kanban/http/api/TaskController.java b/src/main/java/fr/lille/ippon/challenge/kanban/http/api/TaskController.java
new file mode 100644
index 0000000000000000000000000000000000000000..e3a9ede154b36677718bfa9f0f5acfc4167a60ef
--- /dev/null
+++ b/src/main/java/fr/lille/ippon/challenge/kanban/http/api/TaskController.java
@@ -0,0 +1,14 @@
+package fr.lille.ippon.challenge.kanban.http.api;
+
+import java.util.List;
+
+import fr.lille.ippon.challenge.kanban.domain.Task;
+
+public class TaskController {
+
+    public List<Task> getTasks() {
+        // TODO faire fonctionner. Refactorer ?
+        return List.of(new Task("my first task"));
+    }
+    
+}
diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/src/test/java/fr/lille/ippon/challenge/kanban/KanbanApplicationTests.java b/src/test/java/fr/lille/ippon/challenge/kanban/KanbanApplicationTests.java
new file mode 100644
index 0000000000000000000000000000000000000000..175a1160887962a2df151974b175e78e7a10e1bf
--- /dev/null
+++ b/src/test/java/fr/lille/ippon/challenge/kanban/KanbanApplicationTests.java
@@ -0,0 +1,13 @@
+package fr.lille.ippon.challenge.kanban;
+
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.SpringBootTest;
+
+@SpringBootTest
+class KanbanApplicationTests {
+
+	@Test
+	void contextLoads() {
+	}
+
+}