diff --git a/src/controleur.c b/src/controleur.c
index 88cd8f269d7cdd636301a85edbcee2331335e7bc..07b8e0b71583d38a402a33a27edd874f5b44f5ff 100644
--- a/src/controleur.c
+++ b/src/controleur.c
@@ -215,6 +215,7 @@ Case * trouverCase(Carte_Jeu * c, int x, int y){
  * \return L'indice de la classe du personnage si le Personnage a été correctement ajouté, -1 sinon.
  */
 int ajouterPersonnage(char * nomClasse, int numTab, int numJoueur){
+    Personnage * p = NULL;
     int i;
     i=0;
     //Recherche de la classe dans le Package
@@ -226,18 +227,16 @@ int ajouterPersonnage(char * nomClasse, int numTab, int numJoueur){
     }
 
     //Création du personnage
-    Personnage * p = default_personnage(i,packGlobal);
-
-    printf("La classe du personnage %d du joueur %d est %s\n", numTab+1, numJoueur, getClasse(p));
+	p = default_personnage(i,packGlobal);
 
     //Ajout du Personnage à l'équipe du Joueur
     switch (numJoueur){
     case 1:
-        setOnFirstJoueur(partieGlobale->participants);
+        setOnFirstJoueur(getListJoueur(partieGlobale));
         break;
     case 2:
-        setOnFirstJoueur(partieGlobale->participants);
-        nextJoueur(partieGlobale->participants);
+        setOnFirstJoueur(getListJoueur(partieGlobale));
+        nextJoueur(getListJoueur(partieGlobale));
         break;
     default:
         return -1;
@@ -269,6 +268,7 @@ int selectionnerCarte(char * nomCarte){
     while((strcmp(nomCarte,packGlobal.Cartes_Package[i].nom)!=0)&&(i<nbCartes())){
         i++;
     }
+
     if(i>=nbCartes()){
         return 0;
     }
@@ -276,22 +276,26 @@ int selectionnerCarte(char * nomCarte){
     if(initCarte(&packGlobal.Cartes_Package[i],getCarte(partieGlobale),&packGlobal)==0){
         return 0;
     }
-    printf("la carte selectionnee est %s\n",nomCarte);
+    return 1;
+}
+
+void initPositions(){
     // Positionnement des Personnages sur la Carte_Jeu.
-    setOnFirstJoueur(partieGlobale->participants);
+    int i;
+
+    setOnFirstJoueur(getListJoueur(partieGlobale));
 
     for(i=0;i<TAILLE_MAX_GROUPE;i++){
-        printf("test1\n");
-        setPosition(getCurrentJoueur(partieGlobale->participants)->groupe[i],&partieGlobale->c->Tab_Cases[6+i][0]); //le probleme est ici
-        printf("test2\n");
+        setPosition(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),i),&partieGlobale->c->Tab_Cases[6+i][0]);
     }
-    nextJoueur(partieGlobale->participants);
+    nextJoueur(getListJoueur(partieGlobale));
     for(i=0;i<TAILLE_MAX_GROUPE;i++){
-        setPosition(getCurrentJoueur(partieGlobale->participants)->groupe[i],&partieGlobale->c->Tab_Cases[6+i][HAUT_MAX_CARTE-1]);
+        setPosition(getPersonnage(getCurrentJoueur(getListJoueur(partieGlobale)),i),&partieGlobale->c->Tab_Cases[6+i][HAUT_MAX_CARTE-1]);
     }
-    return 1;
 }
 
 
 
 
+
+
diff --git a/src/controleur.h b/src/controleur.h
index ab085f7f5dd99cc3ae61841aa7e5fa0735c63355..308acd0efa316f3a41ba34fb6b0d3c2dea0a1b79 100644
--- a/src/controleur.h
+++ b/src/controleur.h
@@ -27,6 +27,7 @@ Case * trouverCase(Carte_Jeu * c, int x, int y);
 int ajouterPersonnage(char * nomClasse, int numTab, int numJoueur);
 
 int selectionnerCarte(char * nomCarte);
+void initPositions();
 
 
 #endif // CONTROLEUR_H
diff --git a/src/joueur.c b/src/joueur.c
index 58c5f362254ebc2f145207d8780d6f68050a4812..e9cb79cbcf495b4960d62f12b5156c4fc28a6178 100644
--- a/src/joueur.c
+++ b/src/joueur.c
@@ -65,7 +65,7 @@ void setNomJoueur(Joueur * j, char * nom){
  * \return Un pointeur vers le Personnage du Joueur a l'indice i dans le tableau groupe, NULL si l'indice n'est pas dans le tableau.
  */
 Personnage * getPersonnage(Joueur * j, int i){
-    if(i<TAILLE_MAX_GROUPE-1){
+    if(i<TAILLE_MAX_GROUPE){
         return j->groupe[i];
     }
     return NULL;
diff --git a/src/main.c b/src/main.c
index 0f16d430801d96b1c275097a63ba7cab99013998..e4419348047cc00e20cd5bb32a4f68cc859377e7 100644
--- a/src/main.c
+++ b/src/main.c
@@ -10,6 +10,8 @@
 #include "carte.h"
 #include "Interface.h"
 #include "gamePackage.h"
+#include "joueur.h"
+#include "partie.h"
 
 
 /*!
@@ -87,8 +89,6 @@ int main(void)
 {
 
 //init_jeu("../resources/Init_jeu.xml");
-
-
     initJeu();
     main_affichage();