diff --git a/app/src/main/java/com/clemhaowen/dm_td2/task/TaskActivity.kt b/app/src/main/java/com/clemhaowen/dm_td2/task/TaskActivity.kt
index def471eb3933d83d8142a7160689836e71ff7ecb..4164e9007d5e201a2d73dac68e8a55b260a6a29c 100644
--- a/app/src/main/java/com/clemhaowen/dm_td2/task/TaskActivity.kt
+++ b/app/src/main/java/com/clemhaowen/dm_td2/task/TaskActivity.kt
@@ -2,11 +2,30 @@ package com.clemhaowen.dm_td2.task
 
 import androidx.appcompat.app.AppCompatActivity
 import android.os.Bundle
+import android.widget.Button
+import android.widget.EditText
 import com.clemhaowen.dm_td2.R
+import com.clemhaowen.dm_td2.tasklist.Task
+import com.google.android.material.floatingactionbutton.FloatingActionButton
+import java.util.*
 
 class TaskActivity : AppCompatActivity() {
+    companion object {
+        var TASK_KEY = ""
+    }
+
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_task)
+        val createButton = findViewById<Button>(R.id.button)
+        createButton.setOnClickListener{
+            val titleText = findViewById<EditText>(R.id.titleEditText).text
+            val descriptionText = findViewById<EditText>(R.id.descriptionEditText).text
+            val newTask = Task(id = UUID.randomUUID().toString(), title = titleText.toString(), description = descriptionText.toString())
+            intent.putExtra("newTask", newTask)
+            setResult(666, intent)
+            TASK_KEY = "newTask"
+            finish()
+        }
     }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/clemhaowen/dm_td2/tasklist/Task.kt b/app/src/main/java/com/clemhaowen/dm_td2/tasklist/Task.kt
index 320dbd73a95f3b2f1213f270f651f4d52e96619b..217e5ef32730da1ae6cf565b4b562141dcdd4391 100644
--- a/app/src/main/java/com/clemhaowen/dm_td2/tasklist/Task.kt
+++ b/app/src/main/java/com/clemhaowen/dm_td2/tasklist/Task.kt
@@ -1,7 +1,9 @@
 package com.clemhaowen.dm_td2.tasklist
 
-data class Task(
-    var id:String = "id",
-    var title:String = "Task",
-    var description:String = "description"
-)
\ No newline at end of file
+import java.io.Serializable
+
+data class Task (
+    var id: String = "id",
+    var title: String = "Task",
+    var description: String = "description"
+) : Serializable
\ No newline at end of file
diff --git a/app/src/main/java/com/clemhaowen/dm_td2/tasklist/TaskAdapter.kt b/app/src/main/java/com/clemhaowen/dm_td2/tasklist/TaskAdapter.kt
index e1edfbba2cdabe99997a456cde86eb2fb381b70a..7f7e3c9bc4573efd19ab9869112bde766ac0aa62 100644
--- a/app/src/main/java/com/clemhaowen/dm_td2/tasklist/TaskAdapter.kt
+++ b/app/src/main/java/com/clemhaowen/dm_td2/tasklist/TaskAdapter.kt
@@ -9,9 +9,9 @@ import android.widget.TextView
 import androidx.recyclerview.widget.RecyclerView
 import com.clemhaowen.dm_td2.R
 
-class TaskListAdapter(private val taskList: List<String>) : RecyclerView.Adapter<TaskListAdapter.TaskViewHolder>() {
+class TaskListAdapter(private val taskList: List<Task>) : RecyclerView.Adapter<TaskListAdapter.TaskViewHolder>() {
 
-    var onDeleteClickListener: ((String) -> Unit)? = null
+    var onDeleteClickListener: ((Task) -> Unit)? = null
 
     override fun getItemCount(): Int = taskList.size
 
@@ -24,10 +24,12 @@ class TaskListAdapter(private val taskList: List<String>) : RecyclerView.Adapter
     override fun onBindViewHolder(holder: TaskViewHolder, position: Int) = holder.bind(taskList[position])
 
     inner class TaskViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
-        fun bind(taskTitle: String) {
+        fun bind(taskTitle: Task) {
             itemView.apply {
-                val textView = findViewById<TextView>(R.id.task_title)
-                textView.text = taskTitle
+                val titleTextView = findViewById<TextView>(R.id.task_title)
+                titleTextView.text = taskTitle.title
+                val descriptionTextView = findViewById<TextView>(R.id.task_description)
+                descriptionTextView.text = taskTitle.description
                 val deleteButton = findViewById<ImageButton>(R.id.delete_task)
                 deleteButton.setOnClickListener {
                 onDeleteClickListener?.invoke(taskTitle)}
diff --git a/app/src/main/java/com/clemhaowen/dm_td2/tasklist/TaskListFragment.kt b/app/src/main/java/com/clemhaowen/dm_td2/tasklist/TaskListFragment.kt
index 0a480244331a2d37e43c4834ae6bb1b7b3204885..bf884d0bd7907e9007736e258f942382a189f3c2 100644
--- a/app/src/main/java/com/clemhaowen/dm_td2/tasklist/TaskListFragment.kt
+++ b/app/src/main/java/com/clemhaowen/dm_td2/tasklist/TaskListFragment.kt
@@ -1,23 +1,32 @@
 package com.clemhaowen.dm_td2.tasklist
 
+import android.content.Intent
 import android.os.Bundle
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import android.widget.ImageButton
 import androidx.fragment.app.Fragment
 import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
 import com.clemhaowen.dm_td2.R
+import com.clemhaowen.dm_td2.task.TaskActivity
+import com.google.android.material.floatingactionbutton.FloatingActionButton
+import java.util.*
 
 class TaskListFragment : Fragment() {
 
-    private var taskList = mutableListOf("Task 1", "Task 2", "Task 3")
+    //private var taskList = mutableListOf("Task 1", "Task 2", "Task 3")
     // TODO uncomment when Task is implemented
-    /*private val taskList = listOf(
+    private val taskList = mutableListOf(
         Task(id = "id_1", title = "Task 1", description = "description 1"),
         Task(id = "id_2", title = "Task 2"),
         Task(id = "id_3", title = "Task 3")
-    )*/
+    )
+
+    companion object {
+        const val ADD_TASK_REQUEST_CODE = 666
+    }
 
     override fun onCreateView(
         inflater: LayoutInflater,
@@ -37,7 +46,20 @@ class TaskListFragment : Fragment() {
             taskList.remove(task)
             (recyclerView?.adapter as TaskListAdapter).notifyDataSetChanged()
         }
+        val createButton = view?.findViewById<FloatingActionButton>(R.id.floatingActionButton)
+        createButton.setOnClickListener {
+            val intent = Intent(activity, TaskActivity::class.java)
+            startActivityForResult(intent, ADD_TASK_REQUEST_CODE)
+            //taskList.add(Task(id = UUID.randomUUID().toString(), title = "Task ${taskList.size + 1}"))
+            (recyclerView?.adapter as TaskListAdapter).notifyDataSetChanged()
+        }
+
         // En utilisant les synthetics, on écrit juste l'id directement (c'est magique ✨):
         //R.id.fragment_tasklist_recyclerView.layoutManager = LinearLayoutManager(activity) // ça marche pas
     }
+
+    override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+        val task = data!!.getSerializableExtra(TaskActivity.TASK_KEY) as Task
+        taskList.add(task)
+    }
 }
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_task.xml b/app/src/main/res/layout/activity_task.xml
index 378b76ed590e371b6e12abe40806055122387d2c..121440d9eb12c4f52a8878fe8495ef05722a2d2d 100644
--- a/app/src/main/res/layout/activity_task.xml
+++ b/app/src/main/res/layout/activity_task.xml
@@ -14,7 +14,7 @@
         app:layout_constraintTop_toTopOf="parent">
 
         <EditText
-            android:id="@+id/editTextTextPersonName"
+            android:id="@+id/titleEditText"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:ems="10"
@@ -23,7 +23,7 @@
             tools:text="@android:string/unknownName" />
 
         <EditText
-            android:id="@+id/editTextTextMultiLine"
+            android:id="@+id/descriptionEditText"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:ems="10"
diff --git a/app/src/main/res/layout/item_task.xml b/app/src/main/res/layout/item_task.xml
index 85325a5512868e389def96560477e649bfa16c46..436d757e55ca8591566716338db666536466c680 100644
--- a/app/src/main/res/layout/item_task.xml
+++ b/app/src/main/res/layout/item_task.xml
@@ -12,10 +12,31 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content" />
 
-    <ImageButton
-        android:id="@+id/delete_task"
+    <TextView
+        android:id="@+id/task_description"
+        android:background="@android:color/holo_blue_bright"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content" />
+
+    <LinearLayout
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:contentDescription="@android:string/unknownName"
-        app:srcCompat="@android:drawable/ic_menu_delete" />
+        android:layout_height="match_parent"
+        android:orientation="horizontal">
+
+        <ImageButton
+            android:id="@+id/editButton"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            app:srcCompat="@android:drawable/ic_menu_edit" />
+
+        <ImageButton
+            android:id="@+id/delete_task"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:contentDescription="@android:string/unknownName"
+            app:srcCompat="@android:drawable/ic_menu_delete" />
+    </LinearLayout>
+
 </LinearLayout>
\ No newline at end of file