diff --git a/bin/controller/AllScore.class b/bin/controller/AllScore.class
new file mode 100644
index 0000000..690daf6
Binary files /dev/null and b/bin/controller/AllScore.class differ
diff --git a/bin/controller/BackButtonMouseListener.class b/bin/controller/BackButtonMouseListener.class
new file mode 100644
index 0000000..084ce77
Binary files /dev/null and b/bin/controller/BackButtonMouseListener.class differ
diff --git a/bin/controller/CameraController.class b/bin/controller/CameraController.class
new file mode 100644
index 0000000..4202e78
Binary files /dev/null and b/bin/controller/CameraController.class differ
diff --git a/bin/controller/CameraControllerListener.class b/bin/controller/CameraControllerListener.class
new file mode 100644
index 0000000..96543c6
Binary files /dev/null and b/bin/controller/CameraControllerListener.class differ
diff --git a/bin/controller/GameContext.class b/bin/controller/GameContext.class
new file mode 100644
index 0000000..ff319ea
Binary files /dev/null and b/bin/controller/GameContext.class differ
diff --git a/bin/controller/GameController.class b/bin/controller/GameController.class
new file mode 100644
index 0000000..d34f2d1
Binary files /dev/null and b/bin/controller/GameController.class differ
diff --git a/bin/controller/GameEndListener.class b/bin/controller/GameEndListener.class
new file mode 100644
index 0000000..ff8be49
Binary files /dev/null and b/bin/controller/GameEndListener.class differ
diff --git a/bin/controller/HexagonMouseListener.class b/bin/controller/HexagonMouseListener.class
new file mode 100644
index 0000000..07f2012
Binary files /dev/null and b/bin/controller/HexagonMouseListener.class differ
diff --git a/bin/controller/HowToPlayListener.class b/bin/controller/HowToPlayListener.class
new file mode 100644
index 0000000..fab0642
Binary files /dev/null and b/bin/controller/HowToPlayListener.class differ
diff --git a/bin/controller/MouseDragHandler.class b/bin/controller/MouseDragHandler.class
new file mode 100644
index 0000000..796a003
Binary files /dev/null and b/bin/controller/MouseDragHandler.class differ
diff --git a/bin/controller/MousePressHandler.class b/bin/controller/MousePressHandler.class
new file mode 100644
index 0000000..cad00d3
Binary files /dev/null and b/bin/controller/MousePressHandler.class differ
diff --git a/bin/controller/MouseWheelController.class b/bin/controller/MouseWheelController.class
new file mode 100644
index 0000000..c30c887
Binary files /dev/null and b/bin/controller/MouseWheelController.class differ
diff --git a/bin/controller/NewGameButtonListener.class b/bin/controller/NewGameButtonListener.class
new file mode 100644
index 0000000..d286f18
Binary files /dev/null and b/bin/controller/NewGameButtonListener.class differ
diff --git a/bin/controller/NewListener.class b/bin/controller/NewListener.class
new file mode 100644
index 0000000..3c98161
Binary files /dev/null and b/bin/controller/NewListener.class differ
diff --git a/bin/controller/QuiListener.class b/bin/controller/QuiListener.class
new file mode 100644
index 0000000..7bb889d
Binary files /dev/null and b/bin/controller/QuiListener.class differ
diff --git a/bin/controller/QuitButtonListener.class b/bin/controller/QuitButtonListener.class
new file mode 100644
index 0000000..85b7735
Binary files /dev/null and b/bin/controller/QuitButtonListener.class differ
diff --git a/bin/controller/ResumeButtonListener.class b/bin/controller/ResumeButtonListener.class
new file mode 100644
index 0000000..97485ea
Binary files /dev/null and b/bin/controller/ResumeButtonListener.class differ
diff --git a/bin/controller/ScoreGameContext.class b/bin/controller/ScoreGameContext.class
new file mode 100644
index 0000000..d6755a3
Binary files /dev/null and b/bin/controller/ScoreGameContext.class differ
diff --git a/bin/controller/SendScore.class b/bin/controller/SendScore.class
new file mode 100644
index 0000000..f6b8ed5
Binary files /dev/null and b/bin/controller/SendScore.class differ
diff --git a/bin/controller/SerieListener.class b/bin/controller/SerieListener.class
new file mode 100644
index 0000000..934c76d
Binary files /dev/null and b/bin/controller/SerieListener.class differ
diff --git a/bin/controller/SeriesButtonListener.class b/bin/controller/SeriesButtonListener.class
new file mode 100644
index 0000000..76222f0
Binary files /dev/null and b/bin/controller/SeriesButtonListener.class differ
diff --git a/bin/controller/SeriesSelector.class b/bin/controller/SeriesSelector.class
new file mode 100644
index 0000000..18e6c01
Binary files /dev/null and b/bin/controller/SeriesSelector.class differ
diff --git a/bin/controller/TilePlacer.class b/bin/controller/TilePlacer.class
new file mode 100644
index 0000000..19c6fde
Binary files /dev/null and b/bin/controller/TilePlacer.class differ
diff --git a/bin/java/view/img/D.png b/bin/java/view/img/D.png
new file mode 100644
index 0000000..7dc4b96
Binary files /dev/null and b/bin/java/view/img/D.png differ
diff --git a/bin/java/view/img/bg.png b/bin/java/view/img/bg.png
new file mode 100644
index 0000000..e3621e8
Binary files /dev/null and b/bin/java/view/img/bg.png differ
diff --git a/bin/java/view/img/quit.png b/bin/java/view/img/quit.png
new file mode 100644
index 0000000..aa7b154
Binary files /dev/null and b/bin/java/view/img/quit.png differ
diff --git a/bin/lib/mariadb.jar b/bin/lib/mariadb.jar
new file mode 100644
index 0000000..40028c4
Binary files /dev/null and b/bin/lib/mariadb.jar differ
diff --git a/bin/main/Main.class b/bin/main/Main.class
new file mode 100644
index 0000000..9f335c1
Binary files /dev/null and b/bin/main/Main.class differ
diff --git a/bin/model/Pocket.class b/bin/model/Pocket.class
new file mode 100644
index 0000000..315513c
Binary files /dev/null and b/bin/model/Pocket.class differ
diff --git a/bin/model/TerrainType.class b/bin/model/TerrainType.class
new file mode 100644
index 0000000..4b79784
Binary files /dev/null and b/bin/model/TerrainType.class differ
diff --git a/bin/model/Tile.class b/bin/model/Tile.class
new file mode 100644
index 0000000..96b6852
Binary files /dev/null and b/bin/model/Tile.class differ
diff --git a/bin/model/TileDatabaseManager.class b/bin/model/TileDatabaseManager.class
new file mode 100644
index 0000000..ec77795
Binary files /dev/null and b/bin/model/TileDatabaseManager.class differ
diff --git a/bin/view/App.class b/bin/view/App.class
new file mode 100644
index 0000000..dae9ce6
Binary files /dev/null and b/bin/view/App.class differ
diff --git a/bin/view/BtnPerso.class b/bin/view/BtnPerso.class
new file mode 100644
index 0000000..6ed3ce4
Binary files /dev/null and b/bin/view/BtnPerso.class differ
diff --git a/bin/view/ButtonHoverListener.class b/bin/view/ButtonHoverListener.class
new file mode 100644
index 0000000..dfb1b19
Binary files /dev/null and b/bin/view/ButtonHoverListener.class differ
diff --git a/bin/view/GameView.class b/bin/view/GameView.class
new file mode 100644
index 0000000..cf2b6e7
Binary files /dev/null and b/bin/view/GameView.class differ
diff --git a/bin/view/HexagonTile$1.class b/bin/view/HexagonTile$1.class
new file mode 100644
index 0000000..f9a859f
Binary files /dev/null and b/bin/view/HexagonTile$1.class differ
diff --git a/bin/view/HexagonTile.class b/bin/view/HexagonTile.class
new file mode 100644
index 0000000..b8009f4
Binary files /dev/null and b/bin/view/HexagonTile.class differ
diff --git a/bin/view/HowToPlayView.class b/bin/view/HowToPlayView.class
new file mode 100644
index 0000000..490e997
Binary files /dev/null and b/bin/view/HowToPlayView.class differ
diff --git a/bin/view/MenuView.class b/bin/view/MenuView.class
new file mode 100644
index 0000000..c6b962d
Binary files /dev/null and b/bin/view/MenuView.class differ
diff --git a/bin/view/ScoreView.class b/bin/view/ScoreView.class
new file mode 100644
index 0000000..4d0e889
Binary files /dev/null and b/bin/view/ScoreView.class differ
diff --git a/src/main/Main.java b/src/main/Main.java
index 61e9218..3d38da9 100644
--- a/src/main/Main.java
+++ b/src/main/Main.java
@@ -1,21 +1,39 @@
 package main;
-import view.*;
 
+import view.*;
 import javax.sound.sampled.AudioInputStream;
 import javax.sound.sampled.AudioSystem;
 import javax.sound.sampled.Clip;
 import javax.swing.*;
 import java.net.URL;
 
+/**
+ * Classe principale du programme qui initialise l'interface utilisateur
+ * et joue un fichier audio en boucle.
+ */
 public class Main {
+
+    /**
+     * Point d'entrée du programme. Initialise l'interface utilisateur
+     * et démarre la lecture en boucle de la musique de fond.
+     *
+     * @param args les arguments de ligne de commande (non utilisés)
+     */
     public static void main(String[] args) {
         SwingUtilities.invokeLater(() -> {
             MenuView menuView = new MenuView();
             App.addView(menuView, App.MENU_VIEW);
             App.showView(App.MENU_VIEW);
+            String filepath = "/java/Music/audio.wav";
+            PlayMusic(filepath);
         });
     }
 
+    /**
+     * Joue un fichier audio en boucle.
+     *
+     * @param location le chemin d'accès au fichier audio à jouer
+     */
     public static void PlayMusic(String location) {
         try {
             URL url = Main.class.getResource(location);
@@ -24,6 +42,7 @@ public class Main {
                 Clip clip = AudioSystem.getClip();
                 clip.open(audioInput);
                 clip.start();
+                clip.loop(Clip.LOOP_CONTINUOUSLY); // Boucle en continu
             } else {
                 System.out.println("Fichier audio introuvable");
             }
diff --git a/src/main/Makefile b/src/main/Makefile
index 4bbf8c0..1ba8311 100644
--- a/src/main/Makefile
+++ b/src/main/Makefile
@@ -107,6 +107,10 @@ java/controller/AllScore.class: java/controller/AllScore.java
 
 ### RÈGLE POUR COPIER LES IMAGES ###
 
+Music:
+	mkdir -p classes/java/Music
+	if [ -d java/Music ]; then cp -r java/Music/* classes/java/Music/; else echo "Le répertoire java/Music n'existe pas."; fi
+
 copy-images:
 	mkdir -p classes/java/view/img
 	if [ -d java/view/img ]; then cp -r java/view/img/* classes/java/view/img/; else echo "Le répertoire java/view/img n'existe pas."; fi
@@ -119,7 +123,8 @@ $(MANIFEST_FILE):
 
 ### ARCHIVE JAR ###
 
-Main.jar: Main.class copy-images $(MANIFEST_FILE)
+Main.jar: Main.class copy-images Music $(MANIFEST_FILE)
+	mkdir -p classes/java/Music/
 	mkdir -p classes/java/view/img  
 	jar cfm Main.jar $(MANIFEST_FILE) -C classes .
 
@@ -131,9 +136,10 @@ run: Main.class copy-images
 clean:
 	-rm -f classes/**/*.class
 	-rm -rf classes/java/view/img
+	-rm -rf classes/Music
 
 ### BUTS FACTICES ###
 
 .PHONY: run clean copy-images
 
-### FIN ###
+### FIN ###
\ No newline at end of file
diff --git a/src/main/classes/controller/AllScore.class b/src/main/classes/controller/AllScore.class
new file mode 100644
index 0000000..690daf6
Binary files /dev/null and b/src/main/classes/controller/AllScore.class differ
diff --git a/src/main/classes/controller/CameraController.class b/src/main/classes/controller/CameraController.class
new file mode 100644
index 0000000..4202e78
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..ff319ea
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..d34f2d1
Binary files /dev/null and b/src/main/classes/controller/GameController.class differ
diff --git a/src/main/classes/controller/GameEndListener.class b/src/main/classes/controller/GameEndListener.class
new file mode 100644
index 0000000..ff8be49
Binary files /dev/null and b/src/main/classes/controller/GameEndListener.class differ
diff --git a/src/main/classes/controller/HexagonMouseListener.class b/src/main/classes/controller/HexagonMouseListener.class
new file mode 100644
index 0000000..07f2012
Binary files /dev/null and b/src/main/classes/controller/HexagonMouseListener.class differ
diff --git a/src/main/classes/controller/MouseDragHandler.class b/src/main/classes/controller/MouseDragHandler.class
new file mode 100644
index 0000000..796a003
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..cad00d3
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..c30c887
Binary files /dev/null and b/src/main/classes/controller/MouseWheelController.class differ
diff --git a/src/main/classes/controller/ScoreGameContext.class b/src/main/classes/controller/ScoreGameContext.class
new file mode 100644
index 0000000..d6755a3
Binary files /dev/null and b/src/main/classes/controller/ScoreGameContext.class differ
diff --git a/src/main/classes/controller/SendScore.class b/src/main/classes/controller/SendScore.class
new file mode 100644
index 0000000..f6b8ed5
Binary files /dev/null and b/src/main/classes/controller/SendScore.class differ
diff --git a/src/main/classes/controller/SeriesSelector.class b/src/main/classes/controller/SeriesSelector.class
new file mode 100644
index 0000000..18e6c01
Binary files /dev/null and b/src/main/classes/controller/SeriesSelector.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..9f335c1
Binary files /dev/null and b/src/main/classes/main/Main.class differ
diff --git a/src/main/classes/model/Pocket.class b/src/main/classes/model/Pocket.class
new file mode 100644
index 0000000..315513c
Binary files /dev/null and b/src/main/classes/model/Pocket.class differ
diff --git a/src/main/classes/model/TerrainType.class b/src/main/classes/model/TerrainType.class
new file mode 100644
index 0000000..4b79784
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..96b6852
Binary files /dev/null and b/src/main/classes/model/Tile.class differ
diff --git a/src/main/classes/model/TileDatabaseManager.class b/src/main/classes/model/TileDatabaseManager.class
new file mode 100644
index 0000000..ec77795
Binary files /dev/null and b/src/main/classes/model/TileDatabaseManager.class differ
diff --git a/src/main/classes/view/App.class b/src/main/classes/view/App.class
new file mode 100644
index 0000000..dae9ce6
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..6ed3ce4
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..dfb1b19
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..cf2b6e7
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..f9a859f
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..b8009f4
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..b0a17f5
Binary files /dev/null and b/src/main/classes/view/MenuView.class differ
diff --git a/src/main/classes/view/ScoreView$1.class b/src/main/classes/view/ScoreView$1.class
new file mode 100644
index 0000000..d25997d
Binary files /dev/null and b/src/main/classes/view/ScoreView$1.class differ
diff --git a/src/main/classes/view/ScoreView.class b/src/main/classes/view/ScoreView.class
new file mode 100644
index 0000000..6b3abd8
Binary files /dev/null and b/src/main/classes/view/ScoreView.class differ
diff --git a/src/main/java/controller/BackButtonMouseListener.java b/src/main/java/controller/BackButtonMouseListener.java
new file mode 100644
index 0000000..c86a489
--- /dev/null
+++ b/src/main/java/controller/BackButtonMouseListener.java
@@ -0,0 +1,39 @@
+package controller;
+
+import java.awt.Color;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import javax.swing.JButton;
+
+/**
+ * Listener de souris pour le bouton de retour dans l'interface de score.
+ * Change la couleur de fond du bouton lorsqu'il est survolé.
+ */
+public class BackButtonMouseListener extends MouseAdapter {
+    private final JButton button;
+    private final Color hoverColor;
+    private final Color normalColor;
+
+    /**
+     * Constructeur de <code>BackButtonMouseListener</code>.
+     * 
+     * @param button Le bouton cible.
+     * @param hoverColor La couleur de fond du bouton lors du survol.
+     * @param normalColor La couleur de fond normale du bouton.
+     */
+    public BackButtonMouseListener(JButton button, Color hoverColor, Color normalColor) {
+        this.button = button;
+        this.hoverColor = hoverColor;
+        this.normalColor = normalColor;
+    }
+
+    @Override
+    public void mouseEntered(MouseEvent e) {
+        button.setBackground(hoverColor);
+    }
+
+    @Override
+    public void mouseExited(MouseEvent e) {
+        button.setBackground(normalColor);
+    }
+}
diff --git a/src/main/java/controller/NewGameButtonListener.java b/src/main/java/controller/NewGameButtonListener.java
new file mode 100644
index 0000000..80d9ce9
--- /dev/null
+++ b/src/main/java/controller/NewGameButtonListener.java
@@ -0,0 +1,22 @@
+package controller;
+
+import view.MenuView;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+/**
+ * Listener pour le bouton Nouveaux Jeu dans le menu principal.
+ */
+public class NewGameButtonListener implements ActionListener {
+    private final MenuView menuView;
+
+    public NewGameButtonListener(MenuView menuView) {
+        this.menuView = menuView;
+    }
+
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        menuView.toggleHowToPlay();
+    }
+}
diff --git a/src/main/java/controller/QuitButtonListener.java b/src/main/java/controller/QuitButtonListener.java
new file mode 100644
index 0000000..21c248d
--- /dev/null
+++ b/src/main/java/controller/QuitButtonListener.java
@@ -0,0 +1,16 @@
+package controller;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+/**
+ * Listener pour le bouton Quitter dans le menu principal.
+ * Ferme l'application lorsqu'il est activé.
+ */
+public class QuitButtonListener implements ActionListener {
+
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        System.exit(0);  // Ferme l'application
+    }
+}
diff --git a/src/main/java/controller/ResumeButtonListener.java b/src/main/java/controller/ResumeButtonListener.java
new file mode 100644
index 0000000..1610bb4
--- /dev/null
+++ b/src/main/java/controller/ResumeButtonListener.java
@@ -0,0 +1,22 @@
+package controller;
+
+import view.MenuView;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+/**
+ * Listener pour le bouton Reprendre la partie dans le menu principal.
+ */
+public class ResumeButtonListener implements ActionListener {
+    private final MenuView menuView;
+
+    public ResumeButtonListener(MenuView menuView) {
+        this.menuView = menuView;
+    }
+
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        menuView.showSeriesButtons();
+    }
+}
diff --git a/src/main/java/controller/SeriesButtonListener.java b/src/main/java/controller/SeriesButtonListener.java
new file mode 100644
index 0000000..bcf7848
--- /dev/null
+++ b/src/main/java/controller/SeriesButtonListener.java
@@ -0,0 +1,30 @@
+package controller;
+
+import view.App;
+import view.GameView;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+/**
+ * Listener pour les boutons de sélection de séries dans le menu principal.
+ */
+public class SeriesButtonListener implements ActionListener {
+    private final int seriesId;
+    private final SeriesSelector seriesSelector;
+
+    public SeriesButtonListener(int seriesId, SeriesSelector seriesSelector) {
+        this.seriesId = seriesId;
+        this.seriesSelector = seriesSelector;
+    }
+
+    @Override
+    public void actionPerformed(ActionEvent e) {
+        GameView gameView = new GameView(seriesId);
+        App.addView(gameView, App.GAME_VIEW);
+        App.showView(App.GAME_VIEW);
+        if (seriesSelector != null) {
+            seriesSelector.startGameWithSeries(seriesId);
+        }
+    }
+}
diff --git a/src/main/java/view/MenuView.java b/src/main/java/view/MenuView.java
index 64d5634..265a417 100644
--- a/src/main/java/view/MenuView.java
+++ b/src/main/java/view/MenuView.java
@@ -1,6 +1,10 @@
 package view;
 
 import controller.SeriesSelector;
+import controller.ResumeButtonListener;
+import controller.NewGameButtonListener;
+import controller.SeriesButtonListener;
+import controller.QuitButtonListener;
 
 import javax.swing.*;
 import java.awt.*;
@@ -59,7 +63,7 @@ public class MenuView extends JPanel {
     /**
      * Affiche ou masque le panneau "Comment jouer".
      */
-    private void toggleHowToPlay() {
+    public void toggleHowToPlay() {
         seriesPanel.setVisible(false);
         howToPlayPanel.setVisible(!howToPlayPanel.isVisible());
         centeredPanel.removeAll();
@@ -102,8 +106,10 @@ public class MenuView extends JPanel {
         quitButton.setOpaque(true);
         quitButton.setFocusPainted(false);
 
-        resumeButton.addActionListener(e -> showSeriesButtons());
-        newGameButton.addActionListener(e -> toggleHowToPlay());
+        // Utilisation des listeners dans des fichiers séparés
+        resumeButton.addActionListener(new ResumeButtonListener(this));
+        newGameButton.addActionListener(new NewGameButtonListener(this));
+        quitButton.addActionListener(new QuitButtonListener()); // Ajout du listener pour le bouton Quitter
 
         howToPlayPanel = createHowToPlayPanel();
         howToPlayPanel.setVisible(false);
@@ -183,14 +189,7 @@ public class MenuView extends JPanel {
         for (int i = 1; i <= 4; i++) {
             int seriesId = i;
             BtnPerso seriesButton = new BtnPerso("Série " + seriesId);
-            seriesButton.addActionListener(e -> {
-                GameView gameView = new GameView(seriesId);
-                App.addView(gameView, App.GAME_VIEW);
-                App.showView(App.GAME_VIEW);
-                if (seriesSelector != null) {
-                    seriesSelector.startGameWithSeries(seriesId);
-                }
-            });
+            seriesButton.addActionListener(new SeriesButtonListener(seriesId, seriesSelector));
 
             seriesButton.addMouseListener(new ButtonHoverListener());
             panel.add(seriesButton);
diff --git a/src/main/java/view/ScoreView.java b/src/main/java/view/ScoreView.java
index 161ef35..fe5e194 100644
--- a/src/main/java/view/ScoreView.java
+++ b/src/main/java/view/ScoreView.java
@@ -1,11 +1,12 @@
-// src/main/java/view/ScoreView.java
 package view;
 
+import controller.AllScore;
+import controller.BackButtonMouseListener;
+
 import javax.swing.*;
 import java.awt.*;
 import java.util.ArrayList;
 import java.util.Collections;
-import controller.AllScore;
 
 /**
  * La classe <code>ScoreView</code> représente l'interface utilisateur
@@ -78,15 +79,9 @@ public class ScoreView extends JPanel {
         // Bouton de retour au menu
         BtnPerso backButton = new BtnPerso("Retour au Menu");
         backButton.addActionListener(e -> App.showView(App.MENU_VIEW));
-        backButton.addMouseListener(new java.awt.event.MouseAdapter() {
-            public void mouseEntered(java.awt.event.MouseEvent evt) {
-                backButton.setBackground(hoverColor);
-            }
 
-            public void mouseExited(java.awt.event.MouseEvent evt) {
-                backButton.setBackground(normalColor);
-            }
-        });
+        // Ajout de BackButtonMouseListener pour le survol
+        backButton.addMouseListener(new BackButtonMouseListener(backButton, hoverColor, normalColor));
 
         // Panneau de score actuel
         JPanel currentScorePanel = new JPanel();