diff --git a/app/src/main/java/com/example/myhabitat/CreationOuvertureActivity.java b/app/src/main/java/com/example/myhabitat/CreationOuvertureActivity.java
index b83dbe86551ee5a1382e267c32b972b224046e82..cafdad0290c2d8a36fc7f34cd812577e34123c2d 100644
--- a/app/src/main/java/com/example/myhabitat/CreationOuvertureActivity.java
+++ b/app/src/main/java/com/example/myhabitat/CreationOuvertureActivity.java
@@ -1,15 +1,12 @@
 package com.example.myhabitat;
 
 import android.content.Intent;
-import android.graphics.Bitmap;
-import android.graphics.BitmapFactory;
-import android.graphics.drawable.Drawable;
+import android.graphics.*;
 import android.util.Log;
+import android.view.MotionEvent;
+import android.view.SurfaceView;
 import android.view.View;
-import android.widget.AdapterView;
-import android.widget.ArrayAdapter;
-import android.widget.ImageView;
-import android.widget.Spinner;
+import android.widget.*;
 import androidx.appcompat.app.AppCompatActivity;
 import android.os.Bundle;
 import habitat.Habitat;
@@ -19,17 +16,20 @@ import habitat.Piece;
 
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
-import java.lang.reflect.Array;
 
 public class CreationOuvertureActivity extends AppCompatActivity{
 
     private Habitat habitat;
     private ImageView imageViewDepart;
-    private ImageView imageViewArrivee;
     private Piece pieceDepart;
     private Piece pieceArrivee;
+    private Piece pieceEnCours;
     private Orientation orientationPieceDepart;
     private Orientation orientationPieceArrivee;
+    private Paint myPaint;
+    private Canvas canvasDepart;
+    private Rect rectDepart;
+    private Rect rectArrivee;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -47,7 +47,13 @@ public class CreationOuvertureActivity extends AppCompatActivity{
         }
 
         imageViewDepart = findViewById(R.id.imageViewDepart);
-        imageViewArrivee = findViewById(R.id.imageViewArrivee);
+
+        myPaint = new Paint();
+        myPaint.setStrokeWidth(5);
+        myPaint.setColor(Color.BLUE);
+        myPaint.setStyle(Paint.Style.STROKE);
+
+        setSurfaceForSelect();
 
         Spinner spinnerD = findViewById(R.id.spinnerDepart);
         Spinner spinnerDOrientation = findViewById(R.id.spinnerDOrientation);
@@ -75,7 +81,6 @@ public class CreationOuvertureActivity extends AppCompatActivity{
             @Override
             public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                 pieceDepart = habitat.getPieces().get(position);
-                affichePieceDepart();
             }
 
             @Override
@@ -104,7 +109,6 @@ public class CreationOuvertureActivity extends AppCompatActivity{
                         orientationPieceDepart = Orientation.SUD;
                         break;
                 }
-                affichePieceDepart();
             }
 
             @Override
@@ -118,7 +122,6 @@ public class CreationOuvertureActivity extends AppCompatActivity{
             @Override
             public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                 pieceArrivee = habitat.getPieces().get(position);
-                affichePieceArrivee();
             }
 
             @Override
@@ -147,7 +150,6 @@ public class CreationOuvertureActivity extends AppCompatActivity{
                         orientationPieceArrivee = Orientation.SUD;
                         break;
                 }
-                affichePieceArrivee();
             }
 
             @Override
@@ -157,6 +159,58 @@ public class CreationOuvertureActivity extends AppCompatActivity{
         });
     }
 
+    private void setSurfaceForSelect() {
+        SurfaceView surfaceViewDepart = findViewById(R.id.surfaceViewDepart);
+        surfaceViewDepart.setZOrderOnTop(true);
+        surfaceViewDepart.getHolder().setFormat(PixelFormat.TRANSPARENT);
+        canvasDepart = surfaceViewDepart.getHolder().lockCanvas();
+
+        imageViewDepart.setOnTouchListener(new View.OnTouchListener() {
+            @Override
+            public boolean onTouch(View v, MotionEvent event) {
+                if (event.getPointerCount() == 2) {
+                    float x1, x2, y1, y2;
+                    x1 = event.getX(0);
+                    y1 = event.getY(0);
+                    x2 = event.getX(1);
+                    y2 = event.getY(1);
+                    Log.i("SelectActivity", "################################################# Coords : " + x1 + " | " + y1 + "  &  " + x2 + " | " + y2);
+
+                    rectDepart = new Rect((int) x1, (int) y1, (int) x2, (int) y2);
+                    rectDepart.sort();
+
+                    try {
+                        canvasDepart = surfaceViewDepart.getHolder().lockCanvas();
+                        synchronized (surfaceViewDepart.getHolder()) {
+                            canvasDepart.drawColor(0, PorterDuff.Mode.CLEAR);
+                            canvasDepart.drawRect(rectDepart, myPaint);
+                        }
+                    } catch (Exception e) {
+                        e.printStackTrace();
+                    } finally {
+                        if (canvasDepart != null) {
+                            surfaceViewDepart.getHolder().unlockCanvasAndPost(canvasDepart);
+                        }
+                    }
+
+
+                    //Log.i("SelectActivity", "################################################# Coords Rect : " + rect.left + " | " + rect.top + "  &  " + rect.right + " | " + rect.bottom);
+
+                }
+                if (event.getAction() == MotionEvent.ACTION_UP) {
+                    if (rectDepart != null) {
+                        Log.i("Touchup", "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ je releve mon doigt");
+
+                        //showImage();
+
+                    }
+                }
+
+                return true;
+            }
+        });
+    }
+
 
     public void affichePieceDepart(){
         if(pieceDepart != null && orientationPieceDepart != null){
@@ -174,6 +228,12 @@ public class CreationOuvertureActivity extends AppCompatActivity{
             }else{
                 imageViewDepart.setImageDrawable(getDrawable(R.drawable.imagemur));
             }
+            imageViewDepart.setOnClickListener(new View.OnClickListener() {
+                @Override
+                public void onClick(View v) {
+
+                }
+            });
         }
     }
 
@@ -190,11 +250,20 @@ public class CreationOuvertureActivity extends AppCompatActivity{
             if (fis != null) {
                 Bitmap bm = BitmapFactory.decodeStream(fis);
 
-                imageViewArrivee.setImageBitmap(bm);
+                imageViewDepart.setImageBitmap(bm);
             }else{
-                imageViewArrivee.setImageDrawable(getDrawable(R.drawable.imagemur));
+                imageViewDepart.setImageDrawable(getDrawable(R.drawable.imagemur));
             }
         }
     }
 
+    public void setSDepart(View view) {
+        pieceEnCours = pieceDepart;
+        affichePieceDepart();
+    }
+
+    public void setSArrivee(View view) {
+        pieceEnCours = pieceArrivee;
+        affichePieceArrivee();
+    }
 }
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_creation_ouverture.xml b/app/src/main/res/layout/activity_creation_ouverture.xml
index 85397c2d040bb0b8cabe9d840cf6489215406ce3..e0ef718903a16004ea041900c88f7f91357aa353 100644
--- a/app/src/main/res/layout/activity_creation_ouverture.xml
+++ b/app/src/main/res/layout/activity_creation_ouverture.xml
@@ -1,35 +1,23 @@
 <?xml version="1.0" encoding="utf-8"?>
+
 <androidx.constraintlayout.widget.ConstraintLayout
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:tools="http://schemas.android.com/tools"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    tools:context=".CreationOuvertureActivity">
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        xmlns:tools="http://schemas.android.com/tools"
+        xmlns:app="http://schemas.android.com/apk/res-auto"
+        tools:context=".CreationOuvertureActivity"
+        xmlns:android="http://schemas.android.com/apk/res/android">
 
-    <ImageView
-            android:layout_width="186dp"
-            android:layout_height="187dp"
-            app:srcCompat="@drawable/imagemur"
-            android:id="@+id/imageViewArrivee"
-            app:layout_constraintBottom_toBottomOf="parent"
-            app:layout_constraintEnd_toEndOf="parent"
-            app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintHorizontal_bias="0.502"
-            android:layout_marginBottom="32dp"/>
 
     <ImageView
-            android:layout_width="186dp"
-            android:layout_height="187dp"
+            android:layout_width="414dp"
+            android:layout_height="355dp"
             app:srcCompat="@drawable/imagemur"
             android:id="@+id/imageViewDepart"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintStart_toStartOf="parent"
-            app:layout_constraintTop_toBottomOf="@+id/spinnerAOrientation"
-            android:layout_marginTop="60dp"
-            app:layout_constraintHorizontal_bias="0.502"
-            app:layout_constraintBottom_toTopOf="@+id/imageViewArrivee"
-            app:layout_constraintVertical_bias="0.0"/>
+            app:layout_constraintTop_toBottomOf="@+id/buttonSArrivee"
+            />
 
     <Spinner
             android:layout_width="130dp"
@@ -112,9 +100,42 @@
             android:layout_height="33dp"
             android:id="@+id/spinnerDOrientation"
             app:layout_constraintTop_toBottomOf="@+id/textView3"
-            android:layout_marginTop="16dp"
+            android:layout_marginTop="20dp"
             app:layout_constraintStart_toStartOf="parent"
             app:layout_constraintEnd_toEndOf="parent"
             app:layout_constraintHorizontal_bias="0.097"/>
 
+    <SurfaceView
+            android:layout_width="414dp"
+            android:layout_height="355dp"
+            android:id="@+id/surfaceViewDepart"
+            app:layout_constraintEnd_toEndOf="@+id/imageViewDepart"
+            app:layout_constraintStart_toStartOf="@+id/imageViewDepart"
+            app:layout_constraintTop_toTopOf="@+id/imageViewDepart"
+            android:layout_marginTop="0dp"
+            app:layout_constraintHorizontal_bias="0.0"/>
+
+    <Button
+            android:text="Selectionner"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:id="@+id/buttonSDepart"
+            android:onClick="setSDepart"
+            app:layout_constraintTop_toBottomOf="@+id/spinnerDOrientation"
+            app:layout_constraintEnd_toStartOf="@+id/buttonSArrivee"
+            app:layout_constraintStart_toStartOf="parent"
+            android:layout_marginTop="16dp"
+            app:layout_constraintHorizontal_bias="0.419"/>
+
+    <Button
+            android:text="Selectionner"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:id="@+id/buttonSArrivee"
+            android:onClick="setSArrivee"
+            app:layout_constraintTop_toBottomOf="@+id/spinnerAOrientation"
+            app:layout_constraintEnd_toEndOf="parent"
+            android:layout_marginEnd="40dp"
+            android:layout_marginTop="16dp"/>
+
 </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file