diff --git a/code/constant.h b/code/constant.h
index 92d709c9226d83504127c4487db5854a2107faca..95bdff035785770fb8a84ba3c621ae5f6c5f96a2 100644
--- a/code/constant.h
+++ b/code/constant.h
@@ -57,23 +57,13 @@
 /**
  * \brief Hauteur de l'ennemie du type 4
  */
-#define ENEMY_T4_HEIGHT 48 
+#define ENEMY_T4_HEIGHT 38 
 
 
 /**
  * \brief Largeur de l'ennemie du type 4
  */
-#define ENEMY_T4_WIDTH 38 
-
-/**
- * \brief Hauteur de l'ennemie du type 1
- */
-#define ENEMY_T1_HEIGHT 86
-
-/**
- * \brief Largeur de l'ennemie du type 1
- */
-#define ENEMY_T1_WIDTH 71 
+#define ENEMY_T4_WIDTH 25 
 
 
 /**
@@ -182,4 +172,14 @@
 
 #define TIME_RELOAD 300
 
+/**
+ * \brief Largeur du soldat accroupi
+*/
+#define SPEED_BONUS 1
+
+/**
+ * \brief Vitesse de la balle du joueur
+*/
+#define HEALTH_BONUS 5
+
 #endif
diff --git a/code/display.c b/code/display.c
index 2c59197eac20c76a244501b7a58144e4dd31752e..268fcd72bb7d89cf924c05fd5e12bd33c638cf16 100644
--- a/code/display.c
+++ b/code/display.c
@@ -97,7 +97,7 @@ void refresh_graphics(SDL_Renderer *renderer, world_t *world,resources_t *resour
     {
         if(world->soldier.charger[i].sprite.is_visible == 1)
         {
-            SDL_RenderCopy(renderer, resources->bullet, NULL, &world->soldier.DestBullet[i]);
+            SDL_RenderCopy(renderer, resources->bullet, NULL, &world->soldier.charger[i].DestBullet);
         }
     }
 
@@ -125,11 +125,17 @@ void refresh_graphics(SDL_Renderer *renderer, world_t *world,resources_t *resour
     }
 
     if (world->supplying.plane.is_visible == 1){
-        load_texture_plane(resources, renderer, world);
+        if (world->supplying.sens == 0)
+        {
+            load_texture_plane_right(resources, renderer, world);
+        }else{
+            load_texture_plane_left(resources, renderer, world);
+        }
     }else{
         if (world->supplying.powerUP.sprite.is_visible == 1 && world->supplying.powerUP.type == 0){
             load_texture_powerUp_type0(resources, renderer, &world->supplying.powerUP);
-        }else{
+        }else if (world->supplying.powerUP.sprite.is_visible == 1 && world->supplying.powerUP.type == 1)
+        {
             load_texture_powerUp_type1(resources, renderer, &world->supplying.powerUP);
         }
     }
@@ -245,7 +251,8 @@ void init_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *wo
 
     resources->powerUp[0] = charger_image_transparente("../resources/PowerUp_Vitesse.bmp", renderer, 255,0,255);
     resources->powerUp[1] = charger_image_transparente("../resources/PowerUp_Sante.bmp", renderer, 255,0,255);
-    resources->plane = charger_image_transparente("../resources/Plane.bmp", renderer, 255,0,255);
+    resources->plane[0] = charger_image_transparente("../resources/PlaneD.bmp", renderer, 255,0,255);
+    resources->plane[1] = charger_image_transparente("../resources/PlaneG.bmp", renderer, 255,0,255);
 
     resources->font = load_font("../resources/arial.ttf",14);
 }
@@ -278,7 +285,8 @@ void destroy_textures(resources_t *resources, world_t *world)
     }
 
     SDL_DestroyTexture(resources->bullet);
-    SDL_DestroyTexture(resources->plane);
+    SDL_DestroyTexture(resources->plane[0]);
+    SDL_DestroyTexture(resources->plane[1]);
     SDL_DestroyTexture(resources->powerUp[0]);
     SDL_DestroyTexture(resources->powerUp[1]);
 
@@ -556,9 +564,13 @@ void load_texture_powerUp_type1(resources_t *resources, SDL_Renderer *renderer,
     SDL_RenderCopy(renderer, resources->powerUp[1], NULL, &powerUP->DestPowerUP);
 }
 
-void load_texture_plane(resources_t *resources, SDL_Renderer *renderer, world_t *world)
+void load_texture_plane_right(resources_t *resources, SDL_Renderer *renderer, world_t *world)
+{
+    SDL_RenderCopy(renderer, resources->plane[0], NULL, &world->supplying.DestPlane);
+}
+void load_texture_plane_left(resources_t *resources, SDL_Renderer *renderer, world_t *world)
 {
-    SDL_RenderCopy(renderer, resources->plane, NULL, &world->supplying.DestPlane);
+    SDL_RenderCopy(renderer, resources->plane[1], NULL, &world->supplying.DestPlane);
 }
 
 /**
diff --git a/code/display.h b/code/display.h
index f64b97f0eb2d1bba09e3711bf1c82d4363b9b5c4..97dbca2a6bbdb504130f427f4130aacdaff23bc8 100644
--- a/code/display.h
+++ b/code/display.h
@@ -34,7 +34,7 @@ struct resources_s
     SDL_Texture* enemyT3_run_left[10];
     SDL_Texture* enemyT3_run_right[10];
     SDL_Texture* powerUp[2];
-    SDL_Texture* plane;
+    SDL_Texture* plane[2];
     
     SDL_Texture* bullet; /*!< resources liée à l'image des balles. */
 
@@ -54,12 +54,6 @@ void refresh_graphics(SDL_Renderer *renderer, world_t *world,resources_t *resour
 
 void init_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *world);
 
-//void init_enemies_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *world);
-
-//void realloc_enemies_ressources(SDL_Renderer *renderer, resources_t *resources, world_t *world);
-
-//void clear_enemies_ressources(resources_t *resources,int nbEnemies);
-
 void destroy_textures(resources_t *resources, world_t *world);
 
 void rotate_right(SDL_Renderer *renderer, world_t *world,SDL_Texture* texture, int i);
@@ -86,15 +80,13 @@ void load_texture_crouch_right(resources_t *resources, SDL_Renderer *renderer, w
 
 void load_texture_jump_right(resources_t *resources, SDL_Renderer *renderer, world_t *world);
 
-//void load_texture_enemy(resources_t *resources, SDL_Renderer *renderer, world_t *world);
-
-//void load_texture_enemies(resources_t *resources, SDL_Renderer *renderer, world_t *world, int i);
-
 void load_texture_powerUp_type0(resources_t *resources, SDL_Renderer *renderer, powerUP_t *powerUP);
 
 void load_texture_powerUp_type1(resources_t *resources, SDL_Renderer *renderer, powerUP_t *powerUP);
 
-void load_texture_plane(resources_t *resources, SDL_Renderer *renderer, world_t *world);
+void load_texture_plane_left(resources_t *resources, SDL_Renderer *renderer, world_t *world);
+
+void load_texture_plane_right(resources_t *resources, SDL_Renderer *renderer, world_t *world);
 
 void init_ttf();
 
diff --git a/code/enemy.c b/code/enemy.c
index 269f47b30f44b57e111f9e783ca95e952964854c..dcc7adddfd966010470ed7e58f7236de5f0b03bb 100644
--- a/code/enemy.c
+++ b/code/enemy.c
@@ -40,18 +40,18 @@ void init_enemyType1(enemy_t *enemy)
     int random = rand()%2+0;
     if (random == 1)
     {
-      init_sprite(&enemy->sprite, SCREEN_WIDTH+75, SCREEN_HEIGHT-ENEMY_T1_HEIGHT*2-20, ENEMY_T1_WIDTH, ENEMY_T1_HEIGHT, ENEMY_SPEED, 1);
+      init_sprite(&enemy->sprite, SCREEN_WIDTH+75, SCREEN_HEIGHT-ENEMY_HEIGHT*2-20, ENEMY_WIDTH, ENEMY_HEIGHT, ENEMY_SPEED, 1);
       enemy->direction = -1;
     }else{
-      init_sprite(&enemy->sprite, -75, SCREEN_HEIGHT-ENEMY_T1_HEIGHT*2-20, ENEMY_T1_WIDTH, ENEMY_T1_HEIGHT, ENEMY_SPEED, 1);
+      init_sprite(&enemy->sprite, -75, SCREEN_HEIGHT-ENEMY_HEIGHT*2-20, ENEMY_WIDTH, ENEMY_HEIGHT, ENEMY_SPEED, 1);
       enemy->direction = 1;
     }   
     enemy->type = 1;
     enemy->score = 1;
     enemy->DestEnemy.x = enemy->sprite.x;
     enemy->DestEnemy.y = enemy->sprite.y;
-    enemy->DestEnemy.w = ENEMY_T1_WIDTH;
-    enemy->DestEnemy.h = ENEMY_T1_HEIGHT;
+    enemy->DestEnemy.w = ENEMY_WIDTH;
+    enemy->DestEnemy.h = ENEMY_HEIGHT;
 }
 
 void init_enemyType2(enemy_t *enemy)
@@ -97,10 +97,10 @@ void init_enemyType4(enemy_t *enemy)
     int random = rand()%2+0;
     if (random == 1)
     {
-      init_sprite(&enemy->sprite, SCREEN_WIDTH+75, SCREEN_HEIGHT-ENEMY_T4_HEIGHT*2-40, ENEMY_T4_WIDTH, ENEMY_T4_HEIGHT, 1, 1);
+      init_sprite(&enemy->sprite, SCREEN_WIDTH+75, SCREEN_HEIGHT-ENEMY_T4_HEIGHT*2-70, ENEMY_T4_WIDTH, ENEMY_T4_HEIGHT, 1, 1);
       enemy->direction = -1;
     }else{
-      init_sprite(&enemy->sprite, -75, SCREEN_HEIGHT-ENEMY_T4_HEIGHT*2-40, ENEMY_T4_WIDTH, ENEMY_T4_HEIGHT,1, 1);
+      init_sprite(&enemy->sprite, -75, SCREEN_HEIGHT-ENEMY_T4_HEIGHT*2-70, ENEMY_T4_WIDTH, ENEMY_T4_HEIGHT,1, 1);
       enemy->direction = 1;
     }   
     enemy->type = 4;
diff --git a/code/powerUp.c b/code/powerUp.c
index 940dbcedd8a65b1c92141bbae587913439633ebe..add24923bdf581e19d646df56984523d8d5e0dec 100644
--- a/code/powerUp.c
+++ b/code/powerUp.c
@@ -80,9 +80,9 @@ void apply_effect(powerUP_t *powerUP,soldier_t *soldier,int drop){
   if(powerUP->sprite.is_visible == 0 && powerUP->apply_effect == 0 && drop == 1){
     if (powerUP->type == 0)
     {
-      soldier->sprite.v = soldier->sprite.v + 10;
+      soldier->sprite.v = soldier->sprite.v + SPEED_BONUS;
     }else{
-      soldier->sprite.hp = soldier->sprite.hp + 10;
+      soldier->sprite.hp = soldier->sprite.hp + HEALTH_BONUS;
     }   
     powerUP->apply_effect = 1;
   }
diff --git a/code/soldier.c b/code/soldier.c
index c2bdd17b3d950c3084294760ae44891238a617d1..f3281c6c3804325ca202fbd1deb2521e16255c5d 100644
--- a/code/soldier.c
+++ b/code/soldier.c
@@ -23,7 +23,6 @@ void init_soldier(soldier_t *soldier, int hp)
     soldier->DestSoldier.y = soldier->sprite.y;
     soldier->DestSoldier.w = SOLDIER_WIDTH;
     soldier->DestSoldier.h = SOLDIER_HEIGHT;
-    soldier->DestBullet = (SDL_Rect*) malloc(sizeof(SDL_Rect)*NB_BULLET);
     soldier->time_bullet = TIME_BULLET;
     init_bullet(soldier);
 }
@@ -44,10 +43,10 @@ void init_bullet(soldier_t *soldier)
       else if(soldier->direction == -1)
         soldier->charger[i].sens = 'g';
       
-      soldier->DestBullet[i].x = soldier->charger[i].sprite.x;
-      soldier->DestBullet[i].y = soldier->charger[i].sprite.y;
-      soldier->DestBullet[i].w = BULLET_WIDTH;
-      soldier->DestBullet[i].h = BULLET_HEIGTH;
+      soldier->charger[i].DestBullet.x = soldier->charger[i].sprite.x;
+      soldier->charger[i].DestBullet.y = soldier->charger[i].sprite.y;
+      soldier->charger[i].DestBullet.w = BULLET_WIDTH;
+      soldier->charger[i].DestBullet.h = BULLET_HEIGTH;
       soldier->time_reload = 0;
   	}
   	soldier->present_bullet = 0;
diff --git a/code/soldier.h b/code/soldier.h
index b8e8555b7cda3ba89d53d49068abfc444a11e5a3..f4e17f70fab2a99f101bdba461693447230c7715 100644
--- a/code/soldier.h
+++ b/code/soldier.h
@@ -10,6 +10,7 @@ struct bullet_s{
     sprite_t sprite;
     int shoot;
     char sens;
+    SDL_Rect DestBullet;
 };
 /**
  * \brief Type qui correspond au paramètre du soldat
@@ -36,7 +37,6 @@ struct soldier_s{
     int time_bullet;
     int time_reload;
     int present_bullet;
-    SDL_Rect *DestBullet;
 };
 /**
  * \brief Type qui correspond au paramètre du soldat
diff --git a/code/world_data.c b/code/world_data.c
index 059b72ca512fcee0ab5f68f5f81474cd26439022..57c2c80f451d9ecc3222827daa56598d907eadc2 100644
--- a/code/world_data.c
+++ b/code/world_data.c
@@ -84,17 +84,8 @@ void init_data(world_t *world)
   
   init_supplying(&world->supplying,1);
   
-  //world->DestBullet = malloc(sizeof(SDL_Rect)*NB_BULLET);
-  
-  //Initialisation du chargeur
-  //&world->charger = (bullet_t*)malloc(NB_BULLET*sizeof(bullet_t));
-  //init_bullet(world);
-
-  //On n'est pas à la fin du jeu
   world->score = 0;
   world->gameover = 0;
-  //Score à 0
-  //world->score = 0; 
 }
 
 
@@ -129,8 +120,8 @@ void refresh_data(world_t *world)
   //Les balles
   for(int i = 0; i < NB_BULLET; i++)
   {
-      world->soldier.DestBullet[i].x = world->soldier.charger[i].sprite.x;
-      world->soldier.DestBullet[i].y = world->soldier.charger[i].sprite.y;
+      world->soldier.charger[i].DestBullet.x = world->soldier.charger[i].sprite.x;
+      world->soldier.charger[i].DestBullet.y = world->soldier.charger[i].sprite.y;
   }
       
   //Déplacements
@@ -156,12 +147,6 @@ void refresh_data(world_t *world)
   }
   plane_fly(&world->supplying);
 
-
-  /*enemy_walk(&world->enemy,&world->soldier);
-  world->enemy.DestEnemy.x = world->enemy.sprite.x;
-  world->enemy.DestEnemy.y = world->enemy.sprite.y;
-  enemy_dead(&world->enemy,&world->soldier);*/
-
   shootAfterE(&world->soldier);
 
   world->soldier.time_bullet++;
@@ -218,8 +203,6 @@ void handle_events(SDL_Event *event,world_t *world)
       //On indique la fin du jeu
       //Sauvegarde la partie
       save_game(world);
-      //Libère la mémoire du tableau DestBullet pour l'affichage
-      free(world->soldier.DestBullet);
       //Libère le tableau d'ennemis
       clearEnemies(&world->rounds);
       //free(world->rounds.enemies);
diff --git a/data/save.txt b/data/save.txt
index d13657182d85e6217da2e6b6171f48f110f94d67..cb5613e069c6ab452acd21b7997af66a4f750cf1 100644
--- a/data/save.txt
+++ b/data/save.txt
@@ -8,3 +8,4 @@
 5
 /Meilleur score
 136
+
diff --git a/resources/PlaneD.bmp b/resources/PlaneD.bmp
new file mode 100644
index 0000000000000000000000000000000000000000..8247f3c379bb8060b8f2b5ae2eb64975e7e05a2c
Binary files /dev/null and b/resources/PlaneD.bmp differ
diff --git a/resources/Plane.bmp b/resources/PlaneG.bmp
similarity index 100%
rename from resources/Plane.bmp
rename to resources/PlaneG.bmp