diff --git a/manifest.json b/manifest.json
index b652cb0dee695f2c75585dbe931f2dcc4c5dd6e3..642aaa8db57981194e325ba2056db9272fd3dbe5 100644
--- a/manifest.json
+++ b/manifest.json
@@ -20,58 +20,55 @@
 
   "background": {
     "scripts": [
-      "background/background.js", 
-      "definitions.js",
-      "api.js",
-      "menu_contextuel/browser_context_menu.js"
+      "src/background/background.js", 
+      "src/utils/definitions.js",
+      "src/utils/api.js",
+      "src/context_menu/browser_context_menu.js"
     ],
     "persistent": true
   },
 
   "browser_action": {
-    "default_popup": "menu_extension/popup.html",
+    "default_popup": "src/popup/popup.html",
     "default_icon": {
-      "16": "icons/logo.png"
+      "16": "src/assets/icons/logo.png"
     },
     "default_title": "ff2BaLex"
   },
 
   "options_ui": {
-    "page": "menu_extension/options.html",
+    "page": "src/options/options.html",
     "open_in_tab": false
   },
 
   "sidebar_action": {
     "default_title": "BaLex",
-    "default_panel": "barre_latérale/sidebar.html",
+    "default_panel": "src/sidebar/sidebar.html",
     "default_icon": {
-      "16": "icons/logo.png",
-      "48": "icons/icon-48.png"
+      "16": "src/assets/icons/logo.png",
+      "48": "src/assets/icons/icon-48.png"
     }
   },
 
   "content_scripts": [
     {
       "matches": ["<all_urls>"], 
-      "js": ["api.js"]
+      "js": ["src/utils/api.js"]
     },
     {
       "matches": ["<all_urls>"], 
-      "js": ["menu_contextuel/custom_context_menu.js"],
-      "css": ["menu_contextuel/custom_context_menu.css"],
+      "js": ["src/context_menu/custom_context_menu.js"],
+      "css": ["src/context_menu/custom_context_menu.css"],
       "run_at": "document_end"
     }
   ],
 
   "web_accessible_resources": [
-    "icons/*.png",
-    "menu_extension/*",
-    "barre_latérale/*",
-    "menu_contextuel/*"
+    "src/*"
   ],
 
   
   "icons": {
-    "16": "icons/logo.png"
+    "16": "src/assets/icons/logo.png"
   }
 }
diff --git a/icons/ajout_lexique.png b/src/assets/icons/ajout_lexique.png
similarity index 100%
rename from icons/ajout_lexique.png
rename to src/assets/icons/ajout_lexique.png
diff --git a/icons/connexion.png b/src/assets/icons/connexion.png
similarity index 100%
rename from icons/connexion.png
rename to src/assets/icons/connexion.png
diff --git a/icons/definition.png b/src/assets/icons/definition.png
similarity index 100%
rename from icons/definition.png
rename to src/assets/icons/definition.png
diff --git a/icons/definition_wiktionnaire.png b/src/assets/icons/definition_wiktionnaire.png
similarity index 100%
rename from icons/definition_wiktionnaire.png
rename to src/assets/icons/definition_wiktionnaire.png
diff --git a/icons/feutre.png b/src/assets/icons/feutre.png
similarity index 100%
rename from icons/feutre.png
rename to src/assets/icons/feutre.png
diff --git a/icons/logo.png b/src/assets/icons/logo.png
similarity index 100%
rename from icons/logo.png
rename to src/assets/icons/logo.png
diff --git a/icons/quel_lexique.png b/src/assets/icons/quel_lexique.png
similarity index 100%
rename from icons/quel_lexique.png
rename to src/assets/icons/quel_lexique.png
diff --git a/icons/recherche_lexique.png b/src/assets/icons/recherche_lexique.png
similarity index 100%
rename from icons/recherche_lexique.png
rename to src/assets/icons/recherche_lexique.png
diff --git a/background/background.js b/src/background/background.js
similarity index 100%
rename from background/background.js
rename to src/background/background.js
diff --git a/menu_contextuel/browser_context_menu.js b/src/context_menu/browser_context_menu.js
similarity index 100%
rename from menu_contextuel/browser_context_menu.js
rename to src/context_menu/browser_context_menu.js
diff --git a/menu_contextuel/custom_context_menu.css b/src/context_menu/custom_context_menu.css
similarity index 100%
rename from menu_contextuel/custom_context_menu.css
rename to src/context_menu/custom_context_menu.css
diff --git a/menu_contextuel/custom_context_menu.js b/src/context_menu/custom_context_menu.js
similarity index 97%
rename from menu_contextuel/custom_context_menu.js
rename to src/context_menu/custom_context_menu.js
index 185207317e9fa16efafbd19319032a6ea913950d..011478fe6303cd5fd6ebabc1f4c9fa090f76230f 100644
--- a/menu_contextuel/custom_context_menu.js
+++ b/src/context_menu/custom_context_menu.js
@@ -56,9 +56,9 @@ function injectWhiteBox() {
     whiteBox.style.borderRadius = "4px";
     whiteBox.style.boxShadow = "0px 2px 10px rgba(0,0,0,0.2)";
     // Génération des URLs des icônes
-    const addLexiconPath = browser.runtime.getURL("icons/ajout_lexique.png");
-    const getDefinitionPath = browser.runtime.getURL("icons/definition.png");
-    const loginPath = browser.runtime.getURL("icons/connexion.png");
+    const addLexiconPath = browser.runtime.getURL("src/assets/icons/ajout_lexique.png");
+    const getDefinitionPath = browser.runtime.getURL("src/assets/icons/definition.png");
+    const loginPath = browser.runtime.getURL("src/assets/icons/connexion.png");
     // Construction du HTML du menu contextuel
     whiteBox.innerHTML = `
       <p id="selectedWord" style="margin: 0; padding: 0;">Mot sélectionné : Aucun</p>
@@ -284,7 +284,7 @@ async function showPicker(event, selectedText) {
         const name = lex.category === "User"
           ? `Lexique personnel : ${lex.user?.pseudo || "Inconnu"} (${lex.id})`
           : `Lexique de groupe : ${lex.group?.name || "Inconnu"} (${lex.id})`;
-        const iconURL = lex.iconURL || browser.runtime.getURL("icons/default_lexicon.png");
+        const iconURL = lex.iconURL || browser.runtime.getURL("src/assets/icons/default_lexicon.png");
 
         const iconDiv = document.createElement("div");
         iconDiv.className = "lexicon-option";
diff --git a/menu_extension/options.html b/src/options/options.html
similarity index 100%
rename from menu_extension/options.html
rename to src/options/options.html
diff --git a/menu_extension/options.js b/src/options/options.js
similarity index 100%
rename from menu_extension/options.js
rename to src/options/options.js
diff --git a/menu_extension/popup.html b/src/popup/popup.html
similarity index 100%
rename from menu_extension/popup.html
rename to src/popup/popup.html
diff --git a/menu_extension/popup.js b/src/popup/popup.js
similarity index 100%
rename from menu_extension/popup.js
rename to src/popup/popup.js
diff --git "a/barre_lat\303\251rale/sidebar.html" b/src/sidebar/sidebar.html
similarity index 99%
rename from "barre_lat\303\251rale/sidebar.html"
rename to src/sidebar/sidebar.html
index 6724c96002277d9c903ff165d3a3cd87747b2031..23279002bda6c7ac8bfc77a62ad3e36b6737081e 100644
--- "a/barre_lat\303\251rale/sidebar.html"
+++ b/src/sidebar/sidebar.html
@@ -4,8 +4,8 @@
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>BaLex - Barre Latérale</title>
-  <script src="../api.js" defer></script>
-  <script src="../definitions.js" defer></script>
+  <script src="../utils/api.js" defer></script>
+  <script src="../utils/definitions.js" defer></script>
   <script src="sidebar.js" defer></script>
   
   <style>
diff --git "a/barre_lat\303\251rale/sidebar.js" b/src/sidebar/sidebar.js
similarity index 99%
rename from "barre_lat\303\251rale/sidebar.js"
rename to src/sidebar/sidebar.js
index 6768d2fe86cbd9c86d166fdb200da32fc671bdee..c5707e9eeb3f74729916fe7b3dc83f9f76f3c317 100644
--- "a/barre_lat\303\251rale/sidebar.js"
+++ b/src/sidebar/sidebar.js
@@ -254,7 +254,7 @@ function displayLexiconsWithCheckbox(lexicons) {
     highlightButton.dataset.active = active ? "true" : "false";
 
     const feutreIcon = document.createElement("img");
-    feutreIcon.src = "/icons/feutre.png";
+    feutreIcon.src = "../assets/icons/feutre.png";
     feutreIcon.alt = "Feutre";
     feutreIcon.className = "feutre-icon";
 
diff --git a/api.js b/src/utils/api.js
similarity index 100%
rename from api.js
rename to src/utils/api.js
diff --git a/definitions.js b/src/utils/definitions.js
similarity index 100%
rename from definitions.js
rename to src/utils/definitions.js