diff --git a/MAVENProject/src/main/java/jeu/Jeu.java b/MAVENProject/src/main/java/jeu/Jeu.java
index 4bbf80ca4c43e48c73d63e8b643a6fcc5ecd8cbf..0dd4ca9296383d3ecf9e1e353860df8d0c57690b 100644
--- a/MAVENProject/src/main/java/jeu/Jeu.java
+++ b/MAVENProject/src/main/java/jeu/Jeu.java
@@ -23,6 +23,7 @@ import map.Coffre;
 import map.LevelManager;
 
 
+
 public class Jeu implements Game{
 
     //coordonnees du sol
@@ -62,8 +63,13 @@ public class Jeu implements Game{
     //liste des coeurs drop par les monstres
     private static List<Hearth> hearthList = new ArrayList<>();
 
-        //le sol
-    public static Obstacle sol = new Obstacle(new HitBox(new Coordonnees(200,1088),1,1000000));
+    //Sol du niveau 1 :
+
+    //public static Obstacle sol = new Obstacle(new HitBox(new Coordonnees(200,1216),1,1000000));
+
+    //Sol du niveau 2 :
+
+    public static Obstacle sol = new Obstacle(new HitBox(new Coordonnees(200,1664),1,1000000));
 
     public static List<Obstacle> obstacleTable = new ArrayList<>();
     private static List<Monster> monsterList = new ArrayList<>();
@@ -72,8 +78,14 @@ public class Jeu implements Game{
 
     public final static int TILES_DEFAULT_SIZE=32;
     public final static float SCALE=1.0f;
-    public final static int TILES_IN_WIDTH = 132;
-    public final static int TILES_IN_HEIGHT = 42;
+    //Taille fenêtre niveau 1 :
+
+    //public final static int TILES_IN_WIDTH = 132;
+    //public final static int TILES_IN_HEIGHT = 46;
+    //Taille fenêtre niveau 2 :
+    public final static int TILES_IN_WIDTH = 152;
+    public final static int TILES_IN_HEIGHT = 60;
+
     public final static int TILES_SIZE = (int) (TILES_DEFAULT_SIZE*SCALE);
     private static final LevelManager levelManager = new LevelManager();
     ;
diff --git a/MAVENProject/src/main/java/loaders/LoadSave.java b/MAVENProject/src/main/java/loaders/LoadSave.java
index 14d817d926161c9d92268c7e887a85adad69fef6..336a422efe46c0bdc6190a5a4dbe3d834484cdda 100644
--- a/MAVENProject/src/main/java/loaders/LoadSave.java
+++ b/MAVENProject/src/main/java/loaders/LoadSave.java
@@ -13,9 +13,10 @@ public class LoadSave {
 
 
 	//Association des differents sprites des blocs
-	public static final String LEVEL_SPRITES = "Obstacles/Sprites_map.png";
+	public static final String LEVEL_SPRITES = "Obstacles/Sprites_map_1_2.png";
 	//Map composee de pixels
 	public static final String LEVEL_ONE = "Obstacles/level_one_pixels.png";
+	public static final String LEVEL_TWO = "Obstacles/level_two_pixels.png";
 
 	public static BufferedImage GetSpriteAtlas(String fileName) {
 		BufferedImage img = null;
@@ -35,61 +36,92 @@ public class LoadSave {
 		return img;
 	}
 	//Prend en compte la valeur de la composante rouge des pixels ce qui permet de differencier les blocs
-	public static int[][] GetLevelData() {
+	public static int[][] GetLevelData(String Level) {
 		int[][] lvlData = new int[Jeu.TILES_IN_HEIGHT][Jeu.TILES_IN_WIDTH];
-		BufferedImage img = GetSpriteAtlas(LEVEL_ONE);
+		BufferedImage img = GetSpriteAtlas(Level);
 
 		for (int j = 0; j < img.getHeight(); j++)
 			for (int i = 0; i < img.getWidth(); i++) {
 				Color color = new Color(img.getRGB(i, j));
 				int value = color.getRed();
+				int copyValue=value;
 				//longs blocs de 17 de hauteur
-				if (0<=value && value <= 10)
-					value = 0;
+				if (0<=value && value <= 5)
+					copyValue = 20;
 				//Blocs de 3 pixels de hauteur
-				if (11<=value && value <= 30)
-					value = 1;
+				if (6<=value && value <= 15)
+					copyValue = 21;
 				//Blocs de 2 de hauteur
-				if (31<=value && value <= 50)
-					value = 2;
+				if (16<=value && value <= 25)
+					copyValue = 22;
 				//bloc de 2 de longueur
-				if (51<=value && value <= 70)
-					value = 3;
+				if (26<=value && value <= 35)
+					copyValue = 23;
 				//Bloc de 3 de longeur
-				if (71<=value && value <= 90)
-					value = 5;
+				if (36<=value && value <= 45)
+					copyValue = 25;
 				//Long bloc de 7 de longueur
-				if (91<=value && value <= 110)
-					value = 41;
-				//Espaces vides
-				if (111<=value && value <= 130)
-					value = 25;
+				if (300<=value && value <= 305)
+					value = 101;
+
 				//Coffres
-				if (131<=value && value <= 150)
-					value = 13;
+				if (56<=value && value <= 65)
+					copyValue = 43;
+				//Espaces vides
+				if (66<=value && value <= 75)
+					copyValue = 62;
 				//MOnstres à pied
-				if (151<=value && value <= 170)
-					value = 15;
+				if (76<=value && value <= 85)
+					copyValue = 45;
 				//Bat
-				if (171<=value && value <= 190)
-					value = 16;
+				if (86<=value && value <= 95) {
+					copyValue = 46;
+					System.out.println(i);
+				}
 				//Boss
-				if (191<=value && value <= 210)
-					value = 17;
+				if (96<=value && value <= 105)
+					copyValue = 47;
 				//Porte du boss
-				if (211<=value && value <= 225)
-					value = 14;
+				if (106<=value && value <= 115)
+					copyValue = 44;
 				//Terre horizontale de 7 de longueur
-				if (226<=value && value <= 235)
-					value = 51;
+				if (226<=value && value <= 235) {
+					copyValue = 121;
+					System.out.println("terre");
+				}
 				//Terre verticale de 6 de hauteur
 				if (236<=value && value <= 245)
-					value = 8;
+					copyValue = 28;
+
 				//Terre verticale de 20 de hauteur
-				if (246<=value && value <= 252)
-					value = 9;
+				if (46<=value && value <= 55) {
+					copyValue = 29;
+					System.out.println(i);
+
+				}
+
+				//Spécifique au niveau 2 :
+
+				//bloc de 20 de longueur
+				if (116<=value && value <= 125)
+					copyValue = 0;
+				//bloc de 9 de longueur
+				if (126<=value && value <= 135)
+					copyValue = 30;
+				//Bloc de 5 de hauteur
+				if (136<=value && value <= 145)
+					copyValue = 52;
+				//Bloc de 9 de hauteur
+				if (146<=value && value <= 155)
+					copyValue = 51;
+				//Bloc de 12 de hauteur
+				if (156<=value && value <= 165)
+					copyValue = 50;
 				//Liste des valeurs
-				lvlData[j][i] = value;
+				lvlData[j][i] = copyValue;
+				if (lvlData[j][i]==121){
+					System.out.println("terre cree");
+				}
 			}
 		return lvlData;
 
diff --git a/MAVENProject/src/main/java/map/LevelManager.java b/MAVENProject/src/main/java/map/LevelManager.java
index 79296bd18c37af1abd36a5fe51f4eaa1cdd7e04b..d9fdb3b65987e28e076569adcbc8c81a3f5de88c 100644
--- a/MAVENProject/src/main/java/map/LevelManager.java
+++ b/MAVENProject/src/main/java/map/LevelManager.java
@@ -19,40 +19,55 @@ public class LevelManager {
 
 	private BufferedImage[] levelSprite;
 	private Level levelOne;
+	private Level levelTwo;
 	private List<BufferedImage> obstacleImage = new ArrayList<>();
 
 	public LevelManager() {
 		importOutsideSprites();
-		levelOne = new Level(LoadSave.GetLevelData());
+		levelOne = new Level(LoadSave.GetLevelData(LoadSave.LEVEL_TWO));
+		//levelTwo = new Level(LoadSave.GetLevelData(LoadSave.LEVEL_TWO));
 	}
 
 	private BufferedImage[] importOutsideSprites() {
 		BufferedImage img = LoadSave.GetSpriteAtlas(LoadSave.LEVEL_SPRITES);
-		levelSprite = new BufferedImage[11];
+		levelSprite = new BufferedImage[16];
 
 		//Pour les sprites de chaque bloc
 		//longs blocs de 17 de hauteur
-		levelSprite[0] = img.getSubimage(0, 0, 32, 544);
+		levelSprite[0] = img.getSubimage(0, 32, 32, 544);
 		//Blocs de 3 pixels de hauteur
-		levelSprite[1] = img.getSubimage( 32,  0, 32, 96);
+		levelSprite[1] = img.getSubimage( 32,  32, 32, 96);
 		//Blocs de 2 de hauteur
-		levelSprite[2] = img.getSubimage(2 * 32, 0, 32, 64);
+		levelSprite[2] = img.getSubimage(2 * 32, 32, 32, 64);
 		//bloc de 2 de longueur
-		levelSprite[3] = img.getSubimage(3 * 32, 0, 64, 32);
+		levelSprite[3] = img.getSubimage(3 * 32, 32, 64, 32);
 		//Bloc de 3 de longeur
-		levelSprite[4] = img.getSubimage(5 * 32, 0, 96, 32);
+		levelSprite[4] = img.getSubimage(5 * 32, 32, 96, 32);
 		//Coffres
-		levelSprite[5] = img.getSubimage(3 * 32, 32, 32, 32);
+		levelSprite[5] = img.getSubimage(3 * 32, 2 * 32, 32, 32);
 		//Long bloc de 7 de longueur
-		levelSprite[6] = img.getSubimage(32, 4 * 32, 224, 32);
+		//levelSprite[6] = img.getSubimage(32, 5 * 32, 224, 32);
 		//Porte du boss
-		levelSprite[7] = img.getSubimage(4 * 32, 32, 32, 96);
+		levelSprite[7] = img.getSubimage(4 * 32, 2 * 32, 32, 96);
 		//Terre verticale de 6 de hauteur
-		levelSprite[8] = img.getSubimage(8 * 32, 0, 32, 192);
+		levelSprite[8] = img.getSubimage(8 * 32, 32, 32, 192);
 		//Terre horizontale de 7 de longueur
-		levelSprite[9] = img.getSubimage(32, 5 * 32, 224, 32);
+		levelSprite[9] = img.getSubimage(32, 6 * 32, 224, 32);
 		//longs blocs de 20 de hauteur
-		levelSprite[10] = img.getSubimage(9 * 32, 0, 32, 640);
+		levelSprite[10] = img.getSubimage(9 * 32, 32, 32, 640);
+
+		//Specifique au niveau 2 :
+
+		//bloc de 20 de longueur
+		levelSprite[11] = img.getSubimage(0, 0, 640, 32);
+		//bloc de 9 de longueur
+		levelSprite[12] = img.getSubimage(10 * 32, 32, 288, 32);
+		//Bloc de 5 de hauteur
+		levelSprite[13] = img.getSubimage(12 * 32, 2 *32, 32, 160);
+		//Bloc de 9 de hauteur
+		levelSprite[14] = img.getSubimage(11 * 32, 2 * 32, 32, 288);
+		//Bloc de 12 de hauteur
+		levelSprite[15] = img.getSubimage(10 * 32, 2 * 32, 32, 384);
 		/*for (int j = 0; j < 2; j++)
 			for (int i = 0; i < 9; i++) {
 				int index = j * 9 + i;
@@ -72,54 +87,83 @@ public class LevelManager {
 
 				//Index selon la couleur associée au bloc
 				//longs blocs de 17 de hauteur
-				if (index==0) {
+				if (index==20) {
 					obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-17*Jeu.TILES_SIZE/2), 17*Jeu.TILES_SIZE, 1*Jeu.TILES_SIZE)));
 					obstacleImage.add(tabImages[0]);
 				}
 				//Blocs de 3 pixels de hauteur
-				if (index==1) {
+				if (index==21) {
 					obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-3*Jeu.TILES_SIZE/2), 3*Jeu.TILES_SIZE, 1*Jeu.TILES_SIZE)));
 					obstacleImage.add(tabImages[1]);
 				}
 				//Blocs de 2 de hauteur
-				if (index==2) {
+				if (index==22) {
 					obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-2*Jeu.TILES_SIZE/2), 2*Jeu.TILES_SIZE, 1*Jeu.TILES_SIZE)));
 					obstacleImage.add(tabImages[2]);
 				}
 				//bloc de 2 de longueur
-				if (index==3) {
+				if (index==23) {
 					obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+2*Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-Jeu.TILES_SIZE/2), 1*Jeu.TILES_SIZE, 2*Jeu.TILES_SIZE)));
 					obstacleImage.add(tabImages[3]);
 				}
 				//Bloc de 3 de longeur
-				if (index==5) {
+				if (index==25) {
 					obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+3*Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-Jeu.TILES_SIZE/2), 1*Jeu.TILES_SIZE, 3*Jeu.TILES_SIZE)));
 					obstacleImage.add(tabImages[4]);
 				}
 				//Porte du boss
-				if (index==14) {
+				if (index==44) {
 					obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+1*Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-3*Jeu.TILES_SIZE/2), 3*Jeu.TILES_SIZE, 1*Jeu.TILES_SIZE)));
 					obstacleImage.add(tabImages[7]);
 				}
 				//Terre verticale de 6 de hauteur
-				if (index==8) {
+				if (index==28) {
 					obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+1*Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-6*Jeu.TILES_SIZE/2), 6*Jeu.TILES_SIZE, 1*Jeu.TILES_SIZE)));
 					obstacleImage.add(tabImages[8]);
 				}
 				//Terre horizontale de 7 de longueur
-				if (index==51) {
+				if (index==121) {
 					obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+7*Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-1*Jeu.TILES_SIZE/2), 1*Jeu.TILES_SIZE, 7*Jeu.TILES_SIZE)));
 					obstacleImage.add(tabImages[9]);
 				}
 				//Long bloc de 7 de longueur
-				if (index==41) {
+				if (index==101) {
 					obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+7*Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-Jeu.TILES_SIZE/2), 1*Jeu.TILES_SIZE, 7*Jeu.TILES_SIZE)));
 					obstacleImage.add(tabImages[6]);
 				}
 				//longs blocs de 20 de hauteur
-				if (index==9) {
+				if (index==29) {
 					obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-20*Jeu.TILES_SIZE/2), 20*Jeu.TILES_SIZE, 1*Jeu.TILES_SIZE)));
 					obstacleImage.add(tabImages[10]);
+					System.out.println(i);
+				}
+
+				//Specifique au niveau 2 :
+
+				//bloc de 20 de longueur
+				if (index==0) {
+					obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+20*Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-1*Jeu.TILES_SIZE/2), 1*Jeu.TILES_SIZE, 20*Jeu.TILES_SIZE)));
+					obstacleImage.add(tabImages[11]);
+				}
+				//bloc de 9 de longueur
+				if (index==30) {
+					obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+9*Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-1*Jeu.TILES_SIZE/2), 1*Jeu.TILES_SIZE, 9*Jeu.TILES_SIZE)));
+					obstacleImage.add(tabImages[12]);
+				}
+				//Bloc de 5 de hauteur
+				if (index==52) {
+					obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-5*Jeu.TILES_SIZE/2), 5*Jeu.TILES_SIZE, 1*Jeu.TILES_SIZE)));
+					obstacleImage.add(tabImages[13]);
+				}
+				//Bloc de 9 de hauteur
+				if (index==51) {
+					obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-9*Jeu.TILES_SIZE/2), 9*Jeu.TILES_SIZE, 1*Jeu.TILES_SIZE)));
+					obstacleImage.add(tabImages[14]);
+				}
+				//Bloc de 12 de hauteur
+				if (index==50) {
+					obstacleList.add(new Obstacle(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-12*Jeu.TILES_SIZE/2), 12*Jeu.TILES_SIZE, 1*Jeu.TILES_SIZE)));
+					obstacleImage.add(tabImages[15]);
 				}
 
 			}
@@ -132,22 +176,24 @@ public class LevelManager {
 				int index = levelOne.getSpriteIndex(i, j);
 
 				//Monstres à pied
-				if (index == 15) {
+				if (index == 45) {
 					monsterList.add(new Monster(new Coordonnees(32 * i + 30 / 2, 32 * j - 62 / 2), 1000, 30, 60, 1, 5));
-
+					System.out.println("ça a bien créé un monstre");
 				}
 				//chauve-souris
-				if (index == 16) {
+				if (index == 46) {
 					monsterList.add(new Bat(new Coordonnees(32 * i + 20 / 2, 32 * j - 30 / 2), 1, 3));
-
+					System.out.println("oui");
 				}
 				//Boss
-				if (index == 17) {
-					monsterList.add(new Boss(new Coordonnees(32*i, 32*j-96/2), 500, 32, 96, 3, 50));
+				if (index == 47) {
+					monsterList.add(new Boss(new Coordonnees(32*i, 32*j-140/2), 500, 32, 96, 3, 50));
 
 				}
 			}
-		}return monsterList;
+		}
+		System.out.println(monsterList);
+		return monsterList;
 	}
 
 	public List<Coffre> generateCoffreTable(){
@@ -157,7 +203,7 @@ public class LevelManager {
 			for (int i = 0; i < Jeu.TILES_IN_WIDTH; i++) {
 				int index = levelOne.getSpriteIndex(i, j);
 				//Coffres
-				if (index==13) {
+				if (index==43) {
 					coffreListe.add(new Coffre(new HitBox(new Coordonnees(Jeu.TILES_SIZE * i+Jeu.TILES_SIZE/2, Jeu.TILES_SIZE * j-Jeu.TILES_SIZE/2), Jeu.TILES_SIZE, Jeu.TILES_SIZE)));
 				}
 
diff --git a/MAVENProject/src/main/resources/Obstacles/Sprites_map_1_2.png b/MAVENProject/src/main/resources/Obstacles/Sprites_map_1_2.png
new file mode 100644
index 0000000000000000000000000000000000000000..76b87b03a6aded300c6855f95260f566f29f6238
Binary files /dev/null and b/MAVENProject/src/main/resources/Obstacles/Sprites_map_1_2.png differ
diff --git a/MAVENProject/src/main/resources/Obstacles/level_one_pixels.png b/MAVENProject/src/main/resources/Obstacles/level_one_pixels.png
index d98f4f27aa786e0be4dedad5574336ed9128fac1..306dd2294ab688b4d3fd59bb7d70bc2b7f9ff00e 100644
Binary files a/MAVENProject/src/main/resources/Obstacles/level_one_pixels.png and b/MAVENProject/src/main/resources/Obstacles/level_one_pixels.png differ
diff --git a/MAVENProject/src/main/resources/Obstacles/level_two_pixels.png b/MAVENProject/src/main/resources/Obstacles/level_two_pixels.png
new file mode 100644
index 0000000000000000000000000000000000000000..f346ebe69c73a26d0ad0fafd20009d3887ca391a
Binary files /dev/null and b/MAVENProject/src/main/resources/Obstacles/level_two_pixels.png differ