diff --git a/.makefile.swo b/.makefile.swo
new file mode 100644
index 0000000000000000000000000000000000000000..4cd04a449db60d7559ad55ee963d7ec3353fc229
Binary files /dev/null and b/.makefile.swo differ
diff --git a/.makefile.swp b/.makefile.swp
new file mode 100644
index 0000000000000000000000000000000000000000..5c4bf0d82e79f7ca37e5c23133daadbd6980dd9d
Binary files /dev/null and b/.makefile.swp differ
diff --git a/README.md b/README.md
index ead7d4e02d0119f93208b03b8a0ed626514c3f2e..8f6c5c46ef53433a7e640b4c2ffa61bb623eeba2 100644
--- a/README.md
+++ b/README.md
@@ -4,9 +4,9 @@
 Versioning
 
     version: 1.0 --> jeu de la vie niveau 1 & 2
-    version: 2.0 --> 
-    version: 3.0 --> 
+    version: 2.0 --> jeu de la vie rendu final 
+
 
 Author 
 
-        TALY YASSINE
\ No newline at end of file
+        TALY YASSINE 
diff --git a/TALY_YASSINE_lavie_v2.0.tar.xz b/TALY_YASSINE_lavie_v2.0.tar.xz
new file mode 100644
index 0000000000000000000000000000000000000000..25ca87ee5169b3b70bb58ae32a47a9b9669c7f3a
Binary files /dev/null and b/TALY_YASSINE_lavie_v2.0.tar.xz differ
diff --git a/TalyYassine-GOL-v1.0.tar.xz b/TalyYassine-GOL-v1.0.tar.xz
deleted file mode 100644
index 8211fb6d343fbf6396cf468f085261710c17b5fc..0000000000000000000000000000000000000000
Binary files a/TalyYassine-GOL-v1.0.tar.xz and /dev/null differ
diff --git a/grilles/grille1.txt b/bin/grilles/grille1.txt
similarity index 100%
rename from grilles/grille1.txt
rename to bin/grilles/grille1.txt
diff --git a/grilles/grille2.txt b/bin/grilles/grille2.txt
similarity index 100%
rename from grilles/grille2.txt
rename to bin/grilles/grille2.txt
diff --git a/grilles/grille3.txt b/bin/grilles/grille3.txt
similarity index 100%
rename from grilles/grille3.txt
rename to bin/grilles/grille3.txt
diff --git a/grilles/grille4.txt b/bin/grilles/grille4.txt
similarity index 100%
rename from grilles/grille4.txt
rename to bin/grilles/grille4.txt
diff --git a/grilles/grille5.txt b/bin/grilles/grille5.txt
similarity index 100%
rename from grilles/grille5.txt
rename to bin/grilles/grille5.txt
diff --git a/grilles/grille6.txt b/bin/grilles/grille6.txt
similarity index 100%
rename from grilles/grille6.txt
rename to bin/grilles/grille6.txt
diff --git a/grilles/grille7.txt b/bin/grilles/grille7.txt
similarity index 100%
rename from grilles/grille7.txt
rename to bin/grilles/grille7.txt
diff --git a/grilles/grille8.txt b/bin/grilles/grille8.txt
similarity index 100%
rename from grilles/grille8.txt
rename to bin/grilles/grille8.txt
diff --git a/Doxyfile b/doc/Doxyfile
similarity index 100%
rename from Doxyfile
rename to doc/Doxyfile
diff --git a/html/annotated.html b/doc/html/annotated.html
similarity index 100%
rename from html/annotated.html
rename to doc/html/annotated.html
diff --git a/html/bc_s.png b/doc/html/bc_s.png
similarity index 100%
rename from html/bc_s.png
rename to doc/html/bc_s.png
diff --git a/html/bdwn.png b/doc/html/bdwn.png
similarity index 100%
rename from html/bdwn.png
rename to doc/html/bdwn.png
diff --git a/html/classes.html b/doc/html/classes.html
similarity index 100%
rename from html/classes.html
rename to doc/html/classes.html
diff --git a/html/closed.png b/doc/html/closed.png
similarity index 100%
rename from html/closed.png
rename to doc/html/closed.png
diff --git a/html/doc.png b/doc/html/doc.png
similarity index 100%
rename from html/doc.png
rename to doc/html/doc.png
diff --git a/html/doxygen.css b/doc/html/doxygen.css
similarity index 100%
rename from html/doxygen.css
rename to doc/html/doxygen.css
diff --git a/html/doxygen.png b/doc/html/doxygen.png
similarity index 100%
rename from html/doxygen.png
rename to doc/html/doxygen.png
diff --git a/html/dynsections.js b/doc/html/dynsections.js
similarity index 100%
rename from html/dynsections.js
rename to doc/html/dynsections.js
diff --git a/html/files.html b/doc/html/files.html
similarity index 100%
rename from html/files.html
rename to doc/html/files.html
diff --git a/html/folderclosed.png b/doc/html/folderclosed.png
similarity index 100%
rename from html/folderclosed.png
rename to doc/html/folderclosed.png
diff --git a/html/folderopen.png b/doc/html/folderopen.png
similarity index 100%
rename from html/folderopen.png
rename to doc/html/folderopen.png
diff --git a/html/globals.html b/doc/html/globals.html
similarity index 100%
rename from html/globals.html
rename to doc/html/globals.html
diff --git a/html/globals_func.html b/doc/html/globals_func.html
similarity index 100%
rename from html/globals_func.html
rename to doc/html/globals_func.html
diff --git a/html/graph_legend.dot b/doc/html/graph_legend.dot
similarity index 100%
rename from html/graph_legend.dot
rename to doc/html/graph_legend.dot
diff --git a/html/graph_legend.html b/doc/html/graph_legend.html
similarity index 100%
rename from html/graph_legend.html
rename to doc/html/graph_legend.html
diff --git a/html/graph_legend.md5 b/doc/html/graph_legend.md5
similarity index 100%
rename from html/graph_legend.md5
rename to doc/html/graph_legend.md5
diff --git a/html/grille_8c.html b/doc/html/grille_8c.html
similarity index 100%
rename from html/grille_8c.html
rename to doc/html/grille_8c.html
diff --git a/html/grille_8c__incl.dot b/doc/html/grille_8c__incl.dot
similarity index 100%
rename from html/grille_8c__incl.dot
rename to doc/html/grille_8c__incl.dot
diff --git a/html/grille_8c__incl.md5 b/doc/html/grille_8c__incl.md5
similarity index 100%
rename from html/grille_8c__incl.md5
rename to doc/html/grille_8c__incl.md5
diff --git a/html/grille_8h.html b/doc/html/grille_8h.html
similarity index 100%
rename from html/grille_8h.html
rename to doc/html/grille_8h.html
diff --git a/html/grille_8h__dep__incl.dot b/doc/html/grille_8h__dep__incl.dot
similarity index 100%
rename from html/grille_8h__dep__incl.dot
rename to doc/html/grille_8h__dep__incl.dot
diff --git a/html/grille_8h__dep__incl.md5 b/doc/html/grille_8h__dep__incl.md5
similarity index 100%
rename from html/grille_8h__dep__incl.md5
rename to doc/html/grille_8h__dep__incl.md5
diff --git a/html/grille_8h__incl.dot b/doc/html/grille_8h__incl.dot
similarity index 100%
rename from html/grille_8h__incl.dot
rename to doc/html/grille_8h__incl.dot
diff --git a/html/grille_8h__incl.md5 b/doc/html/grille_8h__incl.md5
similarity index 100%
rename from html/grille_8h__incl.md5
rename to doc/html/grille_8h__incl.md5
diff --git a/html/grille_8h_source.html b/doc/html/grille_8h_source.html
similarity index 100%
rename from html/grille_8h_source.html
rename to doc/html/grille_8h_source.html
diff --git a/html/index.html b/doc/html/index.html
similarity index 100%
rename from html/index.html
rename to doc/html/index.html
diff --git a/html/io_8c.html b/doc/html/io_8c.html
similarity index 100%
rename from html/io_8c.html
rename to doc/html/io_8c.html
diff --git a/html/io_8c__incl.dot b/doc/html/io_8c__incl.dot
similarity index 100%
rename from html/io_8c__incl.dot
rename to doc/html/io_8c__incl.dot
diff --git a/html/io_8c__incl.md5 b/doc/html/io_8c__incl.md5
similarity index 100%
rename from html/io_8c__incl.md5
rename to doc/html/io_8c__incl.md5
diff --git a/html/io_8h.html b/doc/html/io_8h.html
similarity index 100%
rename from html/io_8h.html
rename to doc/html/io_8h.html
diff --git a/html/io_8h__dep__incl.dot b/doc/html/io_8h__dep__incl.dot
similarity index 100%
rename from html/io_8h__dep__incl.dot
rename to doc/html/io_8h__dep__incl.dot
diff --git a/html/io_8h__dep__incl.md5 b/doc/html/io_8h__dep__incl.md5
similarity index 100%
rename from html/io_8h__dep__incl.md5
rename to doc/html/io_8h__dep__incl.md5
diff --git a/html/io_8h__incl.dot b/doc/html/io_8h__incl.dot
similarity index 100%
rename from html/io_8h__incl.dot
rename to doc/html/io_8h__incl.dot
diff --git a/html/io_8h__incl.md5 b/doc/html/io_8h__incl.md5
similarity index 100%
rename from html/io_8h__incl.md5
rename to doc/html/io_8h__incl.md5
diff --git a/html/io_8h_source.html b/doc/html/io_8h_source.html
similarity index 100%
rename from html/io_8h_source.html
rename to doc/html/io_8h_source.html
diff --git a/html/jeu_8c.html b/doc/html/jeu_8c.html
similarity index 100%
rename from html/jeu_8c.html
rename to doc/html/jeu_8c.html
diff --git a/html/jeu_8c__incl.dot b/doc/html/jeu_8c__incl.dot
similarity index 100%
rename from html/jeu_8c__incl.dot
rename to doc/html/jeu_8c__incl.dot
diff --git a/html/jeu_8c__incl.md5 b/doc/html/jeu_8c__incl.md5
similarity index 100%
rename from html/jeu_8c__incl.md5
rename to doc/html/jeu_8c__incl.md5
diff --git a/html/jeu_8h.html b/doc/html/jeu_8h.html
similarity index 100%
rename from html/jeu_8h.html
rename to doc/html/jeu_8h.html
diff --git a/html/jeu_8h__dep__incl.dot b/doc/html/jeu_8h__dep__incl.dot
similarity index 100%
rename from html/jeu_8h__dep__incl.dot
rename to doc/html/jeu_8h__dep__incl.dot
diff --git a/html/jeu_8h__dep__incl.md5 b/doc/html/jeu_8h__dep__incl.md5
similarity index 100%
rename from html/jeu_8h__dep__incl.md5
rename to doc/html/jeu_8h__dep__incl.md5
diff --git a/html/jeu_8h__incl.dot b/doc/html/jeu_8h__incl.dot
similarity index 100%
rename from html/jeu_8h__incl.dot
rename to doc/html/jeu_8h__incl.dot
diff --git a/html/jeu_8h__incl.md5 b/doc/html/jeu_8h__incl.md5
similarity index 100%
rename from html/jeu_8h__incl.md5
rename to doc/html/jeu_8h__incl.md5
diff --git a/html/jeu_8h_source.html b/doc/html/jeu_8h_source.html
similarity index 100%
rename from html/jeu_8h_source.html
rename to doc/html/jeu_8h_source.html
diff --git a/html/jquery.js b/doc/html/jquery.js
similarity index 100%
rename from html/jquery.js
rename to doc/html/jquery.js
diff --git a/html/main_8c.html b/doc/html/main_8c.html
similarity index 100%
rename from html/main_8c.html
rename to doc/html/main_8c.html
diff --git a/html/main_8c__incl.dot b/doc/html/main_8c__incl.dot
similarity index 100%
rename from html/main_8c__incl.dot
rename to doc/html/main_8c__incl.dot
diff --git a/html/main_8c__incl.md5 b/doc/html/main_8c__incl.md5
similarity index 100%
rename from html/main_8c__incl.md5
rename to doc/html/main_8c__incl.md5
diff --git a/html/menu.js b/doc/html/menu.js
similarity index 100%
rename from html/menu.js
rename to doc/html/menu.js
diff --git a/html/menudata.js b/doc/html/menudata.js
similarity index 100%
rename from html/menudata.js
rename to doc/html/menudata.js
diff --git a/html/nav_f.png b/doc/html/nav_f.png
similarity index 100%
rename from html/nav_f.png
rename to doc/html/nav_f.png
diff --git a/html/nav_g.png b/doc/html/nav_g.png
similarity index 100%
rename from html/nav_g.png
rename to doc/html/nav_g.png
diff --git a/html/nav_h.png b/doc/html/nav_h.png
similarity index 100%
rename from html/nav_h.png
rename to doc/html/nav_h.png
diff --git a/html/open.png b/doc/html/open.png
similarity index 100%
rename from html/open.png
rename to doc/html/open.png
diff --git a/html/search/all_0.html b/doc/html/search/all_0.html
similarity index 100%
rename from html/search/all_0.html
rename to doc/html/search/all_0.html
diff --git a/html/search/all_0.js b/doc/html/search/all_0.js
similarity index 100%
rename from html/search/all_0.js
rename to doc/html/search/all_0.js
diff --git a/html/search/all_1.html b/doc/html/search/all_1.html
similarity index 100%
rename from html/search/all_1.html
rename to doc/html/search/all_1.html
diff --git a/html/search/all_1.js b/doc/html/search/all_1.js
similarity index 100%
rename from html/search/all_1.js
rename to doc/html/search/all_1.js
diff --git a/html/search/all_2.html b/doc/html/search/all_2.html
similarity index 100%
rename from html/search/all_2.html
rename to doc/html/search/all_2.html
diff --git a/html/search/all_2.js b/doc/html/search/all_2.js
similarity index 100%
rename from html/search/all_2.js
rename to doc/html/search/all_2.js
diff --git a/html/search/all_3.html b/doc/html/search/all_3.html
similarity index 100%
rename from html/search/all_3.html
rename to doc/html/search/all_3.html
diff --git a/html/search/all_3.js b/doc/html/search/all_3.js
similarity index 100%
rename from html/search/all_3.js
rename to doc/html/search/all_3.js
diff --git a/html/search/all_4.html b/doc/html/search/all_4.html
similarity index 100%
rename from html/search/all_4.html
rename to doc/html/search/all_4.html
diff --git a/html/search/all_4.js b/doc/html/search/all_4.js
similarity index 100%
rename from html/search/all_4.js
rename to doc/html/search/all_4.js
diff --git a/html/search/all_5.html b/doc/html/search/all_5.html
similarity index 100%
rename from html/search/all_5.html
rename to doc/html/search/all_5.html
diff --git a/html/search/all_5.js b/doc/html/search/all_5.js
similarity index 100%
rename from html/search/all_5.js
rename to doc/html/search/all_5.js
diff --git a/html/search/all_6.html b/doc/html/search/all_6.html
similarity index 100%
rename from html/search/all_6.html
rename to doc/html/search/all_6.html
diff --git a/html/search/all_6.js b/doc/html/search/all_6.js
similarity index 100%
rename from html/search/all_6.js
rename to doc/html/search/all_6.js
diff --git a/html/search/all_7.html b/doc/html/search/all_7.html
similarity index 100%
rename from html/search/all_7.html
rename to doc/html/search/all_7.html
diff --git a/html/search/all_7.js b/doc/html/search/all_7.js
similarity index 100%
rename from html/search/all_7.js
rename to doc/html/search/all_7.js
diff --git a/html/search/all_8.html b/doc/html/search/all_8.html
similarity index 100%
rename from html/search/all_8.html
rename to doc/html/search/all_8.html
diff --git a/html/search/all_8.js b/doc/html/search/all_8.js
similarity index 100%
rename from html/search/all_8.js
rename to doc/html/search/all_8.js
diff --git a/html/search/all_9.html b/doc/html/search/all_9.html
similarity index 100%
rename from html/search/all_9.html
rename to doc/html/search/all_9.html
diff --git a/html/search/all_9.js b/doc/html/search/all_9.js
similarity index 100%
rename from html/search/all_9.js
rename to doc/html/search/all_9.js
diff --git a/html/search/classes_0.html b/doc/html/search/classes_0.html
similarity index 100%
rename from html/search/classes_0.html
rename to doc/html/search/classes_0.html
diff --git a/html/search/classes_0.js b/doc/html/search/classes_0.js
similarity index 100%
rename from html/search/classes_0.js
rename to doc/html/search/classes_0.js
diff --git a/html/search/close.png b/doc/html/search/close.png
similarity index 100%
rename from html/search/close.png
rename to doc/html/search/close.png
diff --git a/html/search/files_0.html b/doc/html/search/files_0.html
similarity index 100%
rename from html/search/files_0.html
rename to doc/html/search/files_0.html
diff --git a/html/search/files_0.js b/doc/html/search/files_0.js
similarity index 100%
rename from html/search/files_0.js
rename to doc/html/search/files_0.js
diff --git a/html/search/files_1.html b/doc/html/search/files_1.html
similarity index 100%
rename from html/search/files_1.html
rename to doc/html/search/files_1.html
diff --git a/html/search/files_1.js b/doc/html/search/files_1.js
similarity index 100%
rename from html/search/files_1.js
rename to doc/html/search/files_1.js
diff --git a/html/search/files_2.html b/doc/html/search/files_2.html
similarity index 100%
rename from html/search/files_2.html
rename to doc/html/search/files_2.html
diff --git a/html/search/files_2.js b/doc/html/search/files_2.js
similarity index 100%
rename from html/search/files_2.js
rename to doc/html/search/files_2.js
diff --git a/html/search/files_3.html b/doc/html/search/files_3.html
similarity index 100%
rename from html/search/files_3.html
rename to doc/html/search/files_3.html
diff --git a/html/search/files_3.js b/doc/html/search/files_3.js
similarity index 100%
rename from html/search/files_3.js
rename to doc/html/search/files_3.js
diff --git a/html/search/functions_0.html b/doc/html/search/functions_0.html
similarity index 100%
rename from html/search/functions_0.html
rename to doc/html/search/functions_0.html
diff --git a/html/search/functions_0.js b/doc/html/search/functions_0.js
similarity index 100%
rename from html/search/functions_0.js
rename to doc/html/search/functions_0.js
diff --git a/html/search/functions_1.html b/doc/html/search/functions_1.html
similarity index 100%
rename from html/search/functions_1.html
rename to doc/html/search/functions_1.html
diff --git a/html/search/functions_1.js b/doc/html/search/functions_1.js
similarity index 100%
rename from html/search/functions_1.js
rename to doc/html/search/functions_1.js
diff --git a/html/search/functions_2.html b/doc/html/search/functions_2.html
similarity index 100%
rename from html/search/functions_2.html
rename to doc/html/search/functions_2.html
diff --git a/html/search/functions_2.js b/doc/html/search/functions_2.js
similarity index 100%
rename from html/search/functions_2.js
rename to doc/html/search/functions_2.js
diff --git a/html/search/functions_3.html b/doc/html/search/functions_3.html
similarity index 100%
rename from html/search/functions_3.html
rename to doc/html/search/functions_3.html
diff --git a/html/search/functions_3.js b/doc/html/search/functions_3.js
similarity index 100%
rename from html/search/functions_3.js
rename to doc/html/search/functions_3.js
diff --git a/html/search/functions_4.html b/doc/html/search/functions_4.html
similarity index 100%
rename from html/search/functions_4.html
rename to doc/html/search/functions_4.html
diff --git a/html/search/functions_4.js b/doc/html/search/functions_4.js
similarity index 100%
rename from html/search/functions_4.js
rename to doc/html/search/functions_4.js
diff --git a/html/search/functions_5.html b/doc/html/search/functions_5.html
similarity index 100%
rename from html/search/functions_5.html
rename to doc/html/search/functions_5.html
diff --git a/html/search/functions_5.js b/doc/html/search/functions_5.js
similarity index 100%
rename from html/search/functions_5.js
rename to doc/html/search/functions_5.js
diff --git a/html/search/functions_6.html b/doc/html/search/functions_6.html
similarity index 100%
rename from html/search/functions_6.html
rename to doc/html/search/functions_6.html
diff --git a/html/search/functions_6.js b/doc/html/search/functions_6.js
similarity index 100%
rename from html/search/functions_6.js
rename to doc/html/search/functions_6.js
diff --git a/html/search/functions_7.html b/doc/html/search/functions_7.html
similarity index 100%
rename from html/search/functions_7.html
rename to doc/html/search/functions_7.html
diff --git a/html/search/functions_7.js b/doc/html/search/functions_7.js
similarity index 100%
rename from html/search/functions_7.js
rename to doc/html/search/functions_7.js
diff --git a/html/search/mag_sel.png b/doc/html/search/mag_sel.png
similarity index 100%
rename from html/search/mag_sel.png
rename to doc/html/search/mag_sel.png
diff --git a/html/search/nomatches.html b/doc/html/search/nomatches.html
similarity index 100%
rename from html/search/nomatches.html
rename to doc/html/search/nomatches.html
diff --git a/html/search/search.css b/doc/html/search/search.css
similarity index 100%
rename from html/search/search.css
rename to doc/html/search/search.css
diff --git a/html/search/search.js b/doc/html/search/search.js
similarity index 100%
rename from html/search/search.js
rename to doc/html/search/search.js
diff --git a/html/search/search_l.png b/doc/html/search/search_l.png
similarity index 100%
rename from html/search/search_l.png
rename to doc/html/search/search_l.png
diff --git a/html/search/search_m.png b/doc/html/search/search_m.png
similarity index 100%
rename from html/search/search_m.png
rename to doc/html/search/search_m.png
diff --git a/html/search/search_r.png b/doc/html/search/search_r.png
similarity index 100%
rename from html/search/search_r.png
rename to doc/html/search/search_r.png
diff --git a/html/search/searchdata.js b/doc/html/search/searchdata.js
similarity index 100%
rename from html/search/searchdata.js
rename to doc/html/search/searchdata.js
diff --git a/html/splitbar.png b/doc/html/splitbar.png
similarity index 100%
rename from html/splitbar.png
rename to doc/html/splitbar.png
diff --git a/html/structgrille-members.html b/doc/html/structgrille-members.html
similarity index 100%
rename from html/structgrille-members.html
rename to doc/html/structgrille-members.html
diff --git a/html/structgrille.html b/doc/html/structgrille.html
similarity index 100%
rename from html/structgrille.html
rename to doc/html/structgrille.html
diff --git a/html/sync_off.png b/doc/html/sync_off.png
similarity index 100%
rename from html/sync_off.png
rename to doc/html/sync_off.png
diff --git a/html/sync_on.png b/doc/html/sync_on.png
similarity index 100%
rename from html/sync_on.png
rename to doc/html/sync_on.png
diff --git a/html/tab_a.png b/doc/html/tab_a.png
similarity index 100%
rename from html/tab_a.png
rename to doc/html/tab_a.png
diff --git a/html/tab_b.png b/doc/html/tab_b.png
similarity index 100%
rename from html/tab_b.png
rename to doc/html/tab_b.png
diff --git a/html/tab_h.png b/doc/html/tab_h.png
similarity index 100%
rename from html/tab_h.png
rename to doc/html/tab_h.png
diff --git a/html/tab_s.png b/doc/html/tab_s.png
similarity index 100%
rename from html/tab_s.png
rename to doc/html/tab_s.png
diff --git a/html/tabs.css b/doc/html/tabs.css
similarity index 100%
rename from html/tabs.css
rename to doc/html/tabs.css
diff --git a/latex/Makefile b/doc/latex/Makefile
similarity index 100%
rename from latex/Makefile
rename to doc/latex/Makefile
diff --git a/latex/annotated.tex b/doc/latex/annotated.tex
similarity index 100%
rename from latex/annotated.tex
rename to doc/latex/annotated.tex
diff --git a/latex/doxygen.sty b/doc/latex/doxygen.sty
similarity index 100%
rename from latex/doxygen.sty
rename to doc/latex/doxygen.sty
diff --git a/latex/files.tex b/doc/latex/files.tex
similarity index 100%
rename from latex/files.tex
rename to doc/latex/files.tex
diff --git a/latex/grille_8c.tex b/doc/latex/grille_8c.tex
similarity index 100%
rename from latex/grille_8c.tex
rename to doc/latex/grille_8c.tex
diff --git a/latex/grille_8c.tex.tmp b/doc/latex/grille_8c.tex.tmp
similarity index 100%
rename from latex/grille_8c.tex.tmp
rename to doc/latex/grille_8c.tex.tmp
diff --git a/latex/grille_8c__incl.dot b/doc/latex/grille_8c__incl.dot
similarity index 100%
rename from latex/grille_8c__incl.dot
rename to doc/latex/grille_8c__incl.dot
diff --git a/latex/grille_8c__incl.md5 b/doc/latex/grille_8c__incl.md5
similarity index 100%
rename from latex/grille_8c__incl.md5
rename to doc/latex/grille_8c__incl.md5
diff --git a/latex/grille_8h.tex b/doc/latex/grille_8h.tex
similarity index 100%
rename from latex/grille_8h.tex
rename to doc/latex/grille_8h.tex
diff --git a/latex/grille_8h__dep__incl.dot b/doc/latex/grille_8h__dep__incl.dot
similarity index 100%
rename from latex/grille_8h__dep__incl.dot
rename to doc/latex/grille_8h__dep__incl.dot
diff --git a/latex/grille_8h__dep__incl.md5 b/doc/latex/grille_8h__dep__incl.md5
similarity index 100%
rename from latex/grille_8h__dep__incl.md5
rename to doc/latex/grille_8h__dep__incl.md5
diff --git a/latex/grille_8h__incl.dot b/doc/latex/grille_8h__incl.dot
similarity index 100%
rename from latex/grille_8h__incl.dot
rename to doc/latex/grille_8h__incl.dot
diff --git a/latex/grille_8h__incl.md5 b/doc/latex/grille_8h__incl.md5
similarity index 100%
rename from latex/grille_8h__incl.md5
rename to doc/latex/grille_8h__incl.md5
diff --git a/latex/io_8c.tex b/doc/latex/io_8c.tex
similarity index 100%
rename from latex/io_8c.tex
rename to doc/latex/io_8c.tex
diff --git a/latex/io_8c__incl.dot b/doc/latex/io_8c__incl.dot
similarity index 100%
rename from latex/io_8c__incl.dot
rename to doc/latex/io_8c__incl.dot
diff --git a/latex/io_8c__incl.md5 b/doc/latex/io_8c__incl.md5
similarity index 100%
rename from latex/io_8c__incl.md5
rename to doc/latex/io_8c__incl.md5
diff --git a/latex/io_8h.tex b/doc/latex/io_8h.tex
similarity index 100%
rename from latex/io_8h.tex
rename to doc/latex/io_8h.tex
diff --git a/latex/io_8h__dep__incl.dot b/doc/latex/io_8h__dep__incl.dot
similarity index 100%
rename from latex/io_8h__dep__incl.dot
rename to doc/latex/io_8h__dep__incl.dot
diff --git a/latex/io_8h__dep__incl.md5 b/doc/latex/io_8h__dep__incl.md5
similarity index 100%
rename from latex/io_8h__dep__incl.md5
rename to doc/latex/io_8h__dep__incl.md5
diff --git a/latex/io_8h__incl.dot b/doc/latex/io_8h__incl.dot
similarity index 100%
rename from latex/io_8h__incl.dot
rename to doc/latex/io_8h__incl.dot
diff --git a/latex/io_8h__incl.md5 b/doc/latex/io_8h__incl.md5
similarity index 100%
rename from latex/io_8h__incl.md5
rename to doc/latex/io_8h__incl.md5
diff --git a/latex/jeu_8c.tex b/doc/latex/jeu_8c.tex
similarity index 100%
rename from latex/jeu_8c.tex
rename to doc/latex/jeu_8c.tex
diff --git a/latex/jeu_8c__incl.dot b/doc/latex/jeu_8c__incl.dot
similarity index 100%
rename from latex/jeu_8c__incl.dot
rename to doc/latex/jeu_8c__incl.dot
diff --git a/latex/jeu_8c__incl.md5 b/doc/latex/jeu_8c__incl.md5
similarity index 100%
rename from latex/jeu_8c__incl.md5
rename to doc/latex/jeu_8c__incl.md5
diff --git a/latex/jeu_8h.tex b/doc/latex/jeu_8h.tex
similarity index 100%
rename from latex/jeu_8h.tex
rename to doc/latex/jeu_8h.tex
diff --git a/latex/jeu_8h__dep__incl.dot b/doc/latex/jeu_8h__dep__incl.dot
similarity index 100%
rename from latex/jeu_8h__dep__incl.dot
rename to doc/latex/jeu_8h__dep__incl.dot
diff --git a/latex/jeu_8h__dep__incl.md5 b/doc/latex/jeu_8h__dep__incl.md5
similarity index 100%
rename from latex/jeu_8h__dep__incl.md5
rename to doc/latex/jeu_8h__dep__incl.md5
diff --git a/latex/jeu_8h__incl.dot b/doc/latex/jeu_8h__incl.dot
similarity index 100%
rename from latex/jeu_8h__incl.dot
rename to doc/latex/jeu_8h__incl.dot
diff --git a/latex/jeu_8h__incl.md5 b/doc/latex/jeu_8h__incl.md5
similarity index 100%
rename from latex/jeu_8h__incl.md5
rename to doc/latex/jeu_8h__incl.md5
diff --git a/latex/main_8c.tex b/doc/latex/main_8c.tex
similarity index 100%
rename from latex/main_8c.tex
rename to doc/latex/main_8c.tex
diff --git a/latex/main_8c__incl.dot b/doc/latex/main_8c__incl.dot
similarity index 100%
rename from latex/main_8c__incl.dot
rename to doc/latex/main_8c__incl.dot
diff --git a/latex/main_8c__incl.md5 b/doc/latex/main_8c__incl.md5
similarity index 100%
rename from latex/main_8c__incl.md5
rename to doc/latex/main_8c__incl.md5
diff --git a/latex/refman.tex b/doc/latex/refman.tex
similarity index 100%
rename from latex/refman.tex
rename to doc/latex/refman.tex
diff --git a/latex/structgrille.tex b/doc/latex/structgrille.tex
similarity index 100%
rename from latex/structgrille.tex
rename to doc/latex/structgrille.tex
diff --git a/gitlab-ci.yml b/gitlab-ci.yml
new file mode 100644
index 0000000000000000000000000000000000000000..97be7e033bd810d0601f05415910464efb75db15
--- /dev/null
+++ b/gitlab-ci.yml
@@ -0,0 +1,18 @@
+before_script:
+  - "apt-get update"
+  - "apt-get upgrade -y"
+  - "apt-get install -y git autoconf autoconf-archive gcc build-essential gdb valgrind"
+
+stages:
+  - build
+  - tests
+
+build:
+  stage: build
+  script:
+    - 'make'
+
+execution_test:
+  stage: tests
+  script:
+    - 'make check'
diff --git a/grille.h b/include/grille.h
similarity index 100%
rename from grille.h
rename to include/grille.h
diff --git a/io.h b/include/io.h
similarity index 100%
rename from io.h
rename to include/io.h
diff --git a/jeu.h b/include/jeu.h
similarity index 100%
rename from jeu.h
rename to include/jeu.h
diff --git a/lib/libvie.a b/lib/libvie.a
new file mode 100644
index 0000000000000000000000000000000000000000..a64a85e23848999a5e641abd28f07e28d5f6185f
Binary files /dev/null and b/lib/libvie.a differ
diff --git a/makefile b/makefile
index fdf6de3b4c896eb12981e38ad1335937e008e753..7bab192b8832055b925ad7a53e01cfdb97232c0d 100644
--- a/makefile
+++ b/makefile
@@ -1,22 +1,51 @@
-CC= gcc -g
-CFLAGS= -W -Wall
-SOURCES= $(wildcard *.c)
-OBJETS= $(SOURCES:.c=.o)
-EXEC= lavie
+CPPFLAGS += -Iinclude -I/usr/include/cairo
+LDFLAGS += -lcairo -lm -lX11
 
-$(EXEC) : $(OBJETS)
+
+vpath %.h include
+vpath %.c src
+vpath %.o obj
+vpath main bin
+
+
+CFLAGS = -g -Wall
+IFLAGS = -Iinclude
+OPATH = obj/
+CPATH = src/
+DOCGEN=doxygen
+
+main: main.o grille.o io.o jeu.o libvie.a
+	
 	@echo "\n==== Linking ===="
-	$(CC) $(CFLAGS) -o $@ $^ -lm
-%.o : %.c
+	$(CC) $(CFLAGS) -o main $(OPATH)main.o $(OPATH)grille.o $(OPATH)io.o $(OPATH)jeu.o -L -lavie
+	mv  $@ bin/
+       
 	@echo "\n---- Rule " $@ "----"
-	$(CC) $(CFLAGS) -c $<
+main.o : main.c io.h grille.h jeu.h
+io.o : io.c io.h
+jeu.o : jeu.c jeu.h grille.h
+grille.o: grille.c grille.h
+
+%.o : 
+	mkdir -p obj
+	$(CC) $(CPPFLAGS) $(CFLAGS)  -c $< $(IFLAGS)
+	mv $@ obj/
+        
+libvie.a : $(OPATH)/main.o $(OPATH)/io.o $(OPATH)/jeu.o $(OPATH)/grille.o
+	mkdir -p lib
+	ar rcs libvie.a $(OPATH)/main.o $(OPATH)/io.o $(OPATH)/jeu.o $(OPATH)/grille.o
+	mv libvie.a lib/
 
 check: lavie
 	@./test/test_gol_execution.sh
+doc :   
+	mkdir -p doc 
+	$(DOCGEN)
+	mv html/ doc/
+dist: 
+	tar -cvz makefile doc src include lib bin test -f 			TALY_YASSINE_lavie_v2.0.tar.xz
+
 
 clean:
-	@$(RM) -f lavie *.o
-	@echo Clean!
+	rm -r obj bin/main
 
-dist: 
-	tar -cvz makefile Doxyfile *.h *.c -f TalyYassine-GOL-v1.0.tar.xz
diff --git a/src/cairo.c b/src/cairo.c
new file mode 100644
index 0000000000000000000000000000000000000000..944c7507238ce7e25c3d940a5a3c52cb32e4cdd5
--- /dev/null
+++ b/src/cairo.c
@@ -0,0 +1,113 @@
+/**
+ *  \file cairo.c
+ *  \brief Le fichier qui gère la fenetre cairo.
+ */
+
+
+#include "io.h"
+
+void affiche_grille (grille g, int iteration, void (*affiche_vie)(cairo_surface_t *, cairo_t *, int)){
+	Fenetre fen = get_fenetre(g, NO_FLAG);
+	int i, l=g.nbl, c=g.nbc;
+	char chaine_iteration[30];
+	sprintf(chaine_iteration, "Numéro de cycle : %d", iteration);
+	affiche_texte(fen.cs, chaine_iteration, point(5, 30), couleur(CL_GRILLE));
+	
+	for (i=0; i<=l; i++)
+		affiche_segment(fen.cs,
+			segment(MARGE_GAUCHE, MARGE_HAUT + TAILLE_CASE * i, MARGE_GAUCHE + TAILLE_CASE * c, MARGE_HAUT + TAILLE_CASE * i), 				couleur(CL_GRILLE));
+	
+	for (i=0; i<=c; i++)
+		affiche_segment(fen.cs,
+			segment(MARGE_GAUCHE + TAILLE_CASE * i, MARGE_HAUT, MARGE_GAUCHE + TAILLE_CASE * i, MARGE_HAUT + TAILLE_CASE * l), 				couleur(CL_GRILLE));
+	
+	for (i=0; i<l; ++i) {
+		affiche_ligne(fen.cs, c, g.cellules[i], i, affiche_vie);
+	}
+	return;
+}
+
+
+void affiche_texte (cairo_surface_t *surface, char *chaine, Point p, Couleur c){
+	cairo_t *cr;
+	cr=cairo_create(surface);
+	cairo_move_to (cr, p.x, p.y);
+	cairo_set_source_rgb (cr, c.r, c.g, c.b);
+	cairo_set_font_size (cr, 20);
+	cairo_show_text (cr, chaine);
+	cairo_destroy (cr);
+	return;
+}
+
+Fenetre get_fenetre(grille g, unsigned int flags){
+	static Display *dpy=NULL;
+	static cairo_surface_t *cs=NULL;
+	Fenetre fen;
+	if((flags & (FLAG_NOUVEAU | FLAG_FERMETURE)) != 0)
+	{
+		if(dpy != NULL)
+		{
+			cairo_surface_destroy(cs); // detruire surface cairo
+			XCloseDisplay(dpy);
+			dpy = NULL;
+			cs = NULL;
+		}
+	}
+	if (((flags & FLAG_FERMETURE) == 0) && (dpy == NULL))
+	{
+		int long_fenetre = TAILLE_CASE * g.nbc + MARGE_GAUCHE + MARGE_DROITE + 1;
+		int haut_fenetre = TAILLE_CASE * g.nbl + MARGE_HAUT + MARGE_BAS + 1;
+		char titre[35] = "Game of Life V";
+		strcat(titre, VERSION);
+		Window rootwin;
+		Window win;
+		int scr;
+		if(!(dpy=XOpenDisplay(NULL))) {
+			fprintf(stderr, "ERROR: Could not open display\n");
+			exit(1);
+		}
+
+		scr=DefaultScreen(dpy);
+		rootwin=RootWindow(dpy, scr);
+
+		win=XCreateSimpleWindow(dpy, rootwin, 1, 1, long_fenetre, haut_fenetre, 0, 
+				BlackPixel(dpy, scr), BlackPixel(dpy, scr));
+
+		XStoreName(dpy, win, "jeu de la vie");
+		XSelectInput(dpy, win, KeyPressMask | ButtonPressMask);
+		XMapWindow(dpy, win);
+		cs=cairo_xlib_surface_create(dpy, win, DefaultVisual(dpy, 0), long_fenetre, haut_fenetre);
+		
+		efface_grille(cs, g);
+	}
+	fen.dpy = dpy;
+	fen.cs = cs;
+	return fen;
+}
+
+
+Point point(unsigned int x, unsigned int y) {
+	Point p;
+	p.x = x;
+	p.y = y;
+	return p;
+}
+
+Segment segment(unsigned int x1, unsigned int y1, unsigned int x2, unsigned int y2) {
+	Segment l;
+	l.p1.x = x1;
+	l.p1.y = y1;
+	l.p2.x = x2;
+	l.p2.y = y2;
+	return l;
+}
+
+Couleur couleur(float r, float g, float b) {
+	Couleur c;
+	c.r = r;
+	c.g = g;
+	c.b = b;
+	return c;
+}
+
+
diff --git a/grille.c b/src/grille.c
similarity index 100%
rename from grille.c
rename to src/grille.c
diff --git a/io.c b/src/io.c
similarity index 100%
rename from io.c
rename to src/io.c
diff --git a/jeu.c b/src/jeu.c
similarity index 100%
rename from jeu.c
rename to src/jeu.c
diff --git a/main.c b/src/main.c
similarity index 100%
rename from main.c
rename to src/main.c