diff --git a/src/main/Main.java b/src/main/Main.java
index 60ec274..b2ac1d9 100644
--- a/src/main/Main.java
+++ b/src/main/Main.java
@@ -16,10 +16,7 @@ public class Main {
             MenuModel model = new MenuModel();
             MenuView view = new MenuView();
 
-            JFrame frame = new JFrame(" Menu");
-            frame.setSize(1500, 750);                                  
-            frame.setLocation(0, 0);
-            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+            JFrame frame = App.getInstance();
             frame.add(view);
 
             // Créer le contrôleur
diff --git a/src/main/Makefile b/src/main/Makefile
index 43b116a..e8cc943 100644
--- a/src/main/Makefile
+++ b/src/main/Makefile
@@ -21,7 +21,7 @@ java/controller/NewListener.class: java/controller/NewListener.java
 java/controller/QuiListener.class: java/controller/QuiListener.java
 	$(JC) $(JCFLAGS) java/controller/QuiListener.java
 
-java/controller/ResListener.class: java/controller/ResListener.java java/view/GameView.class
+java/controller/ResListener.class: java/controller/ResListener.java java/view/GameView.class java/view/App.class 
 	$(JC) $(JCFLAGS) java/controller/ResListener.java
 
 java/controller/GameController.class: java/controller/GameController.java java/controller/TilePlacer.class java/model/Tile.class java/controller/CameraController.class java/controller/HexagonMouseListener.class
@@ -66,6 +66,9 @@ java/view/BtnPerso.class: java/view/BtnPerso.java
 java/view/ButtonHoverListener.class: java/view/ButtonHoverListener.java
 	$(JC) $(JCFLAGS) java/view/ButtonHoverListener.java
 
+java/view/App.class: java/view/App.java
+	$(JC) $(JCFLAGS) java/view/App.java
+
 # Compilation des handlers
 java/controller/MousePressHandler.class: java/controller/MousePressHandler.java java/controller/CameraControllerListener.class
 	$(JC) $(JCFLAGS) java/controller/MousePressHandler.java
diff --git a/src/main/classes/controller/CameraController.class b/src/main/classes/controller/CameraController.class
new file mode 100644
index 0000000..767cd66
Binary files /dev/null and b/src/main/classes/controller/CameraController.class differ
diff --git a/src/main/classes/controller/CameraControllerListener.class b/src/main/classes/controller/CameraControllerListener.class
new file mode 100644
index 0000000..96543c6
Binary files /dev/null and b/src/main/classes/controller/CameraControllerListener.class differ
diff --git a/src/main/classes/controller/GameContext.class b/src/main/classes/controller/GameContext.class
new file mode 100644
index 0000000..c396d1e
Binary files /dev/null and b/src/main/classes/controller/GameContext.class differ
diff --git a/src/main/classes/controller/GameController.class b/src/main/classes/controller/GameController.class
new file mode 100644
index 0000000..46e2ddb
Binary files /dev/null and b/src/main/classes/controller/GameController.class differ
diff --git a/src/main/classes/controller/HexagonMouseListener.class b/src/main/classes/controller/HexagonMouseListener.class
new file mode 100644
index 0000000..830ef69
Binary files /dev/null and b/src/main/classes/controller/HexagonMouseListener.class differ
diff --git a/src/main/classes/controller/MenuController.class b/src/main/classes/controller/MenuController.class
new file mode 100644
index 0000000..a0fdbcd
Binary files /dev/null and b/src/main/classes/controller/MenuController.class differ
diff --git a/src/main/classes/controller/MouseDragHandler.class b/src/main/classes/controller/MouseDragHandler.class
new file mode 100644
index 0000000..e36a642
Binary files /dev/null and b/src/main/classes/controller/MouseDragHandler.class differ
diff --git a/src/main/classes/controller/MousePressHandler.class b/src/main/classes/controller/MousePressHandler.class
new file mode 100644
index 0000000..84b9ae3
Binary files /dev/null and b/src/main/classes/controller/MousePressHandler.class differ
diff --git a/src/main/classes/controller/MouseWheelController.class b/src/main/classes/controller/MouseWheelController.class
new file mode 100644
index 0000000..ab9b104
Binary files /dev/null and b/src/main/classes/controller/MouseWheelController.class differ
diff --git a/src/main/classes/controller/NewListener.class b/src/main/classes/controller/NewListener.class
new file mode 100644
index 0000000..e69cb28
Binary files /dev/null and b/src/main/classes/controller/NewListener.class differ
diff --git a/src/main/classes/controller/QuiListener.class b/src/main/classes/controller/QuiListener.class
new file mode 100644
index 0000000..180a921
Binary files /dev/null and b/src/main/classes/controller/QuiListener.class differ
diff --git a/src/main/classes/controller/ResListener.class b/src/main/classes/controller/ResListener.class
new file mode 100644
index 0000000..aaa8657
Binary files /dev/null and b/src/main/classes/controller/ResListener.class differ
diff --git a/src/main/classes/controller/TilePlacer.class b/src/main/classes/controller/TilePlacer.class
new file mode 100644
index 0000000..19c6fde
Binary files /dev/null and b/src/main/classes/controller/TilePlacer.class differ
diff --git a/src/main/classes/java/view/img/D.png b/src/main/classes/java/view/img/D.png
new file mode 100644
index 0000000..7dc4b96
Binary files /dev/null and b/src/main/classes/java/view/img/D.png differ
diff --git a/src/main/classes/java/view/img/bg.png b/src/main/classes/java/view/img/bg.png
new file mode 100644
index 0000000..e3621e8
Binary files /dev/null and b/src/main/classes/java/view/img/bg.png differ
diff --git a/src/main/classes/java/view/img/quit.png b/src/main/classes/java/view/img/quit.png
new file mode 100644
index 0000000..aa7b154
Binary files /dev/null and b/src/main/classes/java/view/img/quit.png differ
diff --git a/src/main/classes/main/Main.class b/src/main/classes/main/Main.class
new file mode 100644
index 0000000..9c0bb69
Binary files /dev/null and b/src/main/classes/main/Main.class differ
diff --git a/src/main/classes/model/MenuModel.class b/src/main/classes/model/MenuModel.class
new file mode 100644
index 0000000..d332e94
Binary files /dev/null and b/src/main/classes/model/MenuModel.class differ
diff --git a/src/main/classes/model/TerrainType.class b/src/main/classes/model/TerrainType.class
new file mode 100644
index 0000000..0a2f465
Binary files /dev/null and b/src/main/classes/model/TerrainType.class differ
diff --git a/src/main/classes/model/Tile.class b/src/main/classes/model/Tile.class
new file mode 100644
index 0000000..ac0f49e
Binary files /dev/null and b/src/main/classes/model/Tile.class differ
diff --git a/src/main/classes/view/App.class b/src/main/classes/view/App.class
new file mode 100644
index 0000000..5cffaf4
Binary files /dev/null and b/src/main/classes/view/App.class differ
diff --git a/src/main/classes/view/BtnPerso.class b/src/main/classes/view/BtnPerso.class
new file mode 100644
index 0000000..7c192c5
Binary files /dev/null and b/src/main/classes/view/BtnPerso.class differ
diff --git a/src/main/classes/view/ButtonHoverListener.class b/src/main/classes/view/ButtonHoverListener.class
new file mode 100644
index 0000000..6315df6
Binary files /dev/null and b/src/main/classes/view/ButtonHoverListener.class differ
diff --git a/src/main/classes/view/GameView.class b/src/main/classes/view/GameView.class
new file mode 100644
index 0000000..825a6fa
Binary files /dev/null and b/src/main/classes/view/GameView.class differ
diff --git a/src/main/classes/view/HexagonTile$1.class b/src/main/classes/view/HexagonTile$1.class
new file mode 100644
index 0000000..bdd4171
Binary files /dev/null and b/src/main/classes/view/HexagonTile$1.class differ
diff --git a/src/main/classes/view/HexagonTile.class b/src/main/classes/view/HexagonTile.class
new file mode 100644
index 0000000..5d7f997
Binary files /dev/null and b/src/main/classes/view/HexagonTile.class differ
diff --git a/src/main/classes/view/MenuView.class b/src/main/classes/view/MenuView.class
new file mode 100644
index 0000000..6e6ee66
Binary files /dev/null and b/src/main/classes/view/MenuView.class differ
diff --git a/src/main/java/controller/ResListener.java b/src/main/java/controller/ResListener.java
index c2a2b57..d53191e 100644
--- a/src/main/java/controller/ResListener.java
+++ b/src/main/java/controller/ResListener.java
@@ -1,4 +1,5 @@
 package controller;
+import view.App;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 
@@ -10,6 +11,7 @@ public class ResListener implements ActionListener {
     @Override
     public void actionPerformed(ActionEvent e) {
         SwingUtilities.invokeLater(() -> new GameView());
+        App.getInstance().dispose();
         
     }
 }
\ No newline at end of file
diff --git a/src/main/java/view/App.java b/src/main/java/view/App.java
new file mode 100644
index 0000000..666efb2
--- /dev/null
+++ b/src/main/java/view/App.java
@@ -0,0 +1,17 @@
+package view;
+
+import javax.swing.*;
+
+public class App {
+    private static JFrame frame;
+
+    public static JFrame getInstance() {
+        if (frame == null) {
+            frame = new JFrame("Menu");
+            frame.setSize(1500, 750);
+            frame.setLocationRelativeTo(null);
+            frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+        }
+        return frame;
+    }
+}