diff --git a/src/main/java/bitFight/Attack.java b/src/main/java/bitFight/Attack.java
index 748b03cd0ef4fd84ac4f5f114aceb06ed942763a..589b73a634ca6e3bd531af2725be018af545b00b 100644
--- a/src/main/java/bitFight/Attack.java
+++ b/src/main/java/bitFight/Attack.java
@@ -1,11 +1,13 @@
 package bitFight;
 
 public enum Attack implements Action {
-    PUNCH(10);
+    PUNCH(10, "punch");
     private int damage;
+    private String name;
     
-    Attack(int damage) {
+    Attack(int damage, String name) {
         this.damage = damage;
+        this.name = name;
     }
     public int getDamage() {
         return damage;
@@ -18,4 +20,7 @@ public enum Attack implements Action {
     public String getActionTypeToString() {
         return "Attack";
     }
+    public String getName() {
+        return name;
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/bitFight/Level.java b/src/main/java/bitFight/Level.java
index bc7fbf8e1c31a502774270c007a8712f27192269..2e56c1b5ad582ccc08739c0326bd66ac383300de 100644
--- a/src/main/java/bitFight/Level.java
+++ b/src/main/java/bitFight/Level.java
@@ -1,5 +1,7 @@
 package bitFight;
 
+import java.util.Scanner;
+
 public class Level{
 
     int nbLevel=1;
@@ -26,5 +28,42 @@ public class Level{
         this.difficulty = difficulty;
     }
 
+    public void display() {
+        System.out.println("Level " + this.nbLevel);
+        System.out.println("Difficulty = " + this.difficulty);
+    }
+
+    public boolean check() {
+        Scanner sc = new Scanner(System.in);
+        String c = sc.nextLine();
+        if (c == null) {
+            sc.close();
+            return false;
+        }
+        sc.close();
+        return true;
+    }
+
+    public void ennemyShowing(Enemy ennemy) {
+        System.out.println("An ennemy just appeared : " + ennemy.toString());
+    }
+
+    public void ennemyDying() {
+        System.out.println("The ennemy is dead!");
+    }
+
+    public void playerDying() {
+        
+    }
+
+    public void fighting(Player p, Enemy ennemy) {
+        System.out.println(p.getName() + "'s life : " + p.getCurrentHealth());
+        this.ennemyShowing(ennemy);
+        System.out.println("Press any key to attack and press enter");
+        if (this.check()) {
+            this.ennemyDying();
+        }
+    }
+
 }
 
diff --git a/src/main/java/bitFight/LevelDisplay.java b/src/main/java/bitFight/LevelDisplay.java
deleted file mode 100644
index 5e4f7ea22a117dae7fd3c479789eaa7cceebd43b..0000000000000000000000000000000000000000
--- a/src/main/java/bitFight/LevelDisplay.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package bitFight;
-
-
-import java.util.Scanner;
-
-public class LevelDisplay {
-    private int levelNb = 1;
-    private String levelText = "New level : prepare to fight!";
-
-    public int getLevelNb() {
-        return levelNb;
-    }
-
-    public void display() {
-        System.out.println("Niveau " + this.levelNb);
-        System.out.println(this.levelText);
-    }
-
-    public boolean validate() {
-        Scanner sc = new Scanner(System.in);
-        String c = sc.nextLine();
-        if (c == null) {
-            sc.close();
-            return false;
-        }
-        sc.close();
-        return true;
-    }
-
-    public void ennemyShowing(Enemy ennemy) {
-        System.out.println("An ennemy just appeared : " + ennemy.toString());
-    }
-
-    public void ennemyDying() {
-        System.out.println("The ennemy is dead!");
-    }
-
-    public void fighting(Player p, Enemy ennemy) {
-        System.out.println(p.getName() + "'s life : " + p.getCurrentHealth());
-        this.ennemyShowing(ennemy);
-        System.out.println("Press any key to attack and press enter");
-        this.validate();
-        if (this.validate()) {
-            this.ennemyDying();
-        }
-    }
-}
diff --git a/src/main/java/bitFight/Main.java b/src/main/java/bitFight/Main.java
index dc65d7cce4239be2639c685b752834ac97f6e49e..7994a8fc58af0164e7e4246f8473160025b15651 100644
--- a/src/main/java/bitFight/Main.java
+++ b/src/main/java/bitFight/Main.java
@@ -3,11 +3,19 @@ package bitFight;
 
 import java.time.Duration;
 import java.time.LocalDateTime;
+import java.util.ArrayList;
 import java.util.Random;
 import java.util.Scanner;
 
 class Main {
     public static void main(String[] args) {
+
+        // Récupère le nom de cahque attaque dans une ArrayList
+        ArrayList<String> attacksNames = new ArrayList<>();
+        for (Attack a : Attack.values()) {
+            attacksNames.add(a.getName());
+        }
+
         Scanner in = new Scanner(System.in);
         
         Random rand = new Random();
@@ -20,7 +28,6 @@ class Main {
         System.out.println(JoueurEnnemi.getCurrentHealth());
 
         while (!input.getInput().equals("q") && !JoueurEnnemi.isDead()) {
-            System.out.println("départ");
 
             LocalDateTime timeBeforeAttack = LocalDateTime.now();
             int attackTime = 8 - (int)(5 * rand.nextDouble()); //A garder au début de la boucle
@@ -29,11 +36,21 @@ class Main {
                 System.out.println("Error input invalid");
                 input.setInput(in.nextLine());
             }
-            System.out.println("input valide");
 
+            // Évènement après choisi d'attaquer
             if (input.getInput().equals("a")) {
-                JoueurEnnemi.damage(Attack.PUNCH.getDamage());
-                System.out.println("Ennemi" + " health : " + JoueurEnnemi.getCurrentHealth());
+                input.setInput(in.nextLine());
+                // Boucle tant que le joueur n'a pas taper de nom d'une attaque valide
+                while (!attacksNames.contains(input.getInput())) {
+                    if (!attacksNames.contains(input.getInput())){
+                        System.out.println("WARNING ! : Choose an attack in the list");
+                        input.setInput(in.nextLine());
+                    }
+                }
+                String attack = attacksNames.get(attacksNames.indexOf(input.getInput())).toUpperCase();
+                JoueurEnnemi.damage(Attack.valueOf(attack).getDamage());
+                
+                System.out.println(JoueurEnnemi.toString());
                 input.setInput(in.nextLine());
             }
 
diff --git a/src/test/java/attackTest.java b/src/test/java/attackTest.java
index 9e3b2ce51ed2727b1b8b125345ed57da5c64d255..96beb0d5651462964080507a640ac0511dfd9477 100644
--- a/src/test/java/attackTest.java
+++ b/src/test/java/attackTest.java
@@ -5,7 +5,7 @@ import org.junit.jupiter.api.Test;
 public class attackTest {
     @Test
     void testGetDamage() {
-        assertEquals(attack.PUNCH.getDamage(),10); 
+        assertEquals(Attack.PUNCH.getDamage(),10); 
 
     }
 }