diff --git a/Motus/Case.qml b/Motus/Case.qml
index 0c4e67410dbeef9845561557b6701ea20582d853..4dfb9c13e08c18b45f4ea53212dd908fb4590239 100644
--- a/Motus/Case.qml
+++ b/Motus/Case.qml
@@ -6,10 +6,16 @@ Item {
     height: 70
     property alias rectangleBorderColor: rectangle.border.color
     property alias rectangleColor: rectangle.color
-    focus: false
+
     property alias rectangleBorderwidth: rectangle.border.width
     property alias _textText: _text.text
 
+    focus: false
+
+    function resetFocus() {
+        focus = true
+    }
+
     Rectangle {
         id: rectangle
         width: 70
diff --git a/Motus/Main.qml b/Motus/Main.qml
index b736f0ae6981efe3d3e4c3dfd623918484c1512b..8efa56171d798cd17af810748d02ec65b4b26091 100644
--- a/Motus/Main.qml
+++ b/Motus/Main.qml
@@ -134,7 +134,10 @@ Window {
                                 case_focus = caseArray[current_essai * nb_lettres];
                             } else {
                                 // Fin de partie : désactiver l'interface ou afficher un message
-                                mot = "";
+                                if (mot_rentre!=mot){
+
+                                    motusGame.loosetry=true;}
+
                             }
                         } else {
                             // Le mot n'existe pas dans le dictionnaire : colorer toute la ligne en rouge
@@ -200,9 +203,25 @@ Window {
                         MouseArea {
                             anchors.fill: parent
                             cursorShape: Qt.PointingHandCursor
-                            enabled: motusGame.win || motusGame.loosetry || motusGame.loosetime || !motusGame.debut
+                            enabled: motusGame && (motusGame.win || motusGame.loosetry || motusGame.loosetime || !motusGame.debut)
                             onClicked: {
 
+                                // 1. Réinitialiser les indices AVANT de tout
+                                current_essai = 0;
+                                indice_case = 0;
+
+                                // 2. Vider toutes les cases
+                                for (var i = 0; i < caseArray.length; i++) {
+                                    caseArray[i]._textText = "";
+                                    caseArray[i].rectangleColor = "#323232";
+                                    caseArray[i].rectangleBorderColor = "#ffffff";
+                                }
+
+                                    // 3. Vider les touches clavier
+                                for (var j = 0; j < keysArray.length; j++) {
+                                    keysArray[j].keyColor = "#808080";
+                                }
+
                                 // Début d'une partie, désactivation des boutons de régénération, etc.
                                 motusGame.debut=true;
                                 mot = motusGame.getRandomWord(nb_lettres);
@@ -213,6 +232,8 @@ Window {
                                 case3._textText = mot;
                                 mot_split = mot.split("");
                                 console.log(mot_split);
+
+
                             }
                         }
                     }
@@ -507,7 +528,7 @@ Window {
 
     Text {
         y: 32
-        text: "Temps écoulé ! Mot : "+mot
+        text: "Temps écoulé ! Mot : "+ mot
         visible: motusGame && motusGame.loosetime
         color: "red"
         font.pixelSize: 30
@@ -516,7 +537,7 @@ Window {
 
     Text {
         y: 32
-        text: "Nombre d'essais maximum atteint ! Mot : "+mot
+        text: "Nombre d'essais maximum atteint ! Mot : "+ mot
         visible: motusGame && motusGame.loosetry
         color: "red"
         font.pixelSize: 30
diff --git a/Motus/motusgame.cpp b/Motus/motusgame.cpp
index 6f9ba3265e671199865bcaaddc1320a34ebdfedc..a43439ea6fd189d6ba42a2e94af287af57bfb3d8 100644
--- a/Motus/motusgame.cpp
+++ b/Motus/motusgame.cpp
@@ -95,7 +95,7 @@ bool MotusGame::existWord(const QString &word) {
 
 QString MotusGame::getRandomWord(int letterCount) {
     // Vérifier que le nombre de lettres est dans l'intervalle autorisé
-    if (letterCount < 4 || letterCount > 12) {
+    if (letterCount < 5 || letterCount > 12) {
         qDebug() << "❌ Nombre de lettres invalide. Choisissez un nombre entre 4 et 12.";
         return "";
     }
@@ -131,7 +131,7 @@ void MotusGame::setDictionnaryChoosed(const QString &value) {
 void MotusGame::startTimer() {
     qDebug() << "🔁 startTimer() appelé";
 
-    remainingTime = 5;
+    remainingTime = duree_timer;
     emit timerUpdated();
 
     countdownTimer->stop();
diff --git a/Motus/motusgame.h b/Motus/motusgame.h
index eeebd32ac965935f833b87ccad544dfa28139a5a..5963e2e0e4aade83f4165ecbd1f09a57a91fc667 100644
--- a/Motus/motusgame.h
+++ b/Motus/motusgame.h
@@ -84,6 +84,7 @@ private:
     bool loosetime = false;
     bool win = false;
     bool debut = false;
+    int duree_timer=120;
 
     void loadWords();