diff --git a/src/ClassesXML.c b/src/ClassesXML.c
index acc5858c7e8053cb074d212307031a1fa973e317..f9cc9102a80be1a3c255a7dec91b9fce8fb2ac18 100644
--- a/src/ClassesXML.c
+++ b/src/ClassesXML.c
@@ -4,8 +4,10 @@
 
 #include "ClassesXML.h"
 
-
-
+/*!
+* \file classesXML.c
+* \brief Fichier contenant le code des fonctions d'aquisition des classes.
+*/
 
 Classe* Remplir_Classes(FILE* Classes_log, const char *filename) /* Remplit le tableau de classes à partir du fichier XML */
 {
diff --git a/src/ClassesXML.h b/src/ClassesXML.h
index 48fc88c8ea0ae7dde3311f9bb76fcbd44a6dd5f6..1e8dd035deac54cb37abbeabfc642338ddf5baec 100644
--- a/src/ClassesXML.h
+++ b/src/ClassesXML.h
@@ -1,3 +1,8 @@
+/*!
+* \file AffichageConsole.h
+* \brief Fichier contenant les signatures des fonctions liees a l'aquisition des classes.
+*/
+
 #ifndef CLASSESXML_H_INCLUDED
 #define CLASSESXML_H_INCLUDED
 
diff --git a/src/SDL.c b/src/SDL.c
index 4f281fd99fde43455ff94d7ef01239ee9341025f..0e09f12b9d6b5d81126a78591aee046883b94707 100644
--- a/src/SDL.c
+++ b/src/SDL.c
@@ -7,6 +7,10 @@
 #define HAUTEUR_CASE 71
 #define NB_PERSO 1
 
+/*!
+* \file SDL.c
+* \brief Fichier contenant le code des fonctions liees à l'affichage par la SDL.
+*/
 
 int main_SDL()
 {
diff --git a/src/SDL.h b/src/SDL.h
index 2eefcb96d0ce016d5f12020d0a735999a48de054..2724b332a1ba6b71f7debd056e60c1634dcdc5e1 100644
--- a/src/SDL.h
+++ b/src/SDL.h
@@ -1,3 +1,8 @@
+/*!
+* \file AffichageConsole.h
+* \brief Fichier contenant les signatures des fonctions liees a l'affichage par SDL.
+*/
+
 
 #ifndef SDL_H_INCLUDED
 #define SDL_H_INCLUDED
diff --git a/src/TerrainsXML.c b/src/TerrainsXML.c
index e121b776e357384e248dc5683216a4b1f9edc0c8..199fafda3a5b84c22e1e55205c04202ec7d65b30 100644
--- a/src/TerrainsXML.c
+++ b/src/TerrainsXML.c
@@ -3,6 +3,11 @@
 
 #include "TerrainsXML.h"
 
+/*!
+* \file classesXML.c
+* \brief Fichier contenant le code des fonctions d'aquisition des terrains.
+*/
+
 Case* Remplir_Terrains(FILE* Terrains_XML_log, const char *filename) /* Remplit le tableau de cases à partir du fichier XML */
 {
     fprintf(Terrains_XML_log,"I) Chargement du fichier Terrains XML  - Definition des noeuds\n");
diff --git a/src/TerrainsXML.h b/src/TerrainsXML.h
index 75a8ec6276338acd38ab1923f98ac09bad2ef1d7..cff21e79a9aee924f12739dba3760eb1a88750c3 100644
--- a/src/TerrainsXML.h
+++ b/src/TerrainsXML.h
@@ -1,3 +1,8 @@
+/*!
+* \file AffichageConsole.h
+* \brief Fichier contenant les signatures des fonctions liees a l'aquisition des types de terrains.
+*/
+
 #ifndef TERRAINS_XML_H_INCLUDED
 #define TERRAINS_XML_H_INCLUDED
 
diff --git a/src/carte.c b/src/carte.c
new file mode 100644
index 0000000000000000000000000000000000000000..f26fc64231d0da31e71d66ccab93a7b2406a57b6
--- /dev/null
+++ b/src/carte.c
@@ -0,0 +1,6 @@
+#include "carte.h"
+
+/*!
+* \file carte.c
+* \brief Fichier contenant le code des fonctions liees aux cartes.
+*/
diff --git a/src/carte.h b/src/carte.h
new file mode 100644
index 0000000000000000000000000000000000000000..8ab25c14e2c778d20ebf4b85535e7590632b02dd
--- /dev/null
+++ b/src/carte.h
@@ -0,0 +1,12 @@
+/*!
+* \file AffichageConsole.h
+* \brief Fichier contenant les signatures des fonctions liees a la structure carte.
+*/
+
+
+#ifndef CARTE_H_INCLUDED
+#define CARTE_H_INCLUDED
+
+
+
+#endif // CARTE_H_INCLUDED
diff --git a/src/case.c b/src/case.c
index 425e028a4d843e5619693edb406f46c60f50e8f4..f3f078982bed101bd51eacc573615564e6ba2784 100644
--- a/src/case.c
+++ b/src/case.c
@@ -5,6 +5,11 @@
 #include "personnage.h"
 #include "deplacements.h"
 
+/*!
+* \file case.c
+* \brief Fichier contenant le code des fonctions liees aux cases
+*/
+
 
 Case * init_case(Case * c,int x, int y, Terrain *t){
     c->coord_x=x;
diff --git a/src/case.h b/src/case.h
index 8d1a6437dd9f5f8b35a8fa2e952d92c11e2a2476..a26b52ef37812a024537a61759d50d72bad61747 100644
--- a/src/case.h
+++ b/src/case.h
@@ -1,3 +1,8 @@
+/*!
+* \file AffichageConsole.h
+* \brief Fichier contenant les signatures des fonctions liees a la structure case.
+*/
+
 #ifndef CASE_H_INCLUDED
 #define CASE_H_INCLUDED
 
diff --git a/src/classe.c b/src/classe.c
index 4b32b34ab07ca0c5f0bcf1858b2d1ee259b81a72..240ad175662cabc3e36b62646a96f7323e109b94 100644
--- a/src/classe.c
+++ b/src/classe.c
@@ -3,7 +3,10 @@
 #include <roxml.h>
 #include "classe.h"
 
-
+/*!
+* \file classe.c
+* \brief Fichier contenant le code des fonctions liees aux classes.
+*/
 
 
 Classe* Librairie_Classes(const char *filename){
diff --git a/src/classe.h b/src/classe.h
index 141d52137476c5ff3eea690c177a5447d0d3c21a..db462d456f154e32b884c281f7b8398c123de2fd 100644
--- a/src/classe.h
+++ b/src/classe.h
@@ -1,3 +1,9 @@
+/*!
+* \file AffichageConsole.h
+* \brief Fichier contenant les signatures des fonctions liees a la structure classe.
+*/
+
+
 #ifndef CLASSE_H_INCLUDED
 #define CLASSE_H_INCLUDED
 
diff --git a/src/competence.c b/src/competence.c
index b1300980221f2b92d5a788064e10129a83787ac2..dc14ff165987857c136fca0ff776b9ee9675934f 100644
--- a/src/competence.c
+++ b/src/competence.c
@@ -3,6 +3,10 @@
 #include "structures.h"
 #include "competence.h"
 
+/*!
+* \file competence.c
+* \brief Fichier contenant le code des fonctions liees aux arbres de compétences.
+*/
 
 Arbre_Competence* init_arbre_competence(Arbre_Competence *a){
     return NULL;
diff --git a/src/competence.h b/src/competence.h
index fd3d3758fc5dffafcf2c15bed16c931108385a2a..226e6c32b83c78a4d7a7fd5aed8096a642dca138 100644
--- a/src/competence.h
+++ b/src/competence.h
@@ -1,3 +1,8 @@
+/*!
+* \file AffichageConsole.h
+* \brief Fichier contenant les signatures des fonctions liees a la structure competence.
+*/
+
 #ifndef DEPLACEMENTS_H_INCLUDED
 #define DEPLACEMENTS_H_INCLUDED
 
diff --git a/src/controleur.c b/src/controleur.c
index 0ba4a2e51333a44526522e6139320ab1d1e85b20..dd2c66a7ff7fd4506930d0740c97735b7511592a 100644
--- a/src/controleur.c
+++ b/src/controleur.c
@@ -59,36 +59,6 @@ Case * entrerCoordonnees(Partie * p){
     return caseTemp;
 }
 
-  /*!
- * \fn Personnage * coordonneesValidesPersonnage(Partie * p, Case * c)
- * \brief La fonction teste pour tous les Joueurs de la Partie s'ils possedent un Personnage sur la Case en entree.
- *        Si c'est le cas, le Personnage sur la Case est retourne.
- *
- * \param La Partie p en cours, la Case a tester.
- * \return Un pointeur vers le Personnage sur la Case, NULL s'il n'y a pas de Personnage sur la Case.
- */
-Personnage * coordonneesValidesPersonnage(Partie * p, Case * c){
-    int i;
-    Personnage * resP = NULL;
-    Joueur * tempJ = NULL;
-    tempJ = getCurrentJoueur(getListJoueur(p));
-    setOnFirstJoueur(getListJoueur(p));
-    while(outOfJoueurList(getListJoueur(p))){
-        for(i=0;i<TAILLE_MAX_GROUPE;i++){
-            if(estSurLaCase(getPersonnage(getCurrentJoueur(getListJoueur(p)),i),c)){
-                resP = getPersonnage(getCurrentJoueur(getListJoueur(p)),i);
-            }
-        }
-    }
-    for(i=0;i<TAILLE_MAX_GROUPE;i++){
-            if(estSurLaCase(getPersonnage(getCurrentJoueur(getListJoueur(p)),i),c)){
-                resP = getPersonnage(getCurrentJoueur(getListJoueur(p)),i);
-            }
-        }
-    setOnJoueur(getListJoueur(p),tempJ);
-    return resP;
-}
-
   /*!
  * \fn void personnageSelectionne(Partie * p)
  * \brief La fonction fait l'interface entre le moteur du jeu et l'affichage pour l'affichage des caracteristiques d'un Personnage.
diff --git a/src/deplacements.c b/src/deplacements.c
index d39dd4a0927e2203beec15aa8537d17aec0a1860..117b8104592c72cf75bd3b4402bbf5e436ac703d 100644
--- a/src/deplacements.c
+++ b/src/deplacements.c
@@ -5,6 +5,11 @@
 #include "personnage.h"
 #include "deplacements.h"
 
+/*!
+* \file deplacements.c
+* \brief Fichier contenant le code des fonctions liees aux déplacements des personnages.
+*/
+
 boolean case_a_cote(Personnage * perso, Case * destination){ /* vérifie que la case hexagonale "destination" est contigue à la case du personnage */
     Case *depart = getPosition(perso);
     if (get_x(depart)>get_x(destination)+1||get_x(depart)<get_x(destination)-1||get_y(depart)>get_y(destination)+1||get_y(depart)>get_y(destination)-1){
diff --git a/src/deplacements.h b/src/deplacements.h
index c2d0d8a8d185307dec0d52872ec2f67f76334ceb..0db414b5d140149076731ce42e0433d6b96b95d1 100644
--- a/src/deplacements.h
+++ b/src/deplacements.h
@@ -1,3 +1,8 @@
+/*!
+* \file AffichageConsole.h
+* \brief Fichier contenant les signatures des fonctions liees aux deplacements des personnages.
+*/
+
 #ifndef DEPLACEMENTS_H_INCLUDED
 #define DEPLACEMENTS_H_INCLUDED
 
diff --git a/src/mainPartieConsole.c b/src/mainPartieConsole.c
index d391ed12cc82c97d0e75b507a635cc1bc95a545b..04a4044bf524b5b0c068e12fe89a2122fc69461d 100644
--- a/src/mainPartieConsole.c
+++ b/src/mainPartieConsole.c
@@ -1,5 +1,7 @@
-#include <stdio.h>
 #include <stdlib.h>
+#include <stdio.h>
+#include <string.h>
+
 #include "structures.h"
 #include "controleur.h"
 #include "partie.h"
@@ -8,10 +10,13 @@
 #include "joueur.h"
 #include "affichageConsole2.h"
 
+
 int mainPartieConsole(){
-    Partie * partieEnCours=initPartie();
+    //initialisation
     Case * caseSel = NULL;
     Personnage * persSel = NULL;
+    Partie * partieEnCours=initPartie();
+    //Partie
     while(!victoire(partieEnCours)){
         switch(choixPrincipal(partieEnCours)){
             case 1:{
@@ -29,10 +34,11 @@ int mainPartieConsole(){
                                     //Deplacement
                                 }
                                 case 3:{
-                                    //Retour choix Principal
+                                    //retour au choix principal.
                                 }
                                 case 4:{
-                                    //fin du tour
+                                    finTour(partieEnCours);
+                                    afficheFinTour(getNomJoueur(getCurrentJoueur(getListJoueur(partieEnCours))));
                                 }
                                 default:{
                                     afficherChoixImpossible();
diff --git a/src/partie.c b/src/partie.c
index 242f75be2a8a7fb0702e0b36817300f119c8d479..fa9eb27c69d504b139a678abec11aecf00f6f925 100644
--- a/src/partie.c
+++ b/src/partie.c
@@ -9,6 +9,7 @@
 #include "partie.h"
 #include "joueurList.h"
 #include "joueur.h"
+#include "case.h"
 
 /*!
  * \fn Partie * initPartie()
@@ -19,10 +20,9 @@
  Partie * initPartie(){
     Partie * p = malloc(sizeof(Partie));
     ListJoueur * l = initJoueurList();
-    Carte * carteJeu = NULL;
+    Carte * carteJeu = nouvelleCarte();
     p->nbTours=0;
     p->participants=l;
-    init_carte(carteJeu,LARG_MAX_CARTE,HAUT_MAX_CARTE);
     p->c=carteJeu;
     return p;
  }
@@ -35,6 +35,7 @@
  */
  void deletePartie(Partie * p){
     deleteJoueurList(p->participants);
+    deleteCarte(p->c);
     free(p);
  }
 
@@ -216,5 +217,35 @@ Joueur * appartientJoueur(Personnage * p, Partie * partieEnCours){
     return resJ;
 }
 
+  /*!
+ * \fn Personnage * coordonneesValidesPersonnage(Partie * p, Case * c)
+ * \brief La fonction teste pour tous les Joueurs de la Partie s'ils possedent un Personnage sur la Case en entree.
+ *        Si c'est le cas, le Personnage sur la Case est retourne.
+ *
+ * \param La Partie p en cours, la Case a tester.
+ * \return Un pointeur vers le Personnage sur la Case, NULL s'il n'y a pas de Personnage sur la Case.
+ */
+Personnage * coordonneesValidesPersonnage(Partie * p, Case * c){
+    int i;
+    Personnage * resP = NULL;
+    Joueur * tempJ = NULL;
+    tempJ = getCurrentJoueur(getListJoueur(p));
+    setOnFirstJoueur(getListJoueur(p));
+    while(outOfJoueurList(getListJoueur(p))){
+        for(i=0;i<TAILLE_MAX_GROUPE;i++){
+            if(estSurLaCase(getPersonnage(getCurrentJoueur(getListJoueur(p)),i),c)){
+                resP = getPersonnage(getCurrentJoueur(getListJoueur(p)),i);
+            }
+        }
+    }
+    for(i=0;i<TAILLE_MAX_GROUPE;i++){
+            if(estSurLaCase(getPersonnage(getCurrentJoueur(getListJoueur(p)),i),c)){
+                resP = getPersonnage(getCurrentJoueur(getListJoueur(p)),i);
+            }
+        }
+    setOnJoueur(getListJoueur(p),tempJ);
+    return resP;
+}
+
 
 
diff --git a/src/partie.h b/src/partie.h
index 4c151e1045626b6cd506ecc9500a8f03c7afc5d6..d4ceca18bb47f4e624a1ea337edd79f023c3080e 100644
--- a/src/partie.h
+++ b/src/partie.h
@@ -25,6 +25,7 @@ int finTour(Partie * p);
 int isTurn(Partie * p, Joueur * j);
 Personnage * jouerPersonnage(Partie * p, Joueur * j, Personnage * perso);
 Joueur * appartientJoueur(Personnage * p, Partie * partieEnCours);
+Personnage * coordonneesValidesPersonnage(Partie * p, Case * c);
 
 int victoire(Partie * p);
 
diff --git a/src/personnage.c b/src/personnage.c
index 582da4e94cd06e3806c60deeb73893d2aa8b653d..830a1152d53d672eb81fde7bd13acba66c6af0cd 100644
--- a/src/personnage.c
+++ b/src/personnage.c
@@ -5,6 +5,11 @@
 #include "personnage.h"
 #include "deplacements.h"
 
+/*!
+* \file personnage.c
+* \brief Fichier contenant le code des fonctions liees aux personnages.
+*/
+
 Personnage* init_personnage(Personnage *perso, Classe *c, Case *casedepart){
     perso->classe=c;
     perso->points_deplacement=c->points_deplacement_max;
diff --git a/src/personnage.h b/src/personnage.h
index 70c641620f6e43778b96df7e399d007cc77c5150..4c654da17142a3ed688219f9e45ac4ac72543526 100644
--- a/src/personnage.h
+++ b/src/personnage.h
@@ -1,3 +1,8 @@
+/*!
+* \file AffichageConsole.h
+* \brief Fichier contenant les signatures des fonctions liees a la structure personnage.
+*/
+
 #ifndef PERSONNAGE_H_INCLUDED
 #define PERSONNAGE_H_INCLUDED
 
diff --git a/src/terrain.c b/src/terrain.c
index dea7bed32f6d43311ea52626894e456f1635d5c0..9100ed28e0a2ec795f189bf64e539d763ab7aa6a 100644
--- a/src/terrain.c
+++ b/src/terrain.c
@@ -3,6 +3,11 @@
 #include <string.h>
 #include "terrain.h"
 
+/*!
+* \file joueurList.c
+* \brief Fichier contenant le code des fonctions liees aux types de terrains.
+*/
+
 
 /* Procédure de remplissage des cases à partir d'un fichier XML */
 Terrain* Librairie_Terrains(const char *filename)
@@ -40,7 +45,7 @@ boolean terrain_franchissable(Terrain *t){
 Terrain * init_terrain(Terrain * t, char * n, boolean f, unsigned short int PD){
     t->franchissable=f;
     strncpy(n,t->nomTerrain,TAILLE_NOMS-1);
-    t->nomTerrain[0]='/0';
+    t->nomTerrain[0]='\0';
     t->PD_requis=PD;
     return t;
 }
diff --git a/src/terrain.h b/src/terrain.h
index 9670a880b2215d00540859cd33d797905f56cd95..9cfbbd84c6fb9ffae75a63307151e7d31612014d 100644
--- a/src/terrain.h
+++ b/src/terrain.h
@@ -1,3 +1,8 @@
+/*!
+* \file AffichageConsole.h
+* \brief Fichier contenant les signatures des fonctions liees a la structure terrain.
+*/
+
 #ifndef CLASSE_H_INCLUDED
 #define CLASSE_H_INCLUDED