diff --git a/image.c b/image.c
index 69ee4ca7f4e116a07d4b80986b144c0a2bde8e6c..00db74cb5f84961e3d06407ab1cd1e528721e2fb 100644
--- a/image.c
+++ b/image.c
@@ -12,7 +12,8 @@ SDL_Texture* charger_image(const char* cheminFichier, SDL_Renderer* renderer, in
   return image;
 }
 
-void afficher_niveau(int *tab, SDL_Renderer *renderer, SDL_Texture **spriteMap, int xCamera, int yCamera){
+
+void afficher_niveau(char *tab, SDL_Renderer *renderer, SDL_Texture **spriteMap, int xCamera, int yCamera){
   SDL_Rect destrect;
   destrect.h = 50;
   destrect.w = 50;
@@ -21,11 +22,20 @@ void afficher_niveau(int *tab, SDL_Renderer *renderer, SDL_Texture **spriteMap,
       destrect.x = i * 50 - xCamera;
       destrect.y = j * 50 - yCamera;
       SDL_RenderCopy(renderer, spriteMap[0], NULL, &destrect);
-      for(int k = 1; k < 9; k++){
-        if(tab[30*j+i] == k){
-          SDL_RenderCopy(renderer, spriteMap[k], NULL, &destrect);
-        }
+
+      switch(tab[30*j+i]){
+
+      case 'H':
+        SDL_RenderCopy(renderer, spriteMap[1], NULL, &destrect);
+        break;
+      case 'Q':
+        break;
+      case 'V':
+        SDL_RenderCopy(renderer, spriteMap[3], NULL, &destrect);
+        break;
       }
+
+
     }
   }
   return;
diff --git a/image.h b/image.h
index df42d8bb70cbe3a376bae15bd17fb296427ce92f..10b9a03303f1e7abd001c0b6d2505293bcdc8e01 100644
--- a/image.h
+++ b/image.h
@@ -2,4 +2,4 @@
 #include <SDL2/SDL_image.h>
 
 SDL_Texture* charger_image(const char* fichier, SDL_Renderer* renderer, int r, int g, int b);
-void afficher_niveau(int *tab, SDL_Renderer *renderer, SDL_Texture **spriteMap, int xCamera, int yCamera);
+void afficher_niveau(char *tab, SDL_Renderer *renderer, SDL_Texture **spriteMap, int xCamera, int yCamera);
diff --git a/listeR.c b/listeR.c
index 4c3e022315a7cd9c96cbf51589f955de22c6a9de..61df5ca995f23381978f73b92390b89e30c9b5dd 100644
--- a/listeR.c
+++ b/listeR.c
@@ -1,4 +1,5 @@
 #include "listeR.h"
+#include <stdio.h>
 
 
 void cons_listeR(ListeR *L, SDL_Rect data){
@@ -10,73 +11,104 @@ void cons_listeR(ListeR *L, SDL_Rect data){
 }
 
 
-void charger_niveau(int *tab, ListeR *L){
-  //on met toutes les case � 0 pour dire que tout est du sol (provisoire)
-  for(int j = 0; j < 30; j++){
-    for(int i = 0; i < 30; i++){
-      tab[30*j+i] = 0;
-    }
-  }
+void charger_niveau(char *tab, ListeR *L){
 
-  //ici lire fichier et remplacer les cases qu'il faut par 1-8 pour mettre des murs
-  //je mets �a en attendant pour afficher des murs sur le bord de la map
-  for(int j = 0; j < 30; j++){
-    tab[30*j+0] = 3;
-    tab[30*j+29] = 4;
-    tab[30*0+j] = 1;
-    tab[30*29+j] = 2;
+  FILE* fichier = NULL;
+  fichier = fopen("map.txt", "r");
+  int caractereActuel;
+  if (fichier != NULL){
+
+         for(int j = 0; j < 33; j++){
+
+            for(int i = 0; i < 31; i++){
+                if(j < 31){
+
+                if(i==0){
+                    //caractereActuel = fgetc(fichier);
+                    caractereActuel = fgetc(fichier);
+                    char tmp = caractereActuel;
+                       //                 caractereActuel = fgetc(fichier);
+                    caractereActuel = tmp;
+
+
+                    tab[30*j+i] = caractereActuel;
+                    printf("%c", tab[30*j+i]);
+                }
+
+                else{
+                    caractereActuel = fgetc(fichier);
+                    tab[30*j+i] = caractereActuel;
+                    printf("%c", tab[30*j+i]);
+                }
+                }
+            }
+
+         }
+
+        fclose(fichier);
   }
-  tab[30*0+0] = 5;
-  tab[30*0+29] = 6;
-  tab[30*29+0] = 7;
-  tab[30*29+29] = 8;
 
   //Remplir la liste de murs
   SDL_Rect rect;
   for(int j = 0; j < 30; j++){
     for(int i = 0; i < 30; i++){
       switch(tab[30*j+i]){
-      case 0:
+      case 'S':
+
         break;
-      case 1:
+      case 'H':
         rect.x = i * 50;
         rect.y = j * 50;
         rect.h = 25;
         rect.w = 50;
         cons_listeR(L, rect);
+        //tab[30*j+i] = 1;
+        break;
+      case 'V':
+        rect.x = i * 50;
+        rect.y = j * 50;
+        rect.h = 50;
+        rect.w = 25;
+        cons_listeR(L, rect);
+        //tab[30*j+i] = 3;
         break;
-      case 2:
+      /**
+      case '2':
         rect.x = i * 50;
         rect.y = j * 50 + 25;
         rect.h = 25;
         rect.w = 50;
-        cons_listeR(L, rect);
+        L = cons_listeR(L, rect);
         break;
-      case 3:
+      case '3':
         rect.x = i * 50;
         rect.y = j * 50;
         rect.h = 50;
         rect.w = 25;
-        cons_listeR(L, rect);
+        L = cons_listeR(L, rect);
         break;
-      case 4:
+      case '4':
         rect.x = i * 50 + 25;
         rect.y = j * 50;
         rect.h = 50;
         rect.w = 25;
-        cons_listeR(L, rect);
+        L = cons_listeR(L, rect);
         break;
 
-      case 5:
-      case 6:
-      case 7:
-      case 8:
+      case '5':
+      case '6':
+      case '7':
+      case '8':
         rect.x = i * 50;
         rect.y = j * 50;
         rect.h = 50;
         rect.w = 50;
-        cons_listeR(L, rect);
+        L = cons_listeR(L, rect);
+        break;
+      case '0':
+
         break;
+       */
       }
     }
   }
diff --git a/listeR.h b/listeR.h
index aab23b07c45e50531fef4568e6d2445a3e8cf02b..d0e7833b029d954e109f9b18c19d920727db0480 100644
--- a/listeR.h
+++ b/listeR.h
@@ -11,5 +11,5 @@ struct s_ListeR
 
 
 void cons_listeR(ListeR *L, SDL_Rect data);
-void charger_niveau(int *tab, ListeR *L);
+void charger_niveau(char *tab, ListeR *L);
 bool detecter_collision_murs(ListeR L, SDL_Rect rect, int xCamera, int yCamera);
diff --git a/main.c b/main.c
index 4a5888db2b598063e8f8fc851b80d16b32006f94..549fff6c15995e528627f0baca611d91dea9aed6 100644
--- a/main.c
+++ b/main.c
@@ -12,7 +12,8 @@ int main(int argc, char *argv[])
     SDL_Texture *tmp, *balleSprite, *sprites[4], *spritesMap[9];
     float mouseX, mouseY;
     int vitesse, tempsActuel, tempsPrecedent, tempsActuelTir, tempsActuelAnim, tempsPrecedentAnim,
-        xCamera, yCamera, dxCamera, dyCamera, map[30][30]; ;
+        xCamera, yCamera, dxCamera, dyCamera;
+    char map[32][30]; ;
     ListeB ballesTirees;
     ListeP persosListe;
     ListeR mursListe;
@@ -73,6 +74,45 @@ int main(int argc, char *argv[])
     tmp = charger_image("sprites/effets/blood/blood_hitv3.png", ecran, 0, 0, -1);
     sprites[3] = tmp;
 
+  /**
+  FILE* fichier = NULL;
+  fichier = fopen("map.txt", "r");
+  int caractereActuel;
+  if (fichier != NULL){
+
+         for(int j = 0; j < 33; j++){
+
+            for(int i = 0; i < 31; i++){
+                if(j < 31){
+
+                if(i==0){
+                    //caractereActuel = fgetc(fichier);
+                    caractereActuel = fgetc(fichier);
+                    char tmp = caractereActuel;
+                       //                 caractereActuel = fgetc(fichier);
+                    caractereActuel = tmp;
+
+
+                    map[j][i] = caractereActuel;
+                    printf("%c", map[j][i]);
+                }
+
+                else{
+                    caractereActuel = fgetc(fichier);
+                    map[j][i] = caractereActuel;
+                    printf("%c", map[j][i]);
+                }
+                }
+            }
+
+         }
+
+        fclose(fichier);
+  }
+  */
+
+
+
     //Sons
     musique = NULL;