diff --git a/src/options/options.html b/src/options/options.html
deleted file mode 100644
index 8b2bfa963d5f5369b8b67464fd9ac95a506d4253..0000000000000000000000000000000000000000
--- a/src/options/options.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!-- <!DOCTYPE html>
-<html lang="fr">
-<head>
-  <meta charset="UTF-8">
-  <meta name="viewport" content="width=device-width, initial-scale=1.0">
-  <title>Paramètres ff2BaLex</title>
-  <script src="../utils/logger.js"></script>
-  <style>
-    body {
-      font-family: Luciole;
-      padding: 20px;
-      background-color: #323046;
-      color: white;
-    }
-    button {
-      width: 100%;
-      padding: 10px;
-      margin-bottom: 10px;
-      font-size: 15px;
-      color: #94608a;
-      font-weight: bold;
-      border: none;
-      cursor: pointer;
-    }
-    button:hover {
-      background-color: #94608a;
-      color: white;
-    }
-  </style>
-</head>
-<body>
-  <h3>Paramètres BaLex</h3>
-  <button id="connectBtn">Se connecter</button>
-  <button id="toggleExtensionBtn">Activer/Désactiver l'extension</button>
-  <button id="toggleStatsBtn">Activer/Désactiver les statistiques</button>
-  <script src="options.js"></script>
-</body>
-</html> -->
diff --git a/src/options/options.js b/src/options/options.js
deleted file mode 100644
index da48f12e80a3aaf985363633861795ef709f6d89..0000000000000000000000000000000000000000
--- a/src/options/options.js
+++ /dev/null
@@ -1,28 +0,0 @@
-// document.getElementById('connectBtn').addEventListener('click', () => {
-//   browser.runtime.sendMessage({ action: "openLoginPage" });
-// });
-
-// async function disconnectFromLexicalDB() {
-//   await browser.storage.local.remove("accessToken");
-//   log("Token supprimé, déconnexion réussie.");
-//   alert("Déconnexion réussie.");
-//   updateContextMenu();
-
-//   // Envoi d'un message pour mettre à jour l'UI
-//   browser.runtime.sendMessage({ action: "updateUI" });
-// }
-  
-// document.getElementById("toggleExtensionBtn").addEventListener("click", async () => {
-//   const { extensionActive } = await browser.storage.local.get("extensionActive");
-//   const newState = !extensionActive;
-//   await browser.storage.local.set({ extensionActive: newState });
-//   alert(`Extension ${newState ? "activée" : "désactivée"}.`);
-// });
-
-// document.getElementById("toggleStatsBtn").addEventListener("click", async () => {
-//   const { statsActive } = await browser.storage.local.get("statsActive");
-//   const newState = !statsActive;
-//   await browser.storage.local.set({ statsActive: newState });
-//   alert(`Statistiques ${newState ? "activées" : "désactivées"}.`);
-// });
-
diff --git a/src/popup/popup.js b/src/popup/popup.js
index ddbec903c1aa28ababcb6b3150e05768a3fdc695..5a9aeff54801177c383e359ae4e841b9be0c4dc8 100644
--- a/src/popup/popup.js
+++ b/src/popup/popup.js
@@ -360,7 +360,7 @@ function showNotification(message) {
 
 function handleWorkerMessage(event) {
   const data = event.data;
-  console.log("[Background] Message du WebWorker :", data);
+  log("[Background] Message du WebWorker :", data);
   
   if (data.type === "process-text" && data.status === "error") {
     browser.runtime.sendMessage({
diff --git a/src/utils/definitions.js b/src/utils/definitions.js
index fd573039c90721fb65d6cd4a9bf40a10c683154a..2010727fc812b69758bbc32022c36ad38d749f0d 100644
--- a/src/utils/definitions.js
+++ b/src/utils/definitions.js
@@ -186,7 +186,7 @@ async function wikiApiResponse(word) {
 
     
     const data = await response.json();
-    console.log(`Résultats du Wiktionnaire pour le mot "${word}" :`, data);
+    log(`Résultats du Wiktionnaire pour le mot "${word}" :`, data);
     return data;
   } catch (error) {
     console.error('Erreur lors de la récupération de la définition depuis le Wiktionnaire :', error);
@@ -240,11 +240,11 @@ function formatDefinitionData(apiResponse) {
 
 async function fetchWiktionaryDefinition(word) {
   try {
-      console.log(` Recherche de la définition pour : ${word}`);
+      log(` Recherche de la définition pour : ${word}`);
 
       // Récupération des données depuis l'API
       const apiResponse = await wikiApiResponse(word);
-      console.log("Réponse brute de l'API :", apiResponse);
+      log("Réponse brute de l'API :", apiResponse);
 
       if (!Array.isArray(apiResponse) || apiResponse.length === 0) {
           console.warn(`Aucune définition trouvée pour "${word}"`);
@@ -253,7 +253,7 @@ async function fetchWiktionaryDefinition(word) {
 
       // Formatage des données
       const formattedData = formatDefinitionData(apiResponse);
-      console.log("Données formatées :", formattedData);
+      log("Données formatées :", formattedData);
 
       return [
           {
diff --git a/src/utils/logger.js b/src/utils/logger.js
index d404436b9790f4faf432bc5ccf8804da5011b41c..e4907fd198f64dce7f763a751e50ff72840c9f2f 100644
--- a/src/utils/logger.js
+++ b/src/utils/logger.js
@@ -1,9 +1,9 @@
 
 /**
  * Mode debug : affiche les logs dans la console
- * Mode prod : masque les logs
+ * Mode prod : masque les logs ainsi que les identifiants des lexiques
 */
-const DEBUG = true; // false en prod
+const DEBUG = false; // false en prod
 
 function log(...args) {
   if (DEBUG) {
diff --git a/src/utils/stats.js b/src/utils/stats.js
index c03c4a1077084b3ec238dee7c5e705b734c2bbb4..fd2c702ea768fa2ebac57c1ce0237967816849a8 100644
--- a/src/utils/stats.js
+++ b/src/utils/stats.js
@@ -10,15 +10,15 @@
     //Connexion au port
     function connectToWorker() {
         if (!workerPort) {
-            // console.log("[Stats] Connexion au WebWorker...");
+            // log("[Stats] Connexion au WebWorker...");
             workerPort = browser.runtime.connect({ name: "stats-worker-port" });
             workerPort.onMessage.addListener((message) => {
-                console.log("[Stats] Message reçu du Worker :", message);
+                log("[Stats] Message reçu du Worker :", message);
                 if (message.command === "update-frequencies") {
-                    console.log("[Stats] Fréquences mises à jour :", message.frequencies);
+                    log("[Stats] Fréquences mises à jour :", message.frequencies);
                 }
                 if (message.command === "threshold-exceeded") {
-                    console.log("[Stats] Mots dépassant le seuil :", message.wordsAboveThreshold);
+                    log("[Stats] Mots dépassant le seuil :", message.wordsAboveThreshold);
                     let alertMessage = "Nouveaux mots dépassant le seuil :\n";
                     for (const [lang, words] of Object.entries(message.wordsAboveThreshold)) {
                         alertMessage += `\n🔹 ${lang.toUpperCase()} : ${words.join(", ")}`;
@@ -27,7 +27,7 @@
                 }
             });
             workerPort.onDisconnect.addListener(() => {
-                // console.log("[Stats] Déconnexion du WebWorker.");
+                // log("[Stats] Déconnexion du WebWorker.");
                 workerPort = null;
             });
         }
@@ -38,7 +38,7 @@
             connectToWorker();
         }
         if (workerPort) {
-            console.log("[Stats] Envoi du texte au Worker :", text);
+            log("[Stats] Envoi du texte au Worker :", text);
             workerPort.postMessage({ command: "process-text", text: text });
         }
     }
@@ -47,7 +47,7 @@
     // Gestion des messages envoyés depuis le background 
     // ─────────────────────────────────────────────────────────────────────────────
     browser.runtime.onMessage.addListener((message) => {
-        console.log("[Stats] Message reçu :", message);
+        log("[Stats] Message reçu :", message);
         if (message.command === "activate-stats") {
             startTracking();
         }
@@ -77,7 +77,7 @@
     // Arrête tous les chronomètres lorsque l'utilisateur change d'onglet
     document.addEventListener("visibilitychange", () => {
         if (document.hidden) {
-            // console.log("[Stats] Changement d'onglet détecté");
+            // log("[Stats] Changement d'onglet détecté");
             resetAllTimers();
         }
     });
@@ -123,8 +123,12 @@
      */
     function startReadingTimer(element, text, minReadTime) {
         if (!readingTimers.has(element)) {
-            let elapsedTime = 0;
-            let counter = document.createElement("div");
+          let elapsedTime = 0;
+          let counter = null;
+      
+          // Créer l'indicateur uniquement si on est en mode debug
+          if (DEBUG) {
+            counter = document.createElement("div");
             counter.classList.add("reading-counter");
             counter.style.position = "absolute";
             counter.style.background = "black";
@@ -133,31 +137,33 @@
             counter.style.borderRadius = "5px";
             counter.style.fontSize = "12px";
             counter.style.zIndex = "9999";
-    
             document.body.appendChild(counter);
-    
-            let interval = setInterval(() => {
-                elapsedTime += 1000;
-    
-                // Vérifie si l'utilisateur est actif et si le temps minimum est atteint
-                if (userIsActive && elapsedTime >= minReadTime) {
-                    console.log(`[Stats] Élément lu : ${text}`);
-                    readContent.add(text);
-                    sendTextToWorker(text);
-                    stopReadingTimer(element, text);
-                }
-    
-                // Mise à jour de la position du compteur
-                let rect = element.getBoundingClientRect();
-                counter.style.top = `${rect.top + window.scrollY - 20}px`;
-                counter.style.left = `${rect.left + window.scrollX + rect.width + 10}px`;
-                counter.innerText = `⏳ ${Math.floor(elapsedTime / 1000)}s`;
-    
-            }, 1000);
-    
-            readingTimers.set(element, { interval, counter, elapsedTime });
+          }
+      
+          let interval = setInterval(() => {
+            elapsedTime += 1000;
+      
+            // Vérifie si l'utilisateur est actif et si le temps minimum est atteint
+            if (userIsActive && elapsedTime >= minReadTime) {
+              log(`[Stats] Élément lu : ${text}`);
+              readContent.add(text);
+              sendTextToWorker(text);
+              stopReadingTimer(element, text);
+            }
+      
+            // Mise à jour de la position et du contenu du compteur si en debug
+            if (DEBUG && counter) {
+              let rect = element.getBoundingClientRect();
+              counter.style.top = `${rect.top + window.scrollY - 20}px`;
+              counter.style.left = `${rect.left + window.scrollX + rect.width + 10}px`;
+              counter.innerText = `⏳ ${Math.floor(elapsedTime / 1000)}s`;
+            }
+          }, 1000);
+      
+          readingTimers.set(element, { interval, counter, elapsedTime });
         }
-    }
+      }
+      
     
     /**
      * Arrête le chronomètre et supprime l'affichage du temps de lecture
@@ -166,7 +172,9 @@
         if (readingTimers.has(element)) {
             let { interval, counter } = readingTimers.get(element);
             clearInterval(interval);
-            counter.remove();
+            if (counter) {
+                counter.remove();
+            }
             readingTimers.delete(element);
         }
     }
@@ -176,7 +184,9 @@
     function resetAllTimers() {
         for (let [element, { interval, counter }] of readingTimers) {
             clearInterval(interval);
-            counter.remove();
+            if (counter) {
+                counter.remove();
+            }
         }
         readingTimers.clear();
     }
@@ -187,7 +197,9 @@
     function removeReadingIndicator(element) {
         if (readingTimers.has(element)) {
             let { counter } = readingTimers.get(element);
-            counter.remove();
+            if (counter) {
+                counter.remove();
+            }
         }
     }
     /**
@@ -207,13 +219,13 @@
     // Gestion de l'activation/désactivation des statistiques
     // ─────────────────────────────────────────────────────────────────────────────
     function startTracking() {
-            console.log("[Stats] Suivi des statistiques activé.");
+            log("[Stats] Suivi des statistiques activé.");
             addViewportBorder();
             attachScrollListener();
         }
 
     function stopTracking() {
-        console.log("[Stats] Suivi des statistiques désactivé.");
+        log("[Stats] Suivi des statistiques désactivé.");
         removeViewportBorder();
         detachScrollListener();
     }
@@ -222,7 +234,7 @@
         if (!scrollListenerAttached) {
             window.addEventListener("scroll", trackVisibleContent);
             scrollListenerAttached = true;
-            console.log("[Stats] Écouteur de défilement attaché.");
+            log("[Stats] Écouteur de défilement attaché.");
         }
     }
 
@@ -230,7 +242,7 @@
         if (scrollListenerAttached) {
             window.removeEventListener("scroll", trackVisibleContent);
             scrollListenerAttached = false;
-            console.log("[Stats] Écouteur de défilement détaché.");
+            log("[Stats] Écouteur de défilement détaché.");
         }
     }
 
diff --git a/src/workers/pyodide_worker.js b/src/workers/pyodide_worker.js
index 29f199caabc4566fe2eef1df19e657eb4a8184f8..246c47f6fb6b553b5f75620aab89b12492d0bf8f 100644
--- a/src/workers/pyodide_worker.js
+++ b/src/workers/pyodide_worker.js
@@ -1,4 +1,4 @@
-console.log("✅ pyodide_worker.js chargé avec succès !");
+log("✅ pyodide_worker.js chargé avec succès !");
 
 // URL de la version Pyodide la plus récente
 const LATEST_BASE_URL = "https://cdn.jsdelivr.net/pyodide/v0.27.2/full/";
@@ -18,17 +18,17 @@ let stoplistFr = new Set();     // Stockage optimisé de la stoplist
 // Écouteur des messages reçus du background script
 self.onmessage = async (event) => {
   const data = event.data;
-  console.log("[WebWorker] Message reçu du Background:", data);
+  log("[WebWorker] Message reçu du Background:", data);
 
   if (data.command === "pyodide-simplemma") {
     if (pyodideLoaded && simplemmaLoaded) {
-      console.log("[Worker] Pyodide et Simplemma déjà chargés.");
+      log("[Worker] Pyodide et Simplemma déjà chargés.");
       self.postMessage({ type: "pyodide-simplemma", status: "already_loaded", message: "Pyodide et Simplemma déjà en mémoire" });
       return;
     }
     try {
       if (!pyodideLoaded) {
-        console.log("[Worker] Chargement de Pyodide...");
+        log("[Worker] Chargement de Pyodide...");
         try {
             importScripts(`${LATEST_BASE_URL}pyodide.js`);
             pyodide = await loadPyodide({ indexURL: LATEST_BASE_URL });
@@ -40,11 +40,11 @@ self.onmessage = async (event) => {
           self.postMessage({ type: "pyodide-simplemma", status: "error", message: err.toString() });
           return;
         }
-        console.log("[Worker] Pyodide chargé avec succès !");
+        log("[Worker] Pyodide chargé avec succès !");
       }
 
       if (!simplemmaLoaded) {
-        console.log("[Worker] Installation de simplemma...");
+        log("[Worker] Installation de simplemma...");
 
         // On encapsule la logique dans une fonction asynchrone pour faciliter l'usage d'await
         await pyodide.runPythonAsync(`
@@ -71,7 +71,7 @@ async def main():
 await main()
         `);
         simplemmaLoaded = true;
-        console.log("[Worker] Simplemma installé avec succès !");
+        log("[Worker] Simplemma installé avec succès !");
       }
       // Envoyer confirmation au background script
       self.postMessage({ type: "pyodide-simplemma", status: "success", message: "Pyodide et Simplemma chargés" });
@@ -85,14 +85,14 @@ await main()
   if (data.command === "process-text") {
     if (!pyodideLoaded || !simplemmaLoaded) {
       const errorMessage = "Les statistiques ne sont pas encore activées. Veuillez patienter..."
-      console.log("[Worker] Pyodide non chargé.");
+      log("[Worker] Pyodide non chargé.");
       self.postMessage({ type: "process-text", status: "error", message: errorMessage });
       return;
     }
-    console.log("[Worker] Texte reçu pour analyse :", data.text);
+    log("[Worker] Texte reçu pour analyse :", data.text);
     try {
       const stoplistArray = Array.from(stoplistFr);
-      console.log("Stoplist utilisée :", stoplistArray);
+      log("Stoplist utilisée :", stoplistArray);
       const result = await pyodide.runPythonAsync(`
 import json
 import re
@@ -149,26 +149,26 @@ json.dumps({"lang": detected_lang, "frequencies": freq}, ensure_ascii=False)
     trackedLanguages = data.trackedLanguages;
     autoAddEnabled = data.autoAdd;
     isAuthenticated = data.isAuthenticated;
-    console.log("[Worker] Mise à jour des préférences :", { userThreshold, trackedLanguages, autoAddEnabled, isAuthenticated });
+    log("[Worker] Mise à jour des préférences :", { userThreshold, trackedLanguages, autoAddEnabled, isAuthenticated });
   }
 
   if (data.command === "update-stoplist") {
     stoplistFr = new Set(data.stoplist.map(word => word.toLowerCase().trim()));
-    console.log("[Worker] Stoplist FR mise à jour :", stoplistFr);
+    log("[Worker] Stoplist FR mise à jour :", stoplistFr);
   }
 };
 
 // --- Vérification du seuil et notification ---
 function checkThreshold(lang) {
   if (!autoAddEnabled || !isAuthenticated) {
-    console.log("[Worker] Auto-Add désactivé ou utilisateur non connecté. Aucune vérification de seuil.");
+    log("[Worker] Auto-Add désactivé ou utilisateur non connecté. Aucune vérification de seuil.");
     return;
   }
   if (!trackedLanguages.includes(lang)) {
-    console.log(`[Worker] La langue ${lang} n'est pas suivie.`);
+    log(`[Worker] La langue ${lang} n'est pas suivie.`);
     return;
   }
-  console.log(`[Worker] Vérification des fréquences pour la langue ${lang}...`);
+  log(`[Worker] Vérification des fréquences pour la langue ${lang}...`);
   let wordsAboveThreshold = {};
   if (storedFrequencies[lang]) {
     const exceededWords = Object.entries(storedFrequencies[lang])
@@ -183,9 +183,9 @@ function checkThreshold(lang) {
     }
   }
   if (Object.keys(wordsAboveThreshold).length > 0) {
-    console.log("[Worker] Nouveaux mots dépassant le seuil :", wordsAboveThreshold);
+    log("[Worker] Nouveaux mots dépassant le seuil :", wordsAboveThreshold);
     self.postMessage({ type: "threshold-exceeded", wordsAboveThreshold: wordsAboveThreshold });
   } else {
-    console.log("[Worker] Aucun nouveau mot n'a dépassé le seuil.");
+    log("[Worker] Aucun nouveau mot n'a dépassé le seuil.");
   }
 }