diff --git a/travail_de_groupe/chef_oeuvre/src/player.c b/travail_de_groupe/chef_oeuvre/src/player.c
index f17ae9406f2967f8c66543f116355fc43716d275..416b052b6c27cdb38263114f4797cc3f58cb9545 100644
--- a/travail_de_groupe/chef_oeuvre/src/player.c
+++ b/travail_de_groupe/chef_oeuvre/src/player.c
@@ -15,6 +15,7 @@ void initPlayer(){
     player.HPMax = 3;
     player.currentHP = player.HPMax;
     player.invisible = 0;
+    player.invisibleTime = 5;
 }
 
 int giveCaseBelowPosition(int x, int y){
@@ -42,9 +43,11 @@ int checkCollisionsTypeGround(int dot1, int dot2, int typeGround){
 }
 
 void checkCollisionsFire(int dot1, int dot2){
-    if((dot1==1 || dot2==1) && player.invisible==0){
+    if(player.invisible==0 && (dot1==1 || dot2==1) && player.currentHP>0){
         player.currentHP = player.currentHP - 1;
         player.invisible = 1;
+        player.timeLastHitFire = (int)timer/1000;
+        printf("touche\n");
     }
 }
 
@@ -162,6 +165,12 @@ void manageMovement(){
         player.direction = PLAYER_RIGHT;
     }
     else player.isMoving = 0;
+    //
+    if(player.invisible==1){
+        if((int)timer/1000 - player.timeLastHitFire > player.invisibleTime){
+            player.invisible = 0;
+        }
+    }
 }
 
 int selectStateHover(){
@@ -173,7 +182,6 @@ int selectStateHover(){
     return stateHover;
 }
 
-
 void pourWater(int x, int y){
     int onFire = searchFire(fireList, x, y);     
     if(player.currentWater>0){
diff --git a/travail_de_groupe/chef_oeuvre/src/player.h b/travail_de_groupe/chef_oeuvre/src/player.h
index 99afb10515bfd45c50cb4ac0bcea314d95f74cb0..b0b2253d9de191eb31765e0829459949a217cfc4 100644
--- a/travail_de_groupe/chef_oeuvre/src/player.h
+++ b/travail_de_groupe/chef_oeuvre/src/player.h
@@ -22,6 +22,8 @@ typedef struct player{
     int HPMax;
     int currentHP;
     int invisible;
+    int invisibleTime;
+    int timeLastHitFire;
 } player_t;
 
 extern player_t player;
diff --git a/travail_de_groupe/chef_oeuvre/src/render.h b/travail_de_groupe/chef_oeuvre/src/render.h
index 1af4a2722d4abd4406370e24b62f13bf0e6fca40..e48f6490fda5bab38584450152ee9c86df4130fd 100644
--- a/travail_de_groupe/chef_oeuvre/src/render.h
+++ b/travail_de_groupe/chef_oeuvre/src/render.h
@@ -12,6 +12,7 @@ extern SDL_Window *window;
 extern SDL_Renderer *renderer;
 extern SDL_DisplayMode screenDimension;
 extern SDL_Rect buttonRect;
+extern float timer;
 
 void drawHover(int x, int y);
 void mainLoop();