diff --git a/app/src/main/java/com/example/myhabitat/PiecesActivity.java b/app/src/main/java/com/example/myhabitat/PiecesActivity.java
index 7909a34f0ef73a0e5a0878d1f41d4c1ddda7cb74..dc6320a1ceeac5465a6c368731ecf865ada8e021 100644
--- a/app/src/main/java/com/example/myhabitat/PiecesActivity.java
+++ b/app/src/main/java/com/example/myhabitat/PiecesActivity.java
@@ -2,6 +2,7 @@ package com.example.myhabitat;
 
 import android.content.Intent;
 import android.graphics.Bitmap;
+import android.graphics.BitmapFactory;
 import android.provider.MediaStore;
 import android.text.Editable;
 import android.text.TextWatcher;
@@ -16,13 +17,18 @@ import androidx.activity.result.contract.ActivityResultContracts;
 import androidx.appcompat.app.AppCompatActivity;
 import android.os.Bundle;
 import habitat.*;
+import outils.GestionnaireEditHabitat;
+
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
 
 public class PiecesActivity extends AppCompatActivity {
     private Habitat habitat;
-    private TextView textView;
     private GestionnaireEditHabitat gestionnaire;
     private ActivityResultLauncher<Intent> launcher;
-    private ImageButton photoEnCours;
+    private ImageButton photoEnCours;  //Detecte à quel mur associer la photo en cours
 
 
     @Override
@@ -59,28 +65,24 @@ public class PiecesActivity extends AppCompatActivity {
                             Bitmap photoBitmap = (Bitmap) extras.get("data");
 
                             //On vérifie que la photo a bien été prise
-                            //Toast.makeText(PiecesActivity.this, "hauteur de l'image : " + photoBitmap.getHeight(), Toast.LENGTH_SHORT);
                             Log.i("testPhotoBitmap", "hauteur de l'image : " + photoBitmap.getHeight());
 
-                            gestionnaire.getMur(photoEnCours).setPhoto(photoBitmap);
-                            affichePieces();
-
-                            /*
-                            //On enregistre la photo
-                            FileOutputStream fos = null;
-                            try {
-                                fos = openFileOutput("image.data", MODE_PRIVATE);
-                                photoBitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
-                                fos.flush();
-                                Log.i("MainActivity", "La photo a bien été enregistrée");
-                            } catch (FileNotFoundException e) {
-                                throw new RuntimeException(e);
-                            } catch (IOException e) {
-                                throw new RuntimeException(e);
+                            Mur murAssocie = gestionnaire.getMur(photoEnCours);
+                            if(murAssocie != null){
+                                //On enregistre la photo
+                                FileOutputStream fos = null;
+                                try {
+                                    fos = openFileOutput(murAssocie.getId()+".data", MODE_PRIVATE);
+                                    photoBitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
+                                    fos.flush();
+                                    Log.i("enregistrementPhoto", "La photo " + murAssocie.getId()+".data a bien été enregistrée");
+                                } catch (FileNotFoundException e) {
+                                    throw new RuntimeException(e);
+                                } catch (IOException e) {
+                                    throw new RuntimeException(e);
+                                }
                             }
-
-                             */
-
+                            affichePieces();
                         }
 
                     }
@@ -126,7 +128,22 @@ public class PiecesActivity extends AppCompatActivity {
                 ImageButton imageButton = new ImageButton(this);
                 imageButton.setMaxHeight(50);
                 imageButton.setMaxWidth(50);
-                imageButton.setImageBitmap(mur.getPhoto());
+                //imageButton.setImageBitmap(mur.getPhoto());
+
+                //On récupère la photo
+                FileInputStream fis = null;
+                try {
+                    fis = openFileInput(mur.getId()+".data");
+                } catch (FileNotFoundException e) {
+                    //throw new RuntimeException(e);
+                }
+                if (fis != null) {
+                    Bitmap bm = BitmapFactory.decodeStream(fis);
+
+                    imageButton.setImageBitmap(bm);
+                }
+
+
                 gestionnaire.addEditMur(imageButton, mur);
                 imageButton.setOnClickListener(new View.OnClickListener() {
                     @Override
diff --git a/app/src/main/java/habitat/Mur.java b/app/src/main/java/habitat/Mur.java
index 1fc29a792ddfe4d2e827b743a70750f45913e62b..2adca7bba79669ef2339814472c4a78027c91877 100644
--- a/app/src/main/java/habitat/Mur.java
+++ b/app/src/main/java/habitat/Mur.java
@@ -3,38 +3,32 @@ package habitat;
 import android.graphics.Bitmap;
 import android.os.Parcel;
 import android.os.Parcelable;
+import outils.FabriqueId;
 
 public class Mur implements Parcelable {
 
     private Habitat habitat;
     private Piece piece;
     private Orientation orientation;
-    private Bitmap photo;
-
-    public Bitmap getPhoto() {
-        return photo;
-    }
-
-    public void setPhoto(Bitmap photo) {
-        this.photo = photo;
-    }
+    private int id; //Utile pour stocker la photo associée au mur
 
     public Mur(Piece piece, Habitat habitat) {
         this.habitat = habitat;
         this.piece = piece;
         this.orientation = Orientation.SUD;  //Par défaut
-        photo = null;
+        id = FabriqueId.getInstance().getId();
     }
 
     public Mur(Piece piece, Orientation orientation, Habitat habitat) {
         this.habitat = habitat;
         this.piece = piece;
         this.orientation = orientation;
+        id = FabriqueId.getInstance().getId();
     }
 
     protected Mur(Parcel in) {
         orientation = (Orientation) in.readSerializable();
-        photo = in.readParcelable(Bitmap.class.getClassLoader());
+        id = in.readInt();
     }
 
     public static final Creator<Mur> CREATOR = new Creator<Mur>() {
@@ -73,6 +67,14 @@ public class Mur implements Parcelable {
         this.habitat = habitat;
     }
 
+    public int getId() {
+        return id;
+    }
+
+    public void setId(int id) {
+        this.id = id;
+    }
+
     @Override
     public String toString() {
         StringBuilder sb = new StringBuilder();
@@ -100,6 +102,6 @@ public class Mur implements Parcelable {
     @Override
     public void writeToParcel(Parcel dest, int flags) {
         dest.writeSerializable(orientation);
-        dest.writeParcelable(photo, flags);
+        dest.writeInt(id);
     }
 }
diff --git a/app/src/main/java/outils/FabriqueId.java b/app/src/main/java/outils/FabriqueId.java
new file mode 100644
index 0000000000000000000000000000000000000000..79d1f09bd9acf6d3b9490193aeadf053b3ec12d6
--- /dev/null
+++ b/app/src/main/java/outils/FabriqueId.java
@@ -0,0 +1,23 @@
+package outils;
+
+public class FabriqueId {
+    private int id;
+    private static FabriqueId instance = new FabriqueId();
+
+    public static FabriqueId getInstance(){
+        return instance;
+    }
+
+    private FabriqueId() {
+        id = 0;
+    }
+
+    public int getId() {
+        id++;
+        return id;
+    }
+
+    public void reset(){
+        id = 0;
+    }
+}
diff --git a/app/src/main/java/habitat/GestionnaireEditHabitat.java b/app/src/main/java/outils/GestionnaireEditHabitat.java
similarity index 94%
rename from app/src/main/java/habitat/GestionnaireEditHabitat.java
rename to app/src/main/java/outils/GestionnaireEditHabitat.java
index fc7483f82546d53ecf5c98cf541abf69215ef168..7ded93dfe42e6cab26fa2d3d97ee1e1e34ce0b58 100644
--- a/app/src/main/java/habitat/GestionnaireEditHabitat.java
+++ b/app/src/main/java/outils/GestionnaireEditHabitat.java
@@ -1,7 +1,9 @@
-package habitat;
+package outils;
 
 import android.widget.EditText;
 import android.widget.ImageButton;
+import habitat.Mur;
+import habitat.Piece;
 
 import java.util.HashMap;