diff --git a/MAVENProject/PlanUML.puml b/MAVENProject/PlanUML.puml
index 6885f5e21465d2ef2d9c9f20aeca797a58c96b4c..0e292a250fefce248cd8c8933dc2a8f2b0621052 100644
--- a/MAVENProject/PlanUML.puml
+++ b/MAVENProject/PlanUML.puml
@@ -13,8 +13,6 @@ engine.GraphicalInterface <|-- engine.GameEngineGraphical
 engine.DrawingPanel <|-- engine.GraphicalInterface
 engine.GamePainter <|-- engine.DrawingPanel
 environment.Coordonnees <|-- entity.Entity
-environment.Coordonnees *-- jeu.Jeu
-entity.Character *-- jeu.Jeu
 entity.Character <|-- environment.Physique
 
 interface engine.GameController {
@@ -109,7 +107,7 @@ class jeu.Painter{
 class jeu.Controller {
 - boolean isRightPressed, isLeftPressed, isSpacePressed
 + <<Create>> Controller()
-+ ArrayList<Boolean> getCommand()
++ HashMap<String,Boolean> getCommand()
 + void keyPressed(KeyEvent)
 + void keyReleased(KeyEvent)
 + void keyTyped(KeyEvent)
diff --git a/MAVENProject/src/main/java/engine/Game.java b/MAVENProject/src/main/java/engine/Game.java
index 0840b23029ded24eea509956c7bbae495845b5dc..4cb58e5d63c02f45baeeb10e1b844b1836dd3dba 100644
--- a/MAVENProject/src/main/java/engine/Game.java
+++ b/MAVENProject/src/main/java/engine/Game.java
@@ -1,6 +1,7 @@
 package engine;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 
 /**
  * @author Horatiu Cirstea, Vincent Thomas
@@ -16,7 +17,7 @@ public interface Game {
 	 * @param userCmd
 	 *            commande utilisateur
 	 */
-	public void evolve(ArrayList<Boolean> userCmd);
+	public void evolve(HashMap<String,Boolean> userCmd);
 
 	/**
 	 * @return true si et seulement si le jeu est fini
diff --git a/MAVENProject/src/main/java/engine/GameController.java b/MAVENProject/src/main/java/engine/GameController.java
index 31d956cb38633e94ffcd298fadfb9cca5622c6f2..8b62d1a46cda25dfcec5cc9e993f5d42fb9e46cf 100644
--- a/MAVENProject/src/main/java/engine/GameController.java
+++ b/MAVENProject/src/main/java/engine/GameController.java
@@ -2,6 +2,7 @@ package engine;
 
 import java.awt.event.KeyListener;
 import java.util.ArrayList;
+import java.util.HashMap;
 
 /**
  * @author Horatiu Cirstea
@@ -17,6 +18,6 @@ public interface GameController extends KeyListener {
 	 *
 	 * @return commande faite par le joueur
 	 */
-	public ArrayList<Boolean> getCommand();
+	public HashMap<String,Boolean> getCommand();
 
 }
diff --git a/MAVENProject/src/main/java/engine/GameEngineGraphical.java b/MAVENProject/src/main/java/engine/GameEngineGraphical.java
index 2cf54946dbb3e908b646c4879e0f8cb8e4cb0fdb..e1c454e056a56ba2cb5da89a54b2682f0df829c5 100644
--- a/MAVENProject/src/main/java/engine/GameEngineGraphical.java
+++ b/MAVENProject/src/main/java/engine/GameEngineGraphical.java
@@ -1,6 +1,7 @@
 package engine;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 
 /**
  * @author Horatiu Cirstea, Vincent Thomas
@@ -59,7 +60,7 @@ public class GameEngineGraphical {
 		// boucle de game
 		while (!this.game.isFinished()) {
 			// demande controle utilisateur
-			ArrayList<Boolean> a = this.gameController.getCommand(); //
+			HashMap<String,Boolean> a = this.gameController.getCommand(); //
 			// fait evoluer le game
 			this.game.evolve(a);
 			// affiche le game
diff --git a/MAVENProject/src/main/java/jeu/Controller.java b/MAVENProject/src/main/java/jeu/Controller.java
index 93e4eddefa30505d60349c9ffa89571217b66538..0e7a39e6b9af244dd230a4f59ed0b5a96346353d 100644
--- a/MAVENProject/src/main/java/jeu/Controller.java
+++ b/MAVENProject/src/main/java/jeu/Controller.java
@@ -4,6 +4,7 @@ import engine.GameController;
 
 import java.awt.event.KeyEvent;
 import java.util.ArrayList;
+import java.util.HashMap;
 
 public class Controller implements GameController{
 
@@ -23,11 +24,11 @@ public class Controller implements GameController{
      * getCommand retourne une liste de booleans sous la forme [isRightPressed, isLeftPressed, isSpacePressed]
      */
     @Override
-    public ArrayList<Boolean> getCommand() {
-        ArrayList<Boolean> cmd = new ArrayList<Boolean>();
-        cmd.add(isRightPressed);
-        cmd.add(isLeftPressed);
-        cmd.add(isSpacePressed);
+    public HashMap<String,Boolean> getCommand() {
+        HashMap<String,Boolean> cmd = new HashMap<String,Boolean>();
+        cmd.put("Right",isRightPressed);
+        cmd.put("Left",isLeftPressed);
+        cmd.put("Jump",isSpacePressed);
         return cmd;
     }
     @Override
diff --git a/MAVENProject/src/main/java/jeu/Jeu.java b/MAVENProject/src/main/java/jeu/Jeu.java
index 87d146787ad7b199eaa7b33935cc8aa3ac226cc7..d692f10d5cfdbb07ebd23b883e77f4d916a77eda 100644
--- a/MAVENProject/src/main/java/jeu/Jeu.java
+++ b/MAVENProject/src/main/java/jeu/Jeu.java
@@ -4,6 +4,7 @@ import java.io.BufferedReader;
 import java.io.FileReader;
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.HashMap;
 
 import entity.Character;
 import engine.Game;
@@ -34,7 +35,7 @@ public class Jeu implements Game{
     }
 
     @Override
-    public void evolve(ArrayList<Boolean> command) {  // command est sous la forme list de Boolean qui represente les touches préssées. Voir Controller pour la compositions de cet list.
+    public void evolve(HashMap<String,Boolean> command) {  // command est sous la forme list de Boolean qui represente les touches préssées. Voir Controller pour la compositions de cet list.
         System.out.println("Execute "+command);
         System.out.println(charac.getCoord().getX());
         System.out.println(charac.getCoord().getZ());
@@ -44,9 +45,9 @@ public class Jeu implements Game{
         comX = 0;
         comZ = 0;
 
-        boolean Right = command.get(0);
-        boolean Left = command.get(1);
-        boolean Jump = command.get(2);
+        boolean Right = command.get("Right");
+        boolean Left = command.get("Left");
+        boolean Jump = command.get("Jump");
 
         if (Right && Left){}
         else if (Right) {