diff --git a/code/constant.h b/code/constant.h
index 95bdff035785770fb8a84ba3c621ae5f6c5f96a2..48a2a93d08a463a50ce654a37b7cab9f3791cc9b 100644
--- a/code/constant.h
+++ b/code/constant.h
@@ -35,7 +35,7 @@
 #define SOLDIER_HP 10
 
 /**
- * \brief Valeur de l'inrémentation des ennemis à chauqe manche
+ * \brief Valeur de l'inrémentation des ennemis à chaque manche
  */
 #define INCREMENTATION_ENEMIES 3
 
@@ -72,7 +72,7 @@
 #define PLANE_SIZE 50
 
 /**
- * \brief Taille de l'avion de ravitaillement
+ * \brief Taille du power up
  */
 #define POWERUP_SIZE 50
 
@@ -99,7 +99,7 @@
 /**
  * \brief Vitesse d'un ennemi de type 3
 */
-#define ENEMY_T3_SPEED 3
+#define ENEMY_T3_SPEED 2
 
 /**
  * \brief Vitesse d'un ennemi de type 2
@@ -116,11 +116,6 @@
 */
 #define SOLDIER_SPEED 2
 
-/**
- * \brief Vitesse du accroupie
-*/
-#define SOLDIER_SPEED_CTRL 0.5f
-
 /**
  * \brief Hauteur du soldat accroupi
 */
@@ -156,29 +151,43 @@
 */
 #define TEXT_HEIGHT
 
-
+/**
+ * \brief Pour que les balles soit tirer au niveau du canon de l arme
+*/
 #define ORDERED_BULLET (SCREEN_HEIGHT-SOLDIER_HEIGHT*2-20+SOLDIER_HEIGHT/2+BULLET_WIDTH/2)-14
 
 /**
- * \brief force de gravité
+ * \brief Force de gravité
 */
 #define V_GRAV  -3
 
+/**
+ * \brief Vitesse de saut
+*/
 #define V_SAUT  4
 
+/**
+ * \brief Nombre de balle dans le chargeur
+*/
 #define NB_BULLET 30
 
+/**
+ * \brief Temps entre chaque balle
+*/
 #define TIME_BULLET 25
 
-#define TIME_RELOAD 300
+/**
+ * \brief Temps de recharge de l arme
+*/
+#define TIME_RELOAD 200
 
 /**
- * \brief Largeur du soldat accroupi
+ * \brief Vitesse en plus bonus en touchant le power up
 */
 #define SPEED_BONUS 1
 
 /**
- * \brief Vitesse de la balle du joueur
+ * \brief Point de vie bonus en touchant le power up
 */
 #define HEALTH_BONUS 5
 
diff --git a/code/soldier.h b/code/soldier.h
index f4e17f70fab2a99f101bdba461693447230c7715..d0fab09c8f2566fc14e164379210b4e47a7a7ed0 100644
--- a/code/soldier.h
+++ b/code/soldier.h
@@ -7,13 +7,13 @@
 
 
 struct bullet_s{
-    sprite_t sprite;
-    int shoot;
-    char sens;
+    sprite_t sprite; /*!<Sprite de la balle */
+    int shoot; /*!<Indique si la balle est tirée */
+    char sens; /*!<Indique le sens de la balle */
     SDL_Rect DestBullet;
 };
 /**
- * \brief Type qui correspond au paramètre du soldat
+ * \brief Type qui correspond au paramètre de la balle
 */
 typedef struct bullet_s bullet_t;
 
@@ -21,46 +21,87 @@ typedef struct bullet_s bullet_t;
  * \brief Paramètre du soldat
 */
 struct soldier_s{
-    sprite_t sprite; 
+    sprite_t sprite; /*!<Sprite du soldat */
     int hp;     /*!<Point de vie */
-    int state_jump;
-    int is_walking;
-    int is_crouching;
-    int is_looking_up;
-    int direction;
-    int walk_counter;
-    int jump_counter;
+    int state_jump; /*!<Indique si le soldat saute */
+    int is_walking; /*!<Indique si le soldat marche */
+    int is_crouching; /*!<Indique si le soldat est accroupie */ 
+    int is_looking_up; /*!<Indique si le soldat regarde vers le haut */ 
+    int direction; /*!<Indique la direction du soldat */
+    int walk_counter; /*!<Compteur pour la marche du soldat */
+    int jump_counter; /*!<Compteur pour le saut du soldat */
     
     int wait_time_walk;
     SDL_Rect DestSoldier;
-    bullet_t charger[NB_BULLET];
-    int time_bullet;
-    int time_reload;
-    int present_bullet;
+    bullet_t charger[NB_BULLET]; /*!<Chargeur de l arme du soldat */
+    int time_bullet; /*!<Temps entre chaque balle */
+    int time_reload; /*!<Temps de rechargement*/
+    int present_bullet; /*!<Indique la balle presente dans l arme*/
 };
 /**
  * \brief Type qui correspond au paramètre du soldat
 */
 typedef struct soldier_s soldier_t;
 
+/**
+ * \brief Initialise le soldat
+ * \param soldat
+  * \param hp point de vie du soldat
+ */
 void init_soldier(soldier_t *soldier, int hp);
 
+/**
+ * \brief Permet au soldat de sauter
+ * \param soldat
+ */
 void jump(soldier_t *soldier);
 
+/**
+ * \brief Initialise le chargeur du soldat
+ * \param soldat
+ */
 void init_bullet(soldier_t *soldier);
 
+/**
+ * \brief Permet au soldat de tirer
+ * \param soldat
+ */
 void shoot(soldier_t *soldier);
 
+/**
+ * \brief Permet au balle de continuer d avancer apres avoir etait tirer
+ * \param soldat
+ */
 void shootAfterE(soldier_t *soldier);
 
+/**
+ * \brief Permet au soldat de marcher vers la droite
+ * \param soldat
+ */
 void walk_right(soldier_t *soldier);
 
+/**
+ * \brief Permet au soldat de marcher vers la gauche
+ * \param soldat
+ */
 void walk_left(soldier_t *soldier);
 
+/**
+ * \brief Set le direction de la balle vers la droite
+ * \param soldat
+ */
 void setBulletD(soldier_t *soldier);
 
+/**
+ * \brief Set le direction de la balle vers la gauche
+ * \param soldat
+ */
 void setBulletG(soldier_t *soldier);
 
+/**
+ * \brief Set le direction de la balle vers le haut
+ * \param soldat
+ */
 void setBulletH(soldier_t *soldier);
 
 
diff --git a/code/sprite.h b/code/sprite.h
index 09169c75a3e77ac060ef04ed456d60b3cb26c5aa..81d91b8c971c7e8326f4cee32f879fcb6a1c11cb 100644
--- a/code/sprite.h
+++ b/code/sprite.h
@@ -24,22 +24,65 @@ struct sprite_s{
 */
 typedef struct sprite_s sprite_t;
 
+/**
+ * \brief Définit tous les paramètres d'un sprite
+ * \param sprite
+ * \param x la position en x
+ * \param y la position en y
+ * \param w la largeur w 
+ * \param h la hauteur h
+ * \param v la vitesse v
+ * \param hp les points de vie hp
+ */
 void init_sprite(sprite_t *sprite, int x, int y, int w, int h, float v,int hp);
 
+/**
+ * \brief Rend visible le sprite
+ * \param sprite
+ */
 void set_visible(sprite_t *sprite);
 
+/**
+ * \brief Rend invisible le sprite
+ * \param sprite
+ */
 void set_invisible(sprite_t *sprite);
 
+/**
+ * \brief Retourne 1 si le sprite touche le bord gauche de l'écran sinon retourne 0
+ * \param sprite
+ */
 int over_left (sprite_t*sprite);
 
+/**
+ * \brief Retourne 1 si le sprite touche le bord droit de l'écran sinon retourne 0
+ * \param sprite
+ */
 int over_right (sprite_t*sprite);
 
+/**
+ * \brief Affiche tous les paramètres du sprite
+ * \param sprite
+ */
 void print_sprite(sprite_t*sprite);
 
+/**
+ * \brief La fonction qui détecte si deux sprites sont en collision
+ * \param sp2 et sp1 les deux sprites
+ * \return 1 si les sprites se collisionnent, 0 sinon
+ */
 int sprites_collide(sprite_t *sp2, sprite_t *sp1);
 
+/**
+ * \brief La fonction qui fait disparaitre les deux sprites si ils se sont touchés
+ * \param sp2 et sp1 les deux sprites
+ */
 void handle_sprites_collision(sprite_t *sp1, sprite_t *sp2);
 
+/**
+ * \brief La fonction qui fait disparaitre sp2 si les deux sprites se sont touchés
+ * \param sp2 et sp1 les deux sprites
+ */
 void handle_sprites_collision_damage_1sprite(sprite_t *sp1, sprite_t *sp2);
 
 #endif
\ No newline at end of file
diff --git a/code/world_data.h b/code/world_data.h
index 1369c46309658a61443ad04e986a33de62cd57c8..7e93a52944c7f3f5c7f01718e413dd4dc38e7a9d 100644
--- a/code/world_data.h
+++ b/code/world_data.h
@@ -13,13 +13,12 @@
  * \brief Représentation du monde du jeu
 */
 struct world_s{
-    soldier_t soldier;
-    enemy_t enemy;
-    supplying_t supplying;
-    round_t rounds;
+    soldier_t soldier; /*!< Soldat */
+    supplying_t supplying; /*!< Avion de ravitaillement */
+    round_t rounds; /*!< Manche */
     int gameover; /*!< Entier pour la fin du jeu */
     int score;  /*!< Score du joueur */
-    int highScore;
+    int highScore; /*!< Score maximun*/
 };
 
 /**
@@ -27,30 +26,78 @@ struct world_s{
  */
 typedef struct world_s world_t;
 
+/**
+ * \brief La fonction initialise les données du monde du jeu
+ * \param world les données du monde
+ */
 void init_data(world_t * world);
 
+/**
+ * \brief Charge la sauvegarde
+ */
 int* load_save();
 
+/**
+ * \brief Sauvegarde la partie
+ * \param world les données du monde
+ */
 void save_game(world_t *world);
 
+/**
+ * \brief La fonction gère les évènements ayant eu lieu et qui n'ont pas encore été traités
+ * \param event paramètre qui contient les événements
+ * \param world les données du monde
+ */
 void handle_events(SDL_Event *event,world_t *world);
 
+
+/**
+ * \brief La fonction met à jour les données en tenant compte de la physique du monde
+ * \param world les données du monde
+ */
 void refresh_data(world_t *world);
 
+/**
+ * \brief La fonction indique si le jeu est fini en fonction des données du monde
+ * \param world les données du monde
+ * \return 1 si le jeu est fini, 0 sinon
+ */
 int is_game_over(world_t *world);
 
-void print_sprite(sprite_t*sprite);
-
+/**
+ * \brief Indique si le joueur se releve
+ * \param world les données du monde
+ */
 void raise(world_t *world);
 
+/**
+ * \brief Indique si le joueur va vers la droite
+ * \param world les données du monde
+ */
 void toTheRight(world_t *world);
 
+/**
+ * \brief Indique si le joueur va vers la gauche
+ * \param world les données du monde
+ */
 void toTheLeft(world_t *world);
 
+/**
+ * \brief Indique si le joueur regarde vers le haut
+ * \param world les données du monde
+ */
 void toLookUp(world_t *world);
 
+/**
+ * \brief Indique si le joueur saute
+ * \param world les données du monde
+ */
 void toJump(world_t *world);
 
+/**
+ * \brief Indique si le joueur est accroupie
+ * \param world les données du monde
+ */
 void toCrouch(world_t *world);
 
 #endif
diff --git a/data/save.txt b/data/save.txt
index cb5613e069c6ab452acd21b7997af66a4f750cf1..f2140de2dd4bfe96d8254c8c2ccea292a8a1645b 100644
--- a/data/save.txt
+++ b/data/save.txt
@@ -1,11 +1,10 @@
 /Vie du joueur au début
-30
+15
 /Nombre d'ennemis au début
-5
+13
 /Nombre d'ennemis en plus à chaque manche
 1
 /Numéro de la manche
-5
+13
 /Meilleur score
 136
-