diff --git a/resources/Maps.txt b/resources/Maps.txt
index 79cb99b30ad75a95b4b0010c1a936749b862cea4..9f3373d00e6ff1cb9636489a0debaa57dade2d7f 100644
--- a/resources/Maps.txt
+++ b/resources/Maps.txt
@@ -1,78 +1,72 @@
-MAP1 10*16
+MAP1 6 8
 
-MFMMMFFPPF
-PFFFFFFPPF
-PFPPPFFPPF
-PFPPPFFPPF
-PFPPFFFPPF
-PFMMMFFPPF
-PFMFFFFPPF
-PFMMPFFPPF
-PFPPPFFPPF
-PFPPFFPPFP
-PFFPPFFPPF
-PFFFMFFPPF
-PFPMMFFPPF
-PFMMMFFPPF
-PFFFPFFPPF
-PFPPPPFPPF
+FFMMMF
+FFMMMF
+FFMMMF
+FFMMMF
+FFMMMF
+FFMMMF
+FFMMMF
+FFMMMF
 
 
-MAP2 10*16
+MAP2 5 4
 
-FFMMMFFPPF
-PFFFFFFPPF
-PFPPPFFPPF
-PFPPPFFPPF
-PFPPFFFPPF
-PFMMMFFPPF
-PFMFFFFPPF
-PFMMPFFPPF
-PFPPPFFPPF
-PFPPFFPPFP
-PFFPPFFPPF
-PFFFMFFPPF
-PFPMMFFPPF
-PFMMMFFPPF
-PFFFPFFPPF
-PFPPPPFPPF
+FFPPM
+FFPPM
+FFPPM
+FFPPM
 
 
-MAP3 10*16
+MAP3 6 10
 
-FFMMMFFPPF
-PFFFFFFPPF
-PFPPPFFPPF
-PFPPPFFPPF
-PFPPFFFPPF
-PFMMMFFPPF
-PFMFFFFPPF
-PFMMPFFPPF
-PFPPPFFPPF
-PFPPFFPPFP
-PFFPPFFPPF
-PFFFMFFPPF
-PFPMMFFPPF
-PFMMMFFPPF
-PFFFPFFPPF
-PFPPPPFPPF
+FFPFMP
+FFPFMP
+FFPFMP
+FFPFMP
+FFPFMP
+FFPFMP
+FFPFMP
+FFPFMP
+FFPFMP
+FFPFMP
 
 
-MAP4 10*16
+MAP4 16 10
 
-FFMMMFFPPF
-PFFFFFFPPF
-PFPPPFFPPF
-PFPPPFFPPF
-PFPPFFFPPF
-PFMMMFFPPF
-PFMFFFFPPF
-PFMMPFFPPF
-PFPPPFFPPF
-PFPPFFPPFP
-PFFPPFFPPF
-PFFFMFFPPF
-PFPMMFFPPF
-PFMMMFFPPF
-PFFFPFFPPF
-PFPPPPFPPF
\ No newline at end of file
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+
+
+MAP5 16 10
+
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
+MPPFFPPPFM
\ No newline at end of file
diff --git a/src/carte.c b/src/carte.c
index b72e5b8a37625ee34f13e5aa6c77ddb8eaa6d6d7..377658d3649fdda105b192312871cd025d3c181f 100644
--- a/src/carte.c
+++ b/src/carte.c
@@ -10,6 +10,12 @@
 */
 
 
+char* ExtraireCarte(int numero)
+{
+    return LireCarte("../resources/Maps.txt",numero);
+}
+
+
 /*!
  * \fn Carte* LireCarte(int num)
  * \brief La fonction recupere la n-ieme carte dans un fichier et renvoie un pointeur sur la carte cree
@@ -18,51 +24,58 @@
  */
 char* LireCarte(const char *filename, int num)
 {
-    char char_num_map[2],char_nb_lignes[2]="",char_nb_colonnes[2]="";
-    int num_map = 0, nb_lignes = 0, nb_colonnes = 0, i=0, j=0, k=0;
+    char char_num_map[1],char_nb_lignes[2]="",char_nb_colonnes[2]="";
+    char char_actuel;
+    int num_map = 0, nb_lignes = 0, nb_colonnes = 0, i=0, j=0, k=0, taille_Tableau = 0;
     FILE* file_map = NULL;
     file_map = fopen(filename, "r");
 
     fseek(file_map, 3, SEEK_SET);
-    (fgets(char_num_map,3,file_map));
-    num_map = atoi(char_num_map);
-    (fgets(char_nb_lignes,3,file_map));
-    nb_lignes = atoi(char_nb_lignes);
-    fseek(file_map, 1, SEEK_CUR);
-    (fgets(char_nb_colonnes,3,file_map));
-    nb_colonnes = atoi(char_nb_colonnes);
-
-    while(num_map < num)
+    fscanf(file_map,"%d %d %d", &num_map, &nb_lignes, &nb_colonnes); /*! Lecture du nom et de la taille de la premiere map */
+
+    fgetc(file_map);
+    fgetc(file_map);
+
+    while(num_map < num)    /*! Descend jusqu'à la prochaine map */
     {
-        for(k=0; k<nb_colonnes+4; k++) /*! Descend jusqu'à la prochaine map */
+        for(k=0; k<nb_colonnes; k++) /*! Descend jusqu'à la prochaine map */
         {
-            fseek(file_map,nb_lignes,SEEK_CUR);
+            fseek(file_map,nb_lignes+2,SEEK_CUR);
         }
+        fgetc(file_map);
+        fgetc(file_map);
         fseek(file_map, 3, SEEK_CUR);
-        (fgets(char_num_map,3,file_map));
-        num_map = atoi(char_num_map);
-        (fgets(char_nb_lignes,3,file_map));
-        nb_lignes = atoi(char_nb_lignes);
-        fseek(file_map, 1, SEEK_CUR);
-        (fgets(char_nb_colonnes,3,file_map));
-        nb_colonnes = atoi(char_nb_colonnes);
-    }
 
-    fseek(file_map, 4, SEEK_CUR);
+        fscanf(file_map,"%d %d %d", &num_map, &nb_lignes, &nb_colonnes);  /*! Lecture du nom et de la taille de la map */
+        fgetc(file_map);
+        fgetc(file_map);
+    }
 
     char * TableauCarte = NULL;
-    TableauCarte = malloc(nb_colonnes * nb_lignes * sizeof(char));
+    taille_Tableau = nb_colonnes*nb_lignes*sizeof(char);
+    TableauCarte = malloc(taille_Tableau);
 
     for(i=0; i<nb_colonnes; i++)
     {
-        for(j=0; j<=nb_lignes; j++)
+        for(j=0; j<nb_lignes; j++)
         {
-            TableauCarte[nb_lignes*i+j]=fgetc(file_map);
+            char_actuel = fgetc(file_map);
+            TableauCarte[nb_lignes*i+j] = char_actuel;
         }
+        fgetc(file_map);
+    }
+
+/* Test Tableau
+
+    for(j=0; j<nb_lignes*nb_colonnes; j++)
+    {
+        printf("La valeur %d du tableau vaut : %c\n",j,TableauCarte[j]);
     }
 
     fclose(file_map);
+*/
     return TableauCarte;
 }
 
 
+
diff --git a/src/carte.h b/src/carte.h
index bc58c4cff4271ba2adf70c07cc06708b09a0e922..abbe315a3df089a09fe7660b8c072a768175785d 100644
--- a/src/carte.h
+++ b/src/carte.h
@@ -3,6 +3,8 @@
 * \brief Fichier contenant les signatures des fonctions liees a la structure carte.
 */
 
+char* ExtraireCarte(int numero);
+
 char* LireCarte(const char *filename, int num);
 
 #ifndef CARTE_H_INCLUDED
diff --git a/src/main.c b/src/main.c
index e579fd1dc2c2f8110b718e301948a70728edfa51..7790bf78f67f061debdc98234018ce3c9f63c4fa 100644
--- a/src/main.c
+++ b/src/main.c
@@ -10,7 +10,6 @@
 
 int init_jeu(const char *filename){ /* crée les différents types de terrains, de classes et d'attaques en lisant dans un fichier */
    FILE *fichier_init;
-
    fichier_init=fopen(filename,"r");
     if (!fichier_init==NULL)
     {
@@ -45,6 +44,15 @@ int init_jeu(const char *filename){ /* cr
                 strcat(fichier_text, fichier_temp);
                 Librairie_Terrains(fichier_text);
             }
+            if(strcmp(nom,"Cartes")==0)
+            {
+                char fichier_text[50];
+                char fichier_temp[50];
+                strcpy(fichier_text,"../resources/");
+                strcpy(fichier_temp,roxml_get_content(roxml_get_attr(config_actuelle, "fichier", 0), NULL, 0, NULL));
+                strcat(fichier_text, fichier_temp);
+                char *Map_B = ExtraireCarte(2);
+            }
             if(strcmp(nom,"Competences")==0)
             {
                 /* Initialisation des compétences à venir */
@@ -58,7 +66,7 @@ int init_jeu(const char *filename){ /* cr
         fprintf(stderr,"Erreur dans l'ouverture du fichier");
         return 1;
     }
-
+    return 0;
 }
 
 
@@ -67,13 +75,15 @@ int init_jeu(const char *filename){ /* cr
 int main()
 {
 
-
 init_jeu("../resources/Init_jeu.xml");
 
 
-main_SDL();
+char *Map_A = ExtraireCarte(4);
 
-//printf("La case choisie est : %c\n",LireCarte("../resources/Maps.txt",3)[10]);
+printf("La valeur choisie est : %c\n", Map_A[0]);
+
+
+main_SDL();