diff --git a/Assets/GestionProgression.cs b/Assets/GestionProgression.cs
index 85d279eec19585cdd0abc7f00f8e2e8d91aae96b..48866ab8e4fec1a0890dd9c87134beb27aa30bdd 100644
--- a/Assets/GestionProgression.cs
+++ b/Assets/GestionProgression.cs
@@ -12,7 +12,7 @@ public class GestionProgression : MonoBehaviour
         // Créer un objet contenant les données à sauvegarder, y compris le timestamp actuel
 
 
-
+        Debug.Log("SauveProgression forcezero="+ forcezero);
         // Charger la liste actuelle de sauvegardes ou créer une nouvelle liste si elle n'existe pas encore
         listDeDonnees sauvegardes = ChargerSauvegardes();
         bool foundinside = false;
@@ -27,7 +27,16 @@ public class GestionProgression : MonoBehaviour
                 }
                 if (forcezero)
                 {
+                    string AttributBannissement = "bannissement_" + NewSystemeDeTraces.returnUserIDFLuence_or_UserIDHM();
+                    if (PlayerPrefs.HasKey(AttributBannissement))
+                    {
+                        PlayerPrefs.SetString(AttributBannissement, "");
+
+                        Debug.Log("AttributBannissement exists and is earased AttributBannissement=" + AttributBannissement);
+                    }
+                    //
                     dd.NumeroSession = 0;
+                    
                 }
             }
         }
diff --git a/Assets/NewSystemeDeTraces.cs b/Assets/NewSystemeDeTraces.cs
index 1f35d49f8314320afe69689fe488c1245b3aff42..c8247334d600e4f2433b5cec0989f800eb8d1c37 100644
--- a/Assets/NewSystemeDeTraces.cs
+++ b/Assets/NewSystemeDeTraces.cs
@@ -56,6 +56,7 @@ public class NewSystemeDeTraces : MonoBehaviour
     [System.Serializable]
     public class NewSystemeDeTraces_item
     {
+        public string date;
         public string id;
         public string[] listeChoix;
         public float duree;
@@ -83,6 +84,7 @@ public class NewSystemeDeTraces : MonoBehaviour
             jsonContents = File.ReadAllText(jsonFilePath);
             //mM.texteCheat.text += " un json existe deja length= " + jsonContents.Length;
             //Debug.Log("Contenu JSON existant : " + jsonContents);
+            
         }
         else
         {
@@ -95,7 +97,6 @@ public class NewSystemeDeTraces : MonoBehaviour
         if (jsonContents.Length > 0)
         {
             traceJson = JsonUtility.FromJson<NewSystemeDeTracesJSONRoot>(jsonContents);
-
         }
     }
 
@@ -324,6 +325,7 @@ public class NewSystemeDeTraces : MonoBehaviour
 
         NewSystemeDeTraces_item newitem = new NewSystemeDeTraces_item();
         newitem.id = mM.i.id;
+        newitem.date = GetFormattedDate() + "-" + GetTimeAsString();
         newitem.duree = mM.user_dureeActionOnChoix;
         newitem.choix = mM.user_choix;
         newitem.scoreItem = mM.scoreItem;
diff --git a/Assets/Scenes/MainScene.unity b/Assets/Scenes/MainScene.unity
index 08470122f2dfde789821af8aadeb1da8c5aaa14d..e3e2db9eb87a6a3450e323a8a5815b83263d8fb8 100644
--- a/Assets/Scenes/MainScene.unity
+++ b/Assets/Scenes/MainScene.unity
@@ -4605,6 +4605,9 @@ MonoBehaviour:
     modalite: 
     consigne: 
     fond: 
+    condition: 
+    debut: 
+    fin: 
     randomiser: 0
     nbItemsMax: 0
     items: []
@@ -4658,6 +4661,7 @@ MonoBehaviour:
   oreilleListenScript: {fileID: 532516272}
   gestionProg: {fileID: 761270584}
   clefPourSauvegardeUtilisateur: 
+  texteSessionQuestionNumero: {fileID: 1383918252}
   boutonDeconnexionText: {fileID: 1304225518}
   texteFinSession: {fileID: 2130757248}
   gameObjFin: {fileID: 234776227}
@@ -5801,6 +5805,142 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 1336072439}
   m_CullTransparentMesh: 1
+--- !u!1 &1383918250
+GameObject:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  serializedVersion: 6
+  m_Component:
+  - component: {fileID: 1383918251}
+  - component: {fileID: 1383918253}
+  - component: {fileID: 1383918252}
+  m_Layer: 5
+  m_Name: Text (TMP)
+  m_TagString: Untagged
+  m_Icon: {fileID: 0}
+  m_NavMeshLayer: 0
+  m_StaticEditorFlags: 0
+  m_IsActive: 1
+--- !u!224 &1383918251
+RectTransform:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1383918250}
+  m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
+  m_LocalPosition: {x: 0, y: 0, z: 0}
+  m_LocalScale: {x: 1, y: 1, z: 1}
+  m_ConstrainProportionsScale: 0
+  m_Children: []
+  m_Father: {fileID: 2006134183}
+  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
+  m_AnchorMin: {x: 1.02, y: 0.1}
+  m_AnchorMax: {x: 6, y: 0.99}
+  m_AnchoredPosition: {x: 0, y: 0}
+  m_SizeDelta: {x: 0.000005722046, y: 0}
+  m_Pivot: {x: 0.5, y: 0.5}
+--- !u!114 &1383918252
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1383918250}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_Material: {fileID: 0}
+  m_Color: {r: 1, g: 1, b: 1, a: 1}
+  m_RaycastTarget: 0
+  m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
+  m_Maskable: 1
+  m_OnCullStateChanged:
+    m_PersistentCalls:
+      m_Calls: []
+  m_text: 'session : 1/12
+
+    question : 1/12'
+  m_isRightToLeft: 0
+  m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2}
+  m_fontSharedMaterials: []
+  m_fontMaterial: {fileID: 0}
+  m_fontMaterials: []
+  m_fontColor32:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontColor: {r: 1, g: 1, b: 1, a: 1}
+  m_enableVertexGradient: 0
+  m_colorMode: 3
+  m_fontColorGradient:
+    topLeft: {r: 1, g: 1, b: 1, a: 1}
+    topRight: {r: 1, g: 1, b: 1, a: 1}
+    bottomLeft: {r: 1, g: 1, b: 1, a: 1}
+    bottomRight: {r: 1, g: 1, b: 1, a: 1}
+  m_fontColorGradientPreset: {fileID: 0}
+  m_spriteAsset: {fileID: 0}
+  m_tintAllSprites: 0
+  m_StyleSheet: {fileID: 0}
+  m_TextStyleHashCode: -1183493901
+  m_overrideHtmlColors: 0
+  m_faceColor:
+    serializedVersion: 2
+    rgba: 4294967295
+  m_fontSize: 22.55
+  m_fontSizeBase: 36
+  m_fontWeight: 400
+  m_enableAutoSizing: 1
+  m_fontSizeMin: 18
+  m_fontSizeMax: 72
+  m_fontStyle: 0
+  m_HorizontalAlignment: 1
+  m_VerticalAlignment: 256
+  m_textAlignment: 65535
+  m_characterSpacing: 0
+  m_wordSpacing: 0
+  m_lineSpacing: 0
+  m_lineSpacingMax: 0
+  m_paragraphSpacing: 0
+  m_charWidthMaxAdj: 0
+  m_enableWordWrapping: 1
+  m_wordWrappingRatios: 0.4
+  m_overflowMode: 0
+  m_linkedTextComponent: {fileID: 0}
+  parentLinkedComponent: {fileID: 0}
+  m_enableKerning: 1
+  m_enableExtraPadding: 0
+  checkPaddingRequired: 0
+  m_isRichText: 1
+  m_parseCtrlCharacters: 1
+  m_isOrthographic: 1
+  m_isCullingEnabled: 0
+  m_horizontalMapping: 0
+  m_verticalMapping: 0
+  m_uvLineOffset: 0
+  m_geometrySortingOrder: 0
+  m_IsTextObjectScaleStatic: 0
+  m_VertexBufferAutoSizeReduction: 0
+  m_useMaxVisibleDescender: 1
+  m_pageToDisplay: 1
+  m_margin: {x: 0, y: 0, z: 0, w: 0}
+  m_isUsingLegacyAnimationComponent: 0
+  m_isVolumetricText: 0
+  m_hasFontAssetChanged: 0
+  m_baseMaterial: {fileID: 0}
+  m_maskOffset: {x: 0, y: 0, z: 0, w: 0}
+--- !u!222 &1383918253
+CanvasRenderer:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 1383918250}
+  m_CullTransparentMesh: 1
 --- !u!1 &1448299096
 GameObject:
   m_ObjectHideFlags: 0
@@ -6184,6 +6324,7 @@ GameObject:
   - component: {fileID: 2006134186}
   - component: {fileID: 2006134185}
   - component: {fileID: 2006134184}
+  - component: {fileID: 2006134187}
   m_Layer: 5
   m_Name: boutonIEHM
   m_TagString: Untagged
@@ -6202,7 +6343,8 @@ RectTransform:
   m_LocalPosition: {x: 0, y: 0, z: 0}
   m_LocalScale: {x: 1, y: 1, z: 1}
   m_ConstrainProportionsScale: 0
-  m_Children: []
+  m_Children:
+  - {fileID: 1383918251}
   m_Father: {fileID: 1312748374}
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
   m_AnchorMin: {x: 0, y: 0.9}
@@ -6304,6 +6446,20 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 2006134182}
   m_CullTransparentMesh: 1
+--- !u!114 &2006134187
+MonoBehaviour:
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_GameObject: {fileID: 2006134182}
+  m_Enabled: 1
+  m_EditorHideFlags: 0
+  m_Script: {fileID: 11500000, guid: 86710e43de46f6f4bac7c8e50813a599, type: 3}
+  m_Name: 
+  m_EditorClassIdentifier: 
+  m_AspectMode: 2
+  m_AspectRatio: 1
 --- !u!1 &2130757246
 GameObject:
   m_ObjectHideFlags: 0
diff --git a/Assets/mainManager.cs b/Assets/mainManager.cs
index 458f59ecc4ae96e8ef78538241032a6e4374e69f..f775700efbc850d96154310f4c6843ab1df12988 100644
--- a/Assets/mainManager.cs
+++ b/Assets/mainManager.cs
@@ -6,6 +6,7 @@ using TMPro;
 using UnityEngine;
 using UnityEngine.SceneManagement;
 using UnityEngine.UI;
+using UnityEngine.Windows;
 using static ChargementJSONStructure;
 using static EpreuveCondition;
 
@@ -51,6 +52,11 @@ public class mainManager : MonoBehaviour
     public listenAnim oreilleListenScript;
     public GestionProgression gestionProg;
     public string clefPourSauvegardeUtilisateur;
+    private int durePauseBannissementEnMinutes = 20;
+    private bool bannissementIsOn;
+    private bool bannissementIsOver;
+    private DateTime bannissementExpirationDateTime;
+    public TextMeshProUGUI texteSessionQuestionNumero;
     public class groupemementChoixEtPrefabBoutonQCM
     {
         public ChargementJSONStructure.Choix choix;
@@ -65,8 +71,8 @@ public class mainManager : MonoBehaviour
         resetClasse();
         currentSession = 0;
         Time.timeScale = 1.0f;
-
-
+        bannissementIsOn = false;
+        bannissementIsOver = false;
         // Vérifier si la clé existe dans le dictionnaire
         clefPourSauvegardeUtilisateur = "gm2024E";
 
@@ -93,6 +99,34 @@ public class mainManager : MonoBehaviour
             Debug.Log("CLEF "+ clefPourSauvegardeUtilisateur +" NOT FOUND starting with session N °0");
         }
         toutessessionsacheves = false;
+
+        string AttributBannissement = "bannissement_" + NewSystemeDeTraces.returnUserIDFLuence_or_UserIDHM();
+
+        if (PlayerPrefs.HasKey(AttributBannissement))
+        {
+            string timestampString = PlayerPrefs.GetString(AttributBannissement);
+            if (!string.IsNullOrEmpty(timestampString))
+            {
+                DateTime timestampDateTime;
+                bool parseSuccess = DateTime.TryParseExact(timestampString, "yyyy-MM-dd HH:mm", null, System.Globalization.DateTimeStyles.None, out timestampDateTime);
+                if (parseSuccess)
+                {
+                    Debug.Log("Timestamp récupéré : " + timestampDateTime);
+                    bannissementExpirationDateTime = timestampDateTime.AddMinutes(20);
+                    DateTime now = DateTime.Now;
+                    if (now < bannissementExpirationDateTime)
+                    {
+                        bannissementIsOn = true;
+                    }
+                    // Tu peux maintenant utiliser timestampDateTime comme un objet DateTime
+                }
+                else
+                {
+                    Debug.LogError("Erreur lors de la conversion du timestamp.");
+                }
+            }
+        }
+        s = jsonStructureScript.data.sessions[currentSession];
         if (currentSession >= jsonStructureScript.data.sessions.Count)
         {
             toutessessionsacheves = true;
@@ -109,9 +143,15 @@ public class mainManager : MonoBehaviour
             i = e.items[currentItem];
             ouvrirMenu(false);
         }
+        else if (bannissementIsOn)
+        {
+            ouvrirMenu(false);
+        }
         else
         {
-            playSteps();
+            //playSteps();
+            Debug.Log("nextstep from start function");
+            nextEpreuve(true);
         }
 
     }
@@ -121,17 +161,26 @@ public class mainManager : MonoBehaviour
 
     public void boutonRAZPlayerprefsForthisuserClicked()
     {
+        Debug.Log("boutonRAZPlayerprefsForthisuserClicked");
         compteurdeclickOnBoutonRAZ++;
         if (compteurdeclickOnBoutonRAZ >= 15 && compteurdeclickOnBoutonRAZ<20)
         {
             deconnexionPlusRAZ = true;
             boutonDeconnexionText.text = "Déconnecter + RAZ progression";
             boutonDeconnexion.SetActive(true);
+
+            if (bannissementIsOn)
+            {
+                BoutonnextsessionTexte.text = "Lancer la session";
+                boutonSessionSuivante.SetActive(true);
+            }
+
         }
         else if (compteurdeclickOnBoutonRAZ >= 20)
         {
             deconnexionPlusRAZ = false;
             boutonDeconnexionText.text = "Déconnecter l'utilisateur sans RAZ progression";
+            compteurdeclickOnBoutonRAZ = 0;
         }
     }
     private void resetClasse()
@@ -321,7 +370,25 @@ public class mainManager : MonoBehaviour
         {
             e.nbItemsMax = e.items.Count;
         }
-
+        int numsess = currentSession + 1;
+        texteSessionQuestionNumero.text = "Session N°" + numsess.ToString() + "/" + jsonStructureScript.data.sessions.Count.ToString()+"\n";
+        int numiteTotal = 0;
+        int numIteCurrent = 1;
+        int indexxeppr = 0;
+        foreach (Epreuve eee in s.epreuves)
+        {
+            if(indexxeppr< currentEpreuve)
+            {
+                numIteCurrent += eee.items.Count;
+            }
+            else if (indexxeppr== currentEpreuve)
+            {
+                numIteCurrent += currentItem;
+            }
+            numiteTotal += eee.items.Count;
+            indexxeppr++;
+        }
+        texteSessionQuestionNumero.text += "Question N°" + numIteCurrent.ToString() + "/" + numiteTotal.ToString();
         if (!epreuveitemscurrentSet)
         {
             epreuvesitemsCurrent = e.items;
@@ -373,16 +440,42 @@ public class mainManager : MonoBehaviour
 
         return shuffled;
     }
-
-    public void nextEpreuve()
+    private bool initialisationFirstEpreuve_EnCours = false;
+    public void nextEpreuve(bool initialisation=false)
     {
-        Debug.Log("nextEpreuve");
-        // on regarde s'il y a une autre epreuve dans la m�me session � lancer
+        if (initialisation)
+        {
+            s = jsonStructureScript.data.sessions[currentSession];
+            currentEpreuve = -1;
+            initialisationFirstEpreuve_EnCours = true;
+        }
+
+        //Debug.Log("s = " + s + " currentEpreuve=" + currentEpreuve);
+        // on regarde s'il y a une autre epreuve dans la meme session a lancer
         if (s!=null && currentEpreuve >= s.epreuves.Count - 1)
         {
+            if (initialisationFirstEpreuve_EnCours)
+            {
+                // il n'y a aucune epreuve de valide dans cette session on regarde si il y a une session suivante
+                currentSession++;
+                if(currentSession>= jsonStructureScript.data.sessions.Count)
+                {
+                    // Dernière session atteinte. Fin du jeu
+                    Debug.Log("Dernière session atteinte. Fin du jeu");
+                    ouvrirMenu(true);
+                }
+                else
+                {
+                    //on initialise la session suivante existante sur sa premiere epreuve, sans passer par une deconnexion
+                    nextEpreuve(true);
+                }
+            }
+            else
+            {
+                ouvrirMenu(true);
+            }
             //pas d'autre epreuve dans cette session, on clot la session
-            Debug.Log("pas d'autre epreuve dans cette session, on clot la session currentEpreuve="+ currentEpreuve+ " s.epreuves.Count="+ s.epreuves.Count);
-            ouvrirMenu(true);
+            //Debug.Log("pas d'autre epreuve dans cette session, on clot la session currentEpreuve="+ currentEpreuve+ " s.epreuves.Count="+ s.epreuves.Count);
         }
         else
         {
@@ -393,11 +486,13 @@ public class mainManager : MonoBehaviour
                 currentItem = 0;
                 epreuveConsignebeenPlayed = false;
                 current_step = -1;
+                initialisationFirstEpreuve_EnCours = false;
                 resetItem();
                 playSteps();
             }
             else
             {
+                Debug.Log("next epreuve from next epreuve");
                 nextEpreuve();
             }
         }
@@ -405,8 +500,55 @@ public class mainManager : MonoBehaviour
 
     public bool playableEpreuve(Epreuve test_ep)
     {
-        EpreuveCondition cond = new EpreuveCondition(test_ep);
-        return cond.eval();
+        Debug.Log("testing playableEpreuve id="+test_ep.id+" titre ="+test_ep.titre);
+        bool epreuveIsPlayable = true;
+        DateTime dateNow = DateTime.Now;
+        DateTime dateTime;
+        if (test_ep!=null && test_ep.debut!=null && test_ep.debut.Length > 0)
+        {
+            if (DateTime.TryParse(test_ep.debut, out dateTime))
+            {
+                if(dateTime > dateNow)
+                {
+                    Debug.Log("dateTime debut ="+ dateTime+" exceeds dateNow="+ dateNow);
+                    epreuveIsPlayable = false;
+                }
+            }
+            else
+            {
+                Debug.Log("debut value does not match a valid date");
+
+            }
+        }
+        else
+        {
+            Debug.Log("this epreuve does not have a debut value");
+        }
+        if (test_ep != null && test_ep.fin != null && test_ep.fin.Length > 0)
+        {
+            if (DateTime.TryParse(test_ep.fin, out dateTime))
+            {
+                if (dateTime < dateNow)
+                {
+                    epreuveIsPlayable = false;
+                    Debug.Log("dateTime fin =" + dateTime + " bellow dateNow=" + dateNow);
+
+                }
+            }
+            else
+            {
+                Debug.Log("end value does not match a valid date");
+
+            }
+        }
+        else
+        {
+            Debug.Log("this epreuve does not have an end value");
+
+        }
+        Debug.Log("epreuveIsPlayable="+ epreuveIsPlayable);
+
+        return epreuveIsPlayable;
     }
 
 
@@ -466,6 +608,29 @@ public class mainManager : MonoBehaviour
             // reveil
             }
         }
+        if (bannissementIsOn)
+        {
+            DateTime now = DateTime.Now;
+
+            // Vérifie si la date actuelle est antérieure à la date d'expiration
+            if (now < bannissementExpirationDateTime)
+            {
+                // Calcule la durée restante jusqu'à la reprise
+                TimeSpan tempsRestant = bannissementExpirationDateTime - now;
+
+                // Affiche le temps restant
+                BoutonsessionActuelleTexte.text = "Utilisateur en pause. Reprise possible dans "+ tempsRestant.Minutes + " minutes et "+ tempsRestant.Seconds + " secondes";
+            }
+            else
+            {
+                BoutonsessionActuelleTexte.text = "Pause terminée. Lancer la session";
+                boutonDeconnexion.SetActive(false);
+                bannissementIsOn = false;
+                bannissementIsOver = true;
+                Debug.Log("La pause a déjà expiré.");
+            }
+
+        }
     }
 
     private void reveilDone()
@@ -718,29 +883,30 @@ public class mainManager : MonoBehaviour
         bool nbitempassesReached = false;
         int nbItemsTotauxDansCetteSession = 0;
 
+        int indexepreuveParsed = 0;
         foreach (Epreuve epp in s.epreuves)
         {
+            int indexItemParsed = 0;
             foreach (EpreuveItem eii in epp.items)
             {
-
-
                 if (!nbitempassesReached)
                 {
                     nbItemsPasses++;
                 }
                 nbItemsTotauxDansCetteSession++;
-                if (eii == i)
+                if (indexepreuveParsed > currentEpreuve || (indexepreuveParsed >= currentEpreuve && indexItemParsed >= currentItem))
                 {
                     nbitempassesReached = true;
                 }
+                indexItemParsed++;
             }
+            indexepreuveParsed++;
         }
         int maxsession = jsonStructureScript.data.sessions.Count - 1;
         int maxepreuve = jsonStructureScript.data.sessions[maxsession].epreuves.Count - 1;
         int maxitem = jsonStructureScript.data.sessions[maxsession].epreuves[maxepreuve].items.Count - 1;
 
 
-
         Debug.Log("nbItemsPasses = " + nbItemsPasses + " nbItemsTotauxDansCetteSession=" + nbItemsTotauxDansCetteSession + " i.id=" + i.id + " e.id=" + e.id);
         infoSessionItemEnCours.text += "\n\nQuestion\nN°" + nbItemsPasses.ToString() + "/" + nbItemsTotauxDansCetteSession.ToString();
         if (i == jsonStructureScript.data.sessions[maxsession].epreuves[maxepreuve].items[maxitem])
@@ -786,19 +952,45 @@ public class mainManager : MonoBehaviour
                 boutonSessionEnCours.SetActive(false);
                 boutonDeconnexion.SetActive(true);
             }
+            if (bannissementIsOn)
+            {
+                boutonDeconnexion.SetActive(true);
+
+            }
         }
 
 
     }
     public void clicRetourSessionEnCOurs()
     {
-        Time.timeScale = 1.0f;
-        Debug.Log("clicRetourSessionEnCOurs");
-        gameObjFin.SetActive(false);
+        if (!bannissementIsOn)
+        {
+            Time.timeScale = 1.0f;
+            Debug.Log("clicRetourSessionEnCOurs");
+            gameObjFin.SetActive(false);
+            if (bannissementIsOver)
+            {
+                bannissementIsOver = false;
+                nextEpreuve(true);
+                
+            }
+        }
     }
 
     public void clicSessionSuivante()
     {
+        if (bannissementIsOn)
+        {
+            bannissementIsOn = false;
+            string AttributBannissement = "bannissement_" + NewSystemeDeTraces.returnUserIDFLuence_or_UserIDHM();
+            if (PlayerPrefs.HasKey(AttributBannissement))
+            {
+                PlayerPrefs.SetString(AttributBannissement, "");
+                PlayerPrefs.Save();
+            }
+            boutonSessionSuivante.SetActive(false);
+            nextEpreuve(true);
+        }
         /*
         Debug.Log("clicSessionSuivante");
         resetItem();
@@ -815,6 +1007,7 @@ public class mainManager : MonoBehaviour
         gameObjFin.SetActive(false);*/
 
     }
+    private bool deconnexionViaClickBoutonDeconnexion;
     public void deconnexion()
     {
         Debug.Log("deconnexion");
@@ -823,20 +1016,32 @@ public class mainManager : MonoBehaviour
         boutonSessionSuivante.SetActive(false);
         boutonSessionEnCours.SetActive(false);
         boutonDeconnexion.SetActive(false);
+        deconnexionViaClickBoutonDeconnexion = true;
         StartCoroutine(terminateScene());
         //texteFinSession.text = "FIN DE SESSION / Envoi des traces au serveur en cours...";
     }
 
     public void launchTerminateScene()
     {
+        deconnexionViaClickBoutonDeconnexion = false;
         StartCoroutine(terminateScene());
     }
     public IEnumerator terminateScene()
     {
+        Debug.Log("terminateScene deconnexionPlusRAZ="+ deconnexionPlusRAZ);
         if (deconnexionPlusRAZ)
         {
             gestionProg.SauveProgression(0, true);
-
+        }
+        else if (!deconnexionViaClickBoutonDeconnexion)
+        {
+            // on enregistre dans les playerprefs une ref à ce userlogin+teachercode+timestamp à la minuté près pour le bannir
+            string AttributBannissement = "bannissement_" + NewSystemeDeTraces.returnUserIDFLuence_or_UserIDHM();
+            DateTime currentTime = DateTime.Now;
+            string timestampString = currentTime.ToString("yyyy-MM-dd HH:mm");
+            PlayerPrefs.SetString(AttributBannissement, timestampString);
+            PlayerPrefs.Save();
+            // Sauvegarde des modifica
         }
         Time.timeScale = 1.0f;
         Debug.Log("terminateScene");
diff --git a/ProjectSettings/ProjectSettings.asset b/ProjectSettings/ProjectSettings.asset
index 1f41c2eb03be89937da4a4564bb12f40d60bfb41..b5a3c744293eb2718be011c41320875576ec5bfd 100644
--- a/ProjectSettings/ProjectSettings.asset
+++ b/ProjectSettings/ProjectSettings.asset
@@ -136,7 +136,7 @@ PlayerSettings:
   vulkanEnableLateAcquireNextImage: 0
   vulkanEnableCommandBufferRecycling: 1
   loadStoreDebugModeEnabled: 0
-  bundleVersion: 1.14
+  bundleVersion: 1.15
   preloadedAssets: []
   metroInputSource: 0
   wsaTransparentSwapchain: 0
@@ -166,7 +166,7 @@ PlayerSettings:
     iPhone: 0
     tvOS: 0
   overrideDefaultApplicationIdentifier: 1
-  AndroidBundleVersionCode: 6
+  AndroidBundleVersionCode: 7
   AndroidMinSdkVersion: 22
   AndroidTargetSdkVersion: 0
   AndroidPreferredInstallLocation: 1
diff --git a/UserSettings/Layouts/default-2022.dwlt b/UserSettings/Layouts/default-2022.dwlt
index 48be7dbe90eee5b4b0f62a47bd91a34348304ce0..dd916130609afbec505525c7c8e6e9cf60296499 100644
--- a/UserSettings/Layouts/default-2022.dwlt
+++ b/UserSettings/Layouts/default-2022.dwlt
@@ -19,7 +19,7 @@ MonoBehaviour:
     width: 1536
     height: 772.8
   m_ShowMode: 4
-  m_Title: Project
+  m_Title: Game
   m_RootView: {fileID: 2}
   m_MinSize: {x: 875, y: 300}
   m_MaxSize: {x: 10000, y: 10000}
@@ -119,7 +119,7 @@ MonoBehaviour:
   m_MinSize: {x: 300, y: 100}
   m_MaxSize: {x: 24288, y: 16192}
   vertical: 0
-  controlID: 122
+  controlID: 49
 --- !u!114 &6
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -139,12 +139,12 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 1431.2
+    width: 1228.8
     height: 722.8
   m_MinSize: {x: 200, y: 100}
   m_MaxSize: {x: 16192, y: 16192}
   vertical: 1
-  controlID: 41
+  controlID: 50
 --- !u!114 &7
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -164,12 +164,12 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 1431.2
-    height: 402.4
+    width: 1228.8
+    height: 485.6
   m_MinSize: {x: 200, y: 50}
   m_MaxSize: {x: 16192, y: 8096}
   vertical: 0
-  controlID: 42
+  controlID: 40
 --- !u!114 &8
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -187,8 +187,8 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 0
-    width: 388
-    height: 402.4
+    width: 292
+    height: 485.6
   m_MinSize: {x: 201, y: 221}
   m_MaxSize: {x: 4001, y: 4021}
   m_ActualView: {fileID: 13}
@@ -206,23 +206,23 @@ MonoBehaviour:
   m_Enabled: 1
   m_EditorHideFlags: 1
   m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: SceneView
+  m_Name: GameView
   m_EditorClassIdentifier: 
   m_Children: []
   m_Position:
     serializedVersion: 2
-    x: 388
+    x: 292
     y: 0
-    width: 1043.2
-    height: 402.4
+    width: 936.80005
+    height: 485.6
   m_MinSize: {x: 202, y: 221}
   m_MaxSize: {x: 4002, y: 4021}
-  m_ActualView: {fileID: 14}
+  m_ActualView: {fileID: 12}
   m_Panes:
   - {fileID: 14}
   - {fileID: 12}
-  m_Selected: 0
-  m_LastSelected: 1
+  m_Selected: 1
+  m_LastSelected: 0
 --- !u!114 &10
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -233,23 +233,23 @@ MonoBehaviour:
   m_Enabled: 1
   m_EditorHideFlags: 1
   m_Script: {fileID: 12006, guid: 0000000000000000e000000000000000, type: 0}
-  m_Name: ProjectBrowser
+  m_Name: ConsoleWindow
   m_EditorClassIdentifier: 
   m_Children: []
   m_Position:
     serializedVersion: 2
     x: 0
-    y: 402.4
-    width: 1431.2
-    height: 320.4
-  m_MinSize: {x: 231, y: 271}
-  m_MaxSize: {x: 10001, y: 10021}
-  m_ActualView: {fileID: 15}
+    y: 485.6
+    width: 1228.8
+    height: 237.19998
+  m_MinSize: {x: 101, y: 121}
+  m_MaxSize: {x: 4001, y: 4021}
+  m_ActualView: {fileID: 16}
   m_Panes:
   - {fileID: 15}
   - {fileID: 16}
-  m_Selected: 0
-  m_LastSelected: 1
+  m_Selected: 1
+  m_LastSelected: 0
 --- !u!114 &11
 MonoBehaviour:
   m_ObjectHideFlags: 52
@@ -265,12 +265,12 @@ MonoBehaviour:
   m_Children: []
   m_Position:
     serializedVersion: 2
-    x: 1431.2
+    x: 1228.8
     y: 0
-    width: 104.80005
+    width: 307.19995
     height: 722.8
-  m_MinSize: {x: 276, y: 71}
-  m_MaxSize: {x: 4001, y: 4021}
+  m_MinSize: {x: 275, y: 50}
+  m_MaxSize: {x: 4000, y: 4000}
   m_ActualView: {fileID: 17}
   m_Panes:
   - {fileID: 17}
@@ -296,10 +296,10 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 388
+    x: 292
     y: 73.6
-    width: 1041.2
-    height: 381.4
+    width: 934.80005
+    height: 464.6
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -316,7 +316,7 @@ MonoBehaviour:
   m_ShowGizmos: 0
   m_TargetDisplay: 0
   m_ClearColor: {r: 0, g: 0, b: 0, a: 0}
-  m_TargetSize: {x: 1301.5, y: 450.5}
+  m_TargetSize: {x: 1168.5, y: 554.5}
   m_TextureFilterMode: 0
   m_TextureHideFlags: 61
   m_RenderIMGUI: 1
@@ -331,10 +331,10 @@ MonoBehaviour:
     m_VRangeLocked: 0
     hZoomLockedByDefault: 0
     vZoomLockedByDefault: 0
-    m_HBaseRangeMin: -520.60004
-    m_HBaseRangeMax: 520.60004
-    m_VBaseRangeMin: -180.2
-    m_VBaseRangeMax: 180.2
+    m_HBaseRangeMin: -467.4
+    m_HBaseRangeMax: 467.4
+    m_VBaseRangeMin: -221.8
+    m_VBaseRangeMax: 221.8
     m_HAllowExceedBaseRangeMin: 1
     m_HAllowExceedBaseRangeMax: 1
     m_VAllowExceedBaseRangeMin: 1
@@ -352,23 +352,23 @@ MonoBehaviour:
       serializedVersion: 2
       x: 0
       y: 21
-      width: 1041.2
-      height: 360.4
-    m_Scale: {x: 0.9999999, y: 0.99999994}
-    m_Translation: {x: 520.6, y: 180.2}
+      width: 934.80005
+      height: 443.6
+    m_Scale: {x: 1, y: 1}
+    m_Translation: {x: 467.40002, y: 221.8}
     m_MarginLeft: 0
     m_MarginRight: 0
     m_MarginTop: 0
     m_MarginBottom: 0
     m_LastShownAreaInsideMargins:
       serializedVersion: 2
-      x: -520.60004
-      y: -180.20001
-      width: 1041.2001
-      height: 360.40002
+      x: -467.40002
+      y: -221.8
+      width: 934.80005
+      height: 443.6
     m_MinimalGUI: 1
-  m_defaultScale: 0.9999999
-  m_LastWindowPixelSize: {x: 1301.5, y: 476.75}
+  m_defaultScale: 1
+  m_LastWindowPixelSize: {x: 1168.5, y: 580.75}
   m_ClearInEditMode: 1
   m_NoCameraWarning: 1
   m_LowResolutionForAspectRatios: 01000000000000000000
@@ -396,8 +396,8 @@ MonoBehaviour:
     serializedVersion: 2
     x: 0
     y: 73.6
-    width: 387
-    height: 381.4
+    width: 291
+    height: 464.6
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -411,9 +411,9 @@ MonoBehaviour:
   m_SceneHierarchy:
     m_TreeViewState:
       scrollPos: {x: 0, y: 0}
-      m_SelectedIDs: 
+      m_SelectedIDs: 3cb90000
       m_LastClickedID: 0
-      m_ExpandedIDs: 9af4f9ffdef4f9ff6c15faff9e17faffb217faffd070faff4e77faff3078faffd27cfaff167dfaffd09efaff30a2faff4ca2faff9890fbff38b1fbff5206fcff0429fcffde2ffcffda97fcff1e98fcffacb8fcffdebafcfff2bafcfff41afdff245bfdffe8e2fdff1ce9fdff60e9fdff1a0bfeff7a0efeff960efeff0610feffa63dfeffa864feff9680feff4290feffaa2cffffd835ffff48daffff04fbffff389c0000849c00008e9c0000989c0000aa9c0000c2c5010038c6010028800300269e0300fc8b0400008c0400768c04007821080026810900b0810900c8840900f28f0900849009003a9c09003e9c0900989c0900b49c090080f70900faf70900f4100b00062e0b00
+      m_ExpandedIDs: 4e41fdffbe62fdffdcd3fdff6813feffd435feff0063feff5c68feff5488feff10a9feff6eaefeff2cdcfeffa4a6ffffe2ceffff0cd4ffffe6f4ffff16fbffff5ac4000038a801006ca80100aec80100eac80100e2e701001ee80100f622020032230200ee2302002a240200
       m_RenameOverlay:
         m_UserAcceptedRename: 0
         m_Name: 
@@ -457,10 +457,10 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 388
+    x: 409.6
     y: 73.6
-    width: 1041.2
-    height: 381.4
+    width: 649.2001
+    height: 464.6
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -475,8 +475,8 @@ MonoBehaviour:
       floating: 0
       collapsed: 0
       displayed: 1
-      snapOffset: {x: -156, y: -26.400024}
-      snapOffsetDelta: {x: -14.400024, y: 0}
+      snapOffset: {x: -164.79999, y: -26.400024}
+      snapOffsetDelta: {x: 0, y: 0}
       snapCorner: 3
       id: Tool Settings
       index: 0
@@ -806,9 +806,9 @@ MonoBehaviour:
   m_PlayAudio: 0
   m_AudioPlay: 0
   m_Position:
-    m_Target: {x: 620.1211, y: 334.8517, z: 1.8107476}
+    m_Target: {x: 1210.7328, y: -188.23718, z: 0}
     speed: 2
-    m_Value: {x: 620.1211, y: 334.8517, z: 1.8107476}
+    m_Value: {x: 1210.7328, y: -188.23718, z: 0}
   m_RenderMode: 0
   m_CameraMode:
     drawMode: 0
@@ -858,9 +858,9 @@ MonoBehaviour:
     speed: 2
     m_Value: {x: 0, y: 0, z: 0, w: 1}
   m_Size:
-    m_Target: 372.46674
+    m_Target: 1544.8628
     speed: 2
-    m_Value: 372.46674
+    m_Value: 1544.8628
   m_Ortho:
     m_Target: 1
     speed: 2
@@ -906,9 +906,9 @@ MonoBehaviour:
   m_Pos:
     serializedVersion: 2
     x: 0
-    y: 476
-    width: 1430.2
-    height: 299.4
+    y: 559.2
+    width: 1032.6
+    height: 216.19998
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -930,7 +930,7 @@ MonoBehaviour:
     m_SkipHidden: 0
     m_SearchArea: 1
     m_Folders:
-    - Assets
+    - Assets/Scenes
     m_Globs: []
     m_OriginalText: 
     m_ImportLogFlags: 0
@@ -938,16 +938,16 @@ MonoBehaviour:
   m_ViewMode: 1
   m_StartGridSize: 64
   m_LastFolders:
-  - Assets
+  - Assets/Scenes
   m_LastFoldersGridSize: -1
   m_LastProjectPath: C:\Users\guill\OneDrive\Bureau\LUCIOLE\EVALULULU_DEC2023_2\lulu-testing
   m_LockTracker:
     m_IsLocked: 0
   m_FolderTreeState:
     scrollPos: {x: 0, y: 79}
-    m_SelectedIDs: ba9b0000
-    m_LastClickedID: 39866
-    m_ExpandedIDs: 00000000ba9b0000bc9b0000be9b000000ca9a3bffffff7f
+    m_SelectedIDs: 34b90000
+    m_LastClickedID: 47412
+    m_ExpandedIDs: 00000000566300005863000038b9000000ca9a3b
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -975,7 +975,7 @@ MonoBehaviour:
     scrollPos: {x: 0, y: 0}
     m_SelectedIDs: 
     m_LastClickedID: 0
-    m_ExpandedIDs: 00000000ba9b0000bc9b0000be9b0000
+    m_ExpandedIDs: 000000005663000058630000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -1000,9 +1000,9 @@ MonoBehaviour:
       m_Icon: {fileID: 0}
       m_ResourceFile: 
   m_ListAreaState:
-    m_SelectedInstanceIDs: 
-    m_LastClickedInstanceID: 0
-    m_HadKeyboardFocusLastEvent: 0
+    m_SelectedInstanceIDs: 3cb90000
+    m_LastClickedInstanceID: 47420
+    m_HadKeyboardFocusLastEvent: 1
     m_ExpandedInstanceIDs: c6230000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
@@ -1052,9 +1052,9 @@ MonoBehaviour:
   m_Pos:
     serializedVersion: 2
     x: 0
-    y: 476
-    width: 1430.2
-    height: 299.4
+    y: 559.2
+    width: 1227.8
+    height: 216.19998
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -1085,9 +1085,9 @@ MonoBehaviour:
     m_Tooltip: 
   m_Pos:
     serializedVersion: 2
-    x: 1431.2001
+    x: 1228.8
     y: 73.6
-    width: 103.80005
+    width: 306.19995
     height: 701.8
   m_SerializedDataModeController:
     m_DataMode: 0