diff --git a/ElderInternalIgnition/ElderInternalIgnition.cbp b/ElderInternalIgnition/ElderInternalIgnition.cbp
index 51b9d8e57b308c1674dab50ae892b844f95db50c..828e4600b53ad18dabbfa4b15cc05c9586154b69 100644
--- a/ElderInternalIgnition/ElderInternalIgnition.cbp
+++ b/ElderInternalIgnition/ElderInternalIgnition.cbp
@@ -59,17 +59,14 @@
 			<Option compilerVar="CC" />
 		</Unit>
 		<Unit filename="../src/TerrainsXML.h" />
-
 		<Unit filename="../src/affichage.c">
 			<Option compilerVar="CC" />
 		</Unit>
 		<Unit filename="../src/affichage.h" />
-
 		<Unit filename="../src/attaques.c">
 			<Option compilerVar="CC" />
 		</Unit>
 		<Unit filename="../src/attaques.h" />
-
 		<Unit filename="../src/carte.c">
 			<Option compilerVar="CC" />
 		</Unit>
@@ -90,10 +87,6 @@
 			<Option compilerVar="CC" />
 		</Unit>
 		<Unit filename="../src/controleur.h" />
-		<Unit filename="../src/controleurSDL.c">
-			<Option compilerVar="CC" />
-		</Unit>
-		<Unit filename="../src/controleurSDL.h" />
 		<Unit filename="../src/deplacements.c">
 			<Option compilerVar="CC" />
 		</Unit>
diff --git a/src/affichage.c b/src/affichage.c
index fd8714ff8995ff98a5a52196b75d6e53cc81bb7b..f98560c3001f8f369da962553e7807fad301e4b3 100644
--- a/src/affichage.c
+++ b/src/affichage.c
@@ -5,7 +5,6 @@
 
 #include "affichage.h"
 #include "controleur.h"
-#include "controleurSDL.h"
 
 /*!
 * \file affichage.c
@@ -65,6 +64,13 @@ int main_affichage()
     return 0;
 }
 
+/*!
+ * \fn int perso_suivant(int numPerso)
+ * \brief permet de changer de personnage
+ *
+ * \param le numéro du personnage actuel (1,2, ou 3 pour le 1er joueur, 4,5, ou 6 pour le 2eme)
+ * \return le numéro du personnage suivant (respectivement 2,3,1 et 5,6,4)
+ */
 int perso_suivant(int numPerso)
 {
     if (numPerso==NB_PERSO) numPerso=1;
@@ -73,6 +79,13 @@ int perso_suivant(int numPerso)
     return numPerso;
 }
 
+/*!
+ * \fn int actualiser_num_perso(int numPerso)
+ * \brief permet de changer le personnage actuel lorsqu'on change de joueur
+ *
+ * \param le numéro du personnage actuel (1,2,3 pour le 1er joueur, 4,5,6 pour le 2eme)
+ * \return le numéro du 1er personnage du joueur suivant (4 ou 1)
+ */
 int actualiser_num_perso(int numPerso)
 {
     if (numPerso<=NB_PERSO) numPerso=NB_PERSO+1;
@@ -153,13 +166,13 @@ int afficher_cartes_personnalisees()
 
 
 /*!
- * \fn char* afficherListeClasses(char** nomsClasses, char** skinsClasses, int nbChoix, TTF_Font* police,SDL_Color couleurTexte)
+ * \fn char* afficherListeClasses(char** nomsClasses, char** skinsClasses, int nbChoix)
  * \brief Fonction permettant le choix de la classe d'un personnage par le joueur
  *
- * \param le tableau contenant les noms des classes, le tableau contenant les adresses de leurs images, le nombre de classes, et la police et la couleur dans lesquelles écrire les noms
+ * \param le tableau contenant les noms des classes, le tableau contenant les adresses de leurs images, et le nombre de classes
  * \return le nom de la classe choisie (ou "fermer" si l'utilisateur ferme la fenetre)
  */
-char* afficherListeClasses(char** nomsClasses, char** skinsClasses, int nbChoix, TTF_Font* police,SDL_Color couleurTexte)
+char* afficherListeClasses(char** nomsClasses, char** skinsClasses, int nbChoix)
 {
     int i, quitter;
     char* classeChoisie;
@@ -170,6 +183,8 @@ char* afficherListeClasses(char** nomsClasses, char** skinsClasses, int nbChoix,
     SDL_Rect positionsTextes[nbChoix];
     SDL_Rect positionsSkins[nbChoix];
     SDL_Color couleurNoire = {0, 0, 0};
+    SDL_Color couleurTexte = {255,255,255};
+    TTF_Font* police = TTF_OpenFont("../resources/fonts/arial.ttf",26);
 
     for(i=0; i<nbChoix; i++)
     {
@@ -226,6 +241,7 @@ char* afficherListeClasses(char** nomsClasses, char** skinsClasses, int nbChoix,
         SDL_FreeSurface(tabSkins[i]);
     }
     SDL_FreeSurface(fenetre);
+    TTF_CloseFont(police);
     return classeChoisie;
 }
 
@@ -581,7 +597,7 @@ int affichage_menu_configuration()
             }
             if(j!=0&&p!=0)
             {
-                classeChoisie=afficherListeClasses(obtenirNomsClasses(), obtenirSkinsClasses(), nombre_classes, police, couleurBlanche);
+                classeChoisie=afficherListeClasses(obtenirNomsClasses(), obtenirSkinsClasses(), nombre_classes);
                 if(classeChoisie!="fermer")
                 {
                     numClassePerso[p-1][j-1]=ajouterPersonnage(classeChoisie, p-1, j);
@@ -805,7 +821,7 @@ int affichage_carte()
             etat=FERMER;
             break;
         case SDL_MOUSEBUTTONDOWN:
-            if(event.button.y>pos_bouton1.y&&event.button.y<pos_bouton1.y+bouton1->h)
+            if(event.button.y>pos_bouton1.y&&event.button.y<pos_bouton1.y+bouton1->h&&event.button.x>LARGEUR_CARTE*LARGEUR_CASE)
             {
                 perso_actuel=perso_suivant(perso_actuel);
                 sprintf(buffer_PV, "PV: %d/%d", obtenirPVPersonnage(perso_actuel),obtenirPVMaxPersonnage(perso_actuel));
@@ -829,7 +845,7 @@ int affichage_carte()
                 }
                 SDL_SetColorKey( perso[perso_actuel], SDL_SRCCOLORKEY, SDL_MapRGB( perso[perso_actuel]->format, 0, 0, 255));
             }
-            if(event.button.y>pos_bouton2.y&&event.button.y<pos_bouton2.y+bouton2->h)
+            if(event.button.y>pos_bouton2.y&&event.button.y<pos_bouton2.y+bouton2->h&&event.button.x>LARGEUR_CARTE*LARGEUR_CASE)
             {
                 finDuTour();
                 debutDuTour();
diff --git a/src/affichage.h b/src/affichage.h
index 36d480d04979a80e3a171365b07128dd703a721b..4324049d83fff1a1dbde5cd1c3261123860a1257 100644
--- a/src/affichage.h
+++ b/src/affichage.h
@@ -2,8 +2,6 @@
 * \file affichage.h
 * \brief Fichier contenant les signatures des fonctions liees a l'affichage par SDL.
 */
-
-
 #ifndef SDL_H_INCLUDED
 #define SDL_H_INCLUDED
 
@@ -19,6 +17,12 @@
 
 int main_affichage();
 
+int perso_suivant(int numPerso);
+int actualiser_num_perso(int numPerso);
+
+int afficher_cartes_personnalisees();
+char* afficherListeClasses(char** nomsClasses, char** skinsClasses, int nbChoix);
+
 int saisie_noms_joueurs();
 
 int affichage_menu_configuration();
@@ -29,6 +33,40 @@ int affichage_carte();
 
 int afficher_menu();
 
-int afficher_cartes_personnalisees();
+/*! \enum EtatsJeu
+ * \brief Definition du type EtatsJeu.
+ */
+ /*
+  * Les états du jeu sont basés sur le scénarion définit dans la documentation.
+  * Il y en a éventuellement à ajouter ou à supprimer.
+  * Je pense notament aux états JxPy attaque ou deplacement.
+  * Il me semble que c'est un état différent à chaque fois, mais peut être qu'on peut
+  * tout réunir dans l'état TOUR_JxPy. Dites moi ce que vous en pensez.
+  * En tout cas les premiers états jusqu'à CONFIGURATION devraient permettre de rendre la V2.
+  */
+typedef enum    {SAISIE_JOUEURS,
+                LANCEMENT,
+                CONFIGURATION,
+                TOUR_J1P1,
+                J1P1_DEPLACEMENT,
+                J1P1_ATTAQUE,
+                TOUR_J1P2,
+                J1P2_DEPLACEMENT,
+                J1P2_ATTAQUE,
+                TOUR_J1P3,
+                J1P3_DEPLACEMENT,
+                J1P3_ATTAQUE,
+                TOUR_J2P1,
+                J2P1_DEPLACEMENT,
+                J2P1_ATTAQUE,
+                TOUR_J2P2,
+                J2P2_DEPLACEMENT,
+                J2P2_ATTAQUE,
+                TOUR_J2P3,
+                J2P3_DEPLACEMENT,
+                J2P3_ATTAQUE,
+                VICTOIRE,
+                FERMER
+                }EtatsJeu;
 
 #endif
diff --git a/src/controleur.c b/src/controleur.c
index 47d124bc7f4e7e7f97bfe58137246342014487a8..aaa28adc460d05d6bac18c27a2efb0759496b859 100644
--- a/src/controleur.c
+++ b/src/controleur.c
@@ -16,8 +16,6 @@
 #include "classe.h"
 #include "gamePackage.h"
 #include "roxml.h"
-#include "affichage.h"
-#include "structures.h"
 
 Partie * partieGlobale;
 Game_Package packGlobal;
@@ -54,6 +52,40 @@ void initJeu(){
     }
  }
 
+ /*!
+ * \fn int x_case_cliquee(int x_pixel, int y_pixel)
+ * \brief La fonction retourne la colonne d'une case à partir de sa position en pixels
+ *
+ * \param les coordonnées x et y de la case en pixels
+ * \return la colonne de la case
+ */
+int x_case_cliquee(int x_pixel, int y_pixel)
+{
+    return x_pixel/LARGEUR_CASE;
+}
+/*!
+ * \fn int y_case_cliquee(int x_pixel, int y_pixel)
+ * \brief La fonction retourne la ligne d'une case à partir de sa position en pixels
+ *
+ * \param les coordonnées x et y de la case en pixels
+ * \return la ligne de la case
+ */
+int y_case_cliquee(int x_pixel, int y_pixel)
+{
+    int i, x_case, y_case;
+    x_case = x_pixel/LARGEUR_CASE;
+    y_case = y_pixel/HAUTEUR_CASE;
+    for(i=1;i<LARGEUR_CARTE;i+=2)
+    {
+           if(x_case==i)
+            {
+                y_case=(y_pixel-HAUTEUR_CASE/2)/HAUTEUR_CASE;
+            }
+    }
+    return y_case;
+}
+
+
   /*!
  * \fn  int nbClasses()
  * \brief Fonction renvoyer le nombre de classes contenues dans le package du jeu
@@ -109,19 +141,6 @@ void initJeu(){
     return tabSkinsClasses;
  }
 
- char ** obtenirSkinsTerrains(){
-    int i;
-    //Allocation du tableau contenant les chaines de charactères
-    char ** tabSkinsTerrains = malloc((getNbTerrains(packGlobal))*sizeof(char *));
-    for(i=0;i<getNbTerrains(packGlobal);i++){
-        tabSkinsTerrains[i]= malloc(TAILLE_CHEMIN*sizeof(char));
-    }
-        //Copie des chemin des skins dans le tableau
-    for(i=0;i<getNbTerrains(packGlobal);i++){
-        strncpy(tabSkinsTerrains[i],packGlobal.Terrains_Package[i].skin_default, TAILLE_CHEMIN);
-    }
-    return tabSkinsTerrains;
- }
 
    /*!
  * \fn void freeClasses()
@@ -169,18 +188,6 @@ char ** obtenirNomsCartes(){
     return tabNomsCartes;
 }
 
-
-  /*!
- * \fn char ** obtenirLignesCarte(int numCarte)
- * \brief Fonction renvoyant le tableau des lignes de la carte numéro numCarte
- *
- * \return un tableau de chaine de charactères (char**).
- */
-char ** obtenirLignesCarte(int numCarte){
-    return packGlobal.Cartes_Package[numCarte-1].lignes;
-}
-
-
   /*!
  * \fn char ** obtenirDescriptionCarte()
  * \brief Fonction renvoyant un tableau de chaine de caractères contenant les descriptions des Cartes.
diff --git a/src/controleur.h b/src/controleur.h
index 1e04ed4d4ae68fe1bbe5e2b7a0634a0b4c1dc96e..454e7405e3b03d37ef8ac1b3b454815322e865b6 100644
--- a/src/controleur.h
+++ b/src/controleur.h
@@ -4,23 +4,24 @@
 */
 
 #include "structures.h"
+#include "affichage.h"
 
 #ifndef CONTROLEUR_H
 #define CONTROLEUR_H
 
 void initJeu();
 
- char ** obtenirSkinsTerrains();
- char ** obtenirLignesCarte(int numCarte);
-
 void ajouterUnJoueur(char * nomDuJoueur, EtatsJeu * etat);
 
+int y_case_cliquee(int x_pixel, int y_pixel);
+int x_case_cliquee(int x_pixel, int y_pixel);
+
 int nbClasses();
 char ** obtenirNomsClasses();
 char ** obtenirSkinsClasses();
 void freeClasses(char ** tab);
 
-int nbCartes();
+ int nbCartes();
 char ** obtenirNomsCartes();
 char ** obtenirDescriptionCarte();
 void freeCartes(char **);
diff --git a/src/controleurSDL.c b/src/controleurSDL.c
deleted file mode 100644
index 46a28c820644ca2d3b5682cee9efa842315ef46d..0000000000000000000000000000000000000000
--- a/src/controleurSDL.c
+++ /dev/null
@@ -1,51 +0,0 @@
-#include <stdlib.h>
-#include <SDL/SDL.h>
-#include "structures.h"
-#include "partie.h"
-#include "joueur.h"
-#include "joueurList.h"
-#include "personnage.h"
-#include "case.h"
-#include "deplacements.h"
-#include "affichage.h"
-#include "controleurSDL.h"
-#include "controleur.h"
-
-/*!
-* \file controleurSDL.c
-* \brief Fichier contenant le code des fonctions du controleur pour l'affichage avec SDL
-*/
-
-
-/*!
- * \fn int x_case_cliquee(int x_pixel, int y_pixel)
- * \brief La fonction retourne la colonne d'une case à partir de sa position en pixels
- *
- * \param les coordonnées x et y de la case en pixels
- * \return la colonne de la case
- */
-int x_case_cliquee(int x_pixel, int y_pixel)
-{
-    return x_pixel/LARGEUR_CASE;
-}
-/*!
- * \fn int y_case_cliquee(int x_pixel, int y_pixel)
- * \brief La fonction retourne la ligne d'une case à partir de sa position en pixels
- *
- * \param les coordonnées x et y de la case en pixels
- * \return la ligne de la case
- */
-int y_case_cliquee(int x_pixel, int y_pixel)
-{
-    int i, x_case, y_case;
-    x_case = x_pixel/LARGEUR_CASE;
-    y_case = y_pixel/HAUTEUR_CASE;
-    for(i=1;i<LARGEUR_CARTE;i+=2)
-    {
-           if(x_case==i)
-            {
-                y_case=(y_pixel-HAUTEUR_CASE/2)/HAUTEUR_CASE;
-            }
-    }
-    return y_case;
-}
diff --git a/src/controleurSDL.h b/src/controleurSDL.h
deleted file mode 100644
index 9762664bf855115e7765095795d85f8509d092ac..0000000000000000000000000000000000000000
--- a/src/controleurSDL.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*!
-* \file controleurSDL.h
-* \brief Fichier contenant les signatures des fonctions du controleur pour l'affichage avec SDL.
-*/
-
-
-#ifndef CONTROLEUR_SDL_H_INCLUDED
-#define CONTROLEUR_SDL_H_INCLUDED
-
-
-int y_case_cliquee(int x_pixel, int y_pixel);
-
-int x_case_cliquee(int x_pixel, int y_pixel);
-
-
-
-void deplacement_personnage(int x, int y);
-
-Case* get_case_perso(int num);
-
-int get_position_perso_x(int num);
-
-int get_position_perso_y(int num);
-
-void init_controleur();
-
-Case* deplacement_brillance(int x,int y);
-
-int get_position_case_y(Case * Case);
-
-int get_position_case_x(Case * Case);
-
-void persosuivant();
-int persoactuel();
-
-
-
-#endif
diff --git a/src/structures.h b/src/structures.h
index 16f3a277dafb9b9bc117544f0884ab3434dab250..c606279cac91b02d916b1468ceffd391646ae411 100644
--- a/src/structures.h
+++ b/src/structures.h
@@ -44,42 +44,6 @@
  */
 typedef enum {faux, vrai} boolean;
 
-/*! \enum boolean
- * \brief Definition du type EtatsJeu.
- */
- /*
-  * Les états du jeu sont basés sur le scénarion définit dans la documentation.
-  * Il y en a éventuellement à ajouter ou à supprimer.
-  * Je pense notament aux états JxPy attaque ou deplacement.
-  * Il me semble que c'est un état différent à chaque fois, mais peut être qu'on peut
-  * tout réunir dans l'état TOUR_JxPy. Dites moi ce que vous en pensez.
-  * En tout cas les premiers états jusqu'à CONFIGURATION devraient permettre de rendre la V2.
-  */
-typedef enum    {SAISIE_JOUEURS,
-                LANCEMENT,
-                CONFIGURATION,
-                TOUR_J1P1,
-                J1P1_DEPLACEMENT,
-                J1P1_ATTAQUE,
-                TOUR_J1P2,
-                J1P2_DEPLACEMENT,
-                J1P2_ATTAQUE,
-                TOUR_J1P3,
-                J1P3_DEPLACEMENT,
-                J1P3_ATTAQUE,
-                TOUR_J2P1,
-                J2P1_DEPLACEMENT,
-                J2P1_ATTAQUE,
-                TOUR_J2P2,
-                J2P2_DEPLACEMENT,
-                J2P2_ATTAQUE,
-                TOUR_J2P3,
-                J2P3_DEPLACEMENT,
-                J2P3_ATTAQUE,
-                VICTOIRE,
-                FERMER
-                }EtatsJeu;
-
 /*! \struct Skins_Charac structures.h
  * \brief Definition de la structure Skins_Charac
  * sizeof(Skins_Charac) = 200 octets