diff --git a/assets/js/theme/design-system/search.js b/assets/js/theme/design-system/search.js
index a7c674f1bff288488d10d4e5675e4f8eabc500b4..1b4d3d0642dfa113327aa0151b6df8dd1fbe6757 100644
--- a/assets/js/theme/design-system/search.js
+++ b/assets/js/theme/design-system/search.js
@@ -1,3 +1,11 @@
+// const pagefind = await import("/pagefind/pagefind.js");
+// await pagefind.options({
+//     baseUrl: "/",
+//     // ... more search options
+// });
+
+// console.log(pagefind)
+
 class Search {
     constructor(button, pageFind) {
         this.button = button;
@@ -5,7 +13,6 @@ class Search {
         this.closeButton = this.element.querySelector('.search__close');
         this.searchInstance = pageFind;
 
-
         if (!this.element) {
             return;
         }
@@ -82,17 +89,20 @@ class Search {
 }
 
 // Selectors
-window.addEventListener('DOMContentLoaded', (event) => {
+window.addEventListener('DOMContentLoaded', () => {
     const pageFindSearch = document.querySelector("#search");
-    
+
+    if (typeof PagefindUI == "undefined") return;
+
     if (pageFindSearch) {
-        let pageFind = new PagefindUI({ element: pageFindSearch, showSubResults: true });
+        let pageFind = new PagefindUI({
+            element: pageFindSearch,
+            showSubResults: true
+        });
         (function () {
             const searchButton = document.querySelector(".pagefind-ui__toggle");
             new Search(searchButton, pageFind);
         })();
-    } 
-    else {
-        return;
     }
+
 });
diff --git a/layouts/partials/head/csp.html b/layouts/partials/head/csp.html
index ac8482b0a467a6049ead337d5a328474a0d393e6..de1b2d9420f69d64cc252834bb4d1a716339b2f9 100644
--- a/layouts/partials/head/csp.html
+++ b/layouts/partials/head/csp.html
@@ -1,10 +1,8 @@
 {{- with site.Data.website.external_domains -}}
-<meta http-equiv="-Content-Security-Policy" 
+<meta http-equiv="Content-Security-Policy"
       content="
-        default-src 'self' {{ delimit . " " }} {{ if not hugo.IsProduction }}'unsafe-inline'{{ end }};
-        {{ if site.Params.search.active }} 
-          script-src 'unsafe-eval';
-          img-src * 'self' data: https:;
-        {{ end }}
+        default-src 'self' {{ delimit . " " }}
+        {{ if not hugo.IsProduction }}'unsafe-inline'{{ end }}
+        {{ if site.Params.search.active }}'wasm-unsafe-eval'{{ end }};
       " />
-{{- end -}}
\ No newline at end of file
+{{- end -}}
diff --git a/layouts/partials/header/search.html b/layouts/partials/header/search.html
index d9fbe7563bb9ff074ee845450019e83bcb1a2be2..067d517622bc85f58c4f58ce34d22b2cfef8bff9 100644
--- a/layouts/partials/header/search.html
+++ b/layouts/partials/header/search.html
@@ -3,6 +3,7 @@
 </button>
 
 <script src="/pagefind/pagefind-ui.js"></script>
+
 <div id="search" class="search__modal" aria-hidden="true" aria-modal="true" role="dialog">
   <button class="search__close" aria-label="{{ i18n "commons.search.close" }}">
     {{ i18n "commons.search.close" }}
diff --git a/package.json b/package.json
index 79b8a0a42bfaecd545d6a2b9cced2361924d7d5b..66b60b9b6f8e93e768ebd4f287838bc297e33688 100644
--- a/package.json
+++ b/package.json
@@ -8,14 +8,12 @@
     "arnaudlevy <arnaud.levy@noesya.coop>"
   ],
   "license": "MIT",
-  "devDependencies": {
-    "shelljs": "^0.8.5"
-  },
   "dependencies": {
     "@splidejs/splide": "^3.6.12",
     "glightbox": "^3.1.0",
     "intersection-observer": "^0.12.0",
     "leaflet": "^1.9.4",
+    "shelljs": "^0.8.5",
     "pagefind": "^1.0.3"
   },
   "bin": "./bin/osuny.js"