diff --git a/Frames_perso/Character_attack_1et3.png b/Frames_perso/Character_attack1.png
similarity index 100%
rename from Frames_perso/Character_attack_1et3.png
rename to Frames_perso/Character_attack1.png
diff --git a/Frames_perso/Character_attack3.png b/Frames_perso/Character_attack3.png
new file mode 100644
index 0000000000000000000000000000000000000000..4c8e144f54eb8b5d28d2a9d06b61ac8afc0e96d6
Binary files /dev/null and b/Frames_perso/Character_attack3.png differ
diff --git a/MAVENProject/PlanUML.puml b/MAVENProject/PlanUML.puml
index 5411cfaa26536741eedf1eb7ea6d9fe11688433b..af88d0c5fa140fd0c9e13083fe4aa2ce035ee6d0 100644
--- a/MAVENProject/PlanUML.puml
+++ b/MAVENProject/PlanUML.puml
@@ -15,6 +15,13 @@ engine.GamePainter <|-- engine.DrawingPanel
 environment.Coordonnees <|-- entity.Entity
 entity.Character <|-- environment.Physique
 
+loaders.CharacterLoader <|-- jeu.Jeu
+jeu.Painter <|-- loaders.CharacterLoader
+entity.Character <|-- jeu.Jeu
+jeu.Painter <|-- entity.Character
+entity.Monster <|-- environment.Physique
+entity.Character <|-- loaders.CharacterLoader
+
 interface engine.GameController {
 + Cmd getCommand()
 }
@@ -73,9 +80,9 @@ class entity.Character {
 }
 class entity.Monster{
 + Coordonnees positions
++ int vmax
 + void deplacements()
 + void attaque()
-+ int vmax
 }
 
 
@@ -86,6 +93,7 @@ abstract class entity.Entity{
 - double entityWIDTH
 - double entityHEIGHT
 + void deplacements()
++ Coordonnes getCoord()
 + void attaque()
 }
 entity.Entity <|.. entity.Character
@@ -105,13 +113,24 @@ class environment.Coordonnees{
 + double getZ()
 }
 
+class loaders.CharacterLoader{
+    - Character gameCharacter
+    - String skinPath
+    - Image imageCharacter
+    + void refreshImage()
+    + Character getGameCharacter()
+    + String getSkinPath()
+    + Image getImageCharacter()
+    + void setSkinPath(String)
+}
+
 
 class jeu.Painter{
 # {static} int WIDTH
 # {static} int HEIGHT
 + <<Create>> Painter()
 + void draw(BufferedImage)
-- void drawCharacter(Graphics2D)
+- void drawCharacter(Graphics2D,Character,Image)
 - void drawSol(Graphics2D)
 - void drawObstacle(Graphics2D)
 + int getWidth()
@@ -130,6 +149,8 @@ class jeu.Jeu{
 + void evolve(Cmd)
 - HashMap directionJeu
 + boolean isFinished()
+- Character gameCharacter
+- CharacterLoader gameCharacterLoader
 }
 class environment.Physique{
 - double g
diff --git a/MAVENProject/src/main/java/engine/Game.java b/MAVENProject/src/main/java/engine/Game.java
index 4cb58e5d63c02f45baeeb10e1b844b1836dd3dba..a3a4c8c7174a32057e8c411e24880320fc854835 100644
--- a/MAVENProject/src/main/java/engine/Game.java
+++ b/MAVENProject/src/main/java/engine/Game.java
@@ -1,6 +1,6 @@
 package engine;
 
-import java.util.ArrayList;
+
 import java.util.HashMap;
 
 /**
diff --git a/MAVENProject/src/main/java/entity/Character.java b/MAVENProject/src/main/java/entity/Character.java
index ef49e4d4e2d9b1e743964d19f097eadc10206d00..26d30bfd9073d59a8634ffedc948026f36e79f35 100644
--- a/MAVENProject/src/main/java/entity/Character.java
+++ b/MAVENProject/src/main/java/entity/Character.java
@@ -46,7 +46,7 @@ public class Character extends Entity{
         if ((tableCommande.get("CommandZ") == 0) && (this.getCoord().getZ() >= Jeu.getCoordSol().getZ()))newZ = Jeu.getCoordSol().getZ();
         else newZ = ((1-alpha)*Physique.g - tableCommande.get("CommandZ"))/2*delta*delta + vitesseActuZ*delta + this.getCoord().getZ();
 
-        System.out.println("écart de hauteur: "+Math.abs(this.getCoord().getZ()-newZ));
+        //System.out.println("écart de hauteur: "+Math.abs(this.getCoord().getZ()-newZ));
 
         this.setCoord(new Coordonnees(newX, newZ)); // on set les nouvelles coordonnees
 
@@ -56,7 +56,7 @@ public class Character extends Entity{
         if ((tableCommande.get("CommandZ") == 0) && (this.getCoord().getZ() >= Jeu.getCoordSol().getZ())) vitesseActuZ = 0;
         else vitesseActuZ = vitesseActuZ + 7*((1-alpha)*Physique.g - tableCommande.get("CommandZ"))*delta;
 
-        System.out.println("vitesse z: "+vitesseActuZ);
+        //System.out.println("vitesse z: "+vitesseActuZ);
         resetCommand();   
     }
     @Override
diff --git a/MAVENProject/src/main/java/jeu/Jeu.java b/MAVENProject/src/main/java/jeu/Jeu.java
index 4ddbf2c602236dede0a0b48f85d8c19070c2b7d2..2f552446f9c1823a896e03214a27832dc626fb71 100644
--- a/MAVENProject/src/main/java/jeu/Jeu.java
+++ b/MAVENProject/src/main/java/jeu/Jeu.java
@@ -11,6 +11,7 @@ import engine.Game;
 import environnement.Coordonnees;
 import loaders.CharacterLoader;
 
+
 public class Jeu implements Game{
 
     private static Coordonnees coordSol = new Coordonnees(200,700); //coordonnees du sol (en realite juste Z nous interesse)
@@ -18,11 +19,20 @@ public class Jeu implements Game{
     private static Map<String,Boolean> directionJeu;
     static CharacterLoader gameCharacterLoader;
     String characterSkinPath; // jsp si c'est le jeu qui doit gerer ca, au pire vous pouvez changer
+    final String beginPath;
+    String movement;
+    int numberOfMovement;
+    int nbIterationPerFrame = 100;
+    int nbBeforeFramechgt = nbIterationPerFrame;
     
 
     public Jeu(String source) {
+
         BufferedReader helpReader;
-        characterSkinPath = "E:\\Bureau\\Programmation\\Projet_ACL\\acl-project\\Frames_perso\\pixil-frame-0.png"; // path premiere frame
+        beginPath = "E:\\Bureau\\Programmation\\Projet_ACL\\acl-project\\Frames_perso\\";
+        movement = "Character_idle";
+        numberOfMovement = 1;
+        characterSkinPath = beginPath + movement + Integer.toString(numberOfMovement) + ".png"; // path premiere frame
         /*A = new ArrayList<Double>();
         n = 0;*/
         gameCharacterLoader = new CharacterLoader(characterSkinPath,new Character(new Coordonnees(200, 300), 2000, 1,600000));
@@ -47,9 +57,9 @@ public class Jeu implements Game{
 
     @Override
     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("Execute "+command);
         System.out.println(gameCharacter.getCoord().getX());
-        System.out.println(gameCharacter.getCoord().getZ());
+        System.out.println(gameCharacter.getCoord().getZ());*/
         /*double comX,comZ;
         int a = 1;
         
@@ -83,7 +93,17 @@ public class Jeu implements Game{
             }
         
         }*/
+
         gameCharacter.evolveCharacter();
+        if ((nbIterationPerFrame-nbBeforeFramechgt) == nbIterationPerFrame) { // timer pour changer de frame
+            numberOfMovement = numberOfMovement%2 + 1;
+            nbBeforeFramechgt = nbIterationPerFrame;
+        }
+        else nbBeforeFramechgt--;
+        characterSkinPath = beginPath + movement + Integer.toString(numberOfMovement) + ".png";
+        gameCharacterLoader.setSkinPath(characterSkinPath);
+        gameCharacterLoader.refreshImage();
+        
     }
 
     @Override
diff --git a/MAVENProject/src/main/java/jeu/Painter.java b/MAVENProject/src/main/java/jeu/Painter.java
index e3f101da0bfe683a3a797ef2e53030ee940d8e2c..9002459126d2c00b4e1ac82697782c0f27b63cb7 100644
--- a/MAVENProject/src/main/java/jeu/Painter.java
+++ b/MAVENProject/src/main/java/jeu/Painter.java
@@ -45,8 +45,8 @@ public class Painter implements GamePainter{
     private void drawCharacter(Graphics2D crayon, Character charac,Image imageCharac){
         int x = (int) gameCharacter.getCoord().getX();
         int y = (int) gameCharacter.getCoord().getZ();
-        crayon.fillRect(x-15,y-30, (int) gameCharacter.getEntityWIDTH(),(int) gameCharacter.getEntityHEIGHT());
-        crayon.drawImage(imageCharac, x-15, y-30, null, null);
+        //crayon.fillRect(x-15,y-30, (int) gameCharacter.getEntityWIDTH(),(int) gameCharacter.getEntityHEIGHT());
+        crayon.drawImage(imageCharac, x-30, y-60, null, null);
 
     }
 
diff --git a/MAVENProject/src/main/java/loaders/CharacterLoader.java b/MAVENProject/src/main/java/loaders/CharacterLoader.java
index bf04746eef0b845919c92abd6b10fe71298e47fc..4ba4b8de82d622e1f62e53f806bd13d726674340 100644
--- a/MAVENProject/src/main/java/loaders/CharacterLoader.java
+++ b/MAVENProject/src/main/java/loaders/CharacterLoader.java
@@ -2,10 +2,6 @@ package loaders;
 
 import entity.Character;
 import java.awt.Image;
-import java.io.File;
-import java.io.IOException;
-
-import javax.imageio.ImageIO;
 import javax.swing.ImageIcon;
 
 public class CharacterLoader { // classe qui cree le perso
@@ -21,12 +17,8 @@ public class CharacterLoader { // classe qui cree le perso
     }
 
     public void refreshImage(){
-        try {
-            imageCharacter = ImageIO.read(new File(skinPath));
-        } catch (IOException e) {
-
-            e.printStackTrace();
-        }
+        imageCharacter = new ImageIcon(skinPath).getImage();
+        
     }
 
     public Character getGameCharacter() {