diff --git a/resources/Init_jeu.xml b/resources/Init_jeu.xml
new file mode 100644
index 0000000000000000000000000000000000000000..693cd36bf78ffa9762d880d9e246955b44e2176c
--- /dev/null
+++ b/resources/Init_jeu.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<Config>
+
+	<Terrains fichier="Terrains.xml">
+	</Terrains>
+
+	<Classes fichier="Classes.xml">
+	</Classes>
+
+	<Competences fichier="Competences.xml">
+	</Terrains>
+
+</Config>
\ No newline at end of file
diff --git a/src/main.c b/src/main.c
index c28f7fd62028e8cee1f64933d6876818a4bfa20a..303ce1fa2f9f8d66e5a9e3379d624b6be50c1e91 100644
--- a/src/main.c
+++ b/src/main.c
@@ -5,26 +5,74 @@
 #include "case.h"
 #include "terrain.h"
 #include "SDL.h"
+#include "roxml.h"
 
-int init_jeu(){ /* crée les différents types de terrains, de classes et d'attaques en lisant dans un fichier */
-   FILE *fichier;
-   fichier=fopen("../resources/fichier_init.txt","r");
-    if (fichier==NULL){
-        fprintf(stderr,"erreur dans l'ouverture du fichier");
+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)
+    {
+        node_t *rootXML, *ConfigXML, *Classes, *Terrains;
+        char *nom[20];
+        int i=0, nombre_config=0;
+
+        rootXML = roxml_load_doc(filename);
+        ConfigXML = roxml_get_chld(rootXML, NULL, 0);
+        nombre_config = roxml_get_chld_nb(ConfigXML);
+
+        for(i=0; i<nombre_config; i++)
+        {
+            node_t* config_actuelle = roxml_get_chld(ConfigXML, NULL, i);
+            roxml_get_name(config_actuelle, nom, 20);
+
+            if(strcmp(nom,"Classes")==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);
+                printf("Fichier vaut : %s\n", fichier_text);
+                Librairie_Classes(fichier_text);
+            }
+            if(strcmp(nom,"Terrains")==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);
+                printf("Fichier vaut : %s\n", fichier_text);
+                Librairie_Terrains(fichier_text);
+            }
+            if(strcmp(nom,"Competences")==0)
+            {
+                /* Initialisation des compétences à venir */
+
+            }
+        }
+
+        fclose(fichier_init);
+
+    }else{
+        fprintf(stderr,"Erreur dans l'ouverture du fichier");
         return 1;
     }
+
 }
 
 
+
 int main()
 {
 
-    main_SDL();
 
 
-    /* A intégrer dans init_jeu */
-    Librairie_Terrains("../resources/Terrains.xml"); /* Chargement des terrains (voir le fichier log créé) */
-    Librairie_Classes("../resources/Classes.xml"); /* Chargement des classes (voir le fichier log créé) */
+    init_jeu("../resources/Init_jeu.xml");
+
+    main_SDL();
+
 
 
 return 0;