fix(front): heberge Alpine.js via Vite au lieu du CDN (bloque par la CSP) #8

Merged
sam merged 1 commits from feat/ci-cd-securisation-infcdaal3 into main 2026-07-09 17:21:27 +00:00
4 changed files with 38 additions and 2 deletions
+28 -1
View File
@@ -1,9 +1,12 @@
{
"name": "www",
"name": "WEB",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"dependencies": {
"alpinejs": "^3.15.12"
},
"devDependencies": {
"@tailwindcss/vite": "^4.0.0",
"axios": "^1.11.0",
@@ -1134,6 +1137,30 @@
"dev": true,
"license": "MIT"
},
"node_modules/@vue/reactivity": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.1.5.tgz",
"integrity": "sha512-1tdfLmNjWG6t/CsPldh+foumYFo3cpyCHgBYQ34ylaMsJ+SNHQ1kApMIa8jN+i593zQuaw3AdWH0nJTARzCFhg==",
"license": "MIT",
"dependencies": {
"@vue/shared": "3.1.5"
}
},
"node_modules/@vue/shared": {
"version": "3.1.5",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.1.5.tgz",
"integrity": "sha512-oJ4F3TnvpXaQwZJNF3ZK+kLPHKarDmJjJ6jyzVNDKH9md1dptjC7lWR//jrGuLdek/U6iltWxqAnYOu8gCiOvA==",
"license": "MIT"
},
"node_modules/alpinejs": {
"version": "3.15.12",
"resolved": "https://registry.npmjs.org/alpinejs/-/alpinejs-3.15.12.tgz",
"integrity": "sha512-nJvPAQVNPdZZ0NrExJ/kzQco3ijR8LwvCOadQecllESiqT4NyZ/57sN9V2XyvhlBGAbmlKYgeWZvYdKq99ij/Q==",
"license": "MIT",
"dependencies": {
"@vue/reactivity": "~3.1.1"
}
},
"node_modules/ansi-regex": {
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+3
View File
@@ -13,5 +13,8 @@
"laravel-vite-plugin": "^2.0.0",
"tailwindcss": "^4.0.0",
"vite": "^7.0.7"
},
"dependencies": {
"alpinejs": "^3.15.12"
}
}
+7
View File
@@ -1 +1,8 @@
import './bootstrap';
// Alpine.js hébergé localement (bundle Vite) plutôt que via un CDN externe,
// pour rester compatible avec la Content-Security-Policy stricte.
import Alpine from 'alpinejs';
window.Alpine = Alpine;
Alpine.start();
@@ -6,7 +6,6 @@
<title>@yield('title', 'CESIZen') | Ministère de la Santé et de la Prévention</title>
@vite(['resources/css/app.css', 'resources/js/app.js'])
<link rel="icon" href="./img/CesiZen_logo.png" type="image/x-icon">
<script defer src="https://cdn.jsdelivr.net/npm/alpinejs@3.x.x/dist/cdn.min.js"></script>
<style>
:root {
--fr-blue: #000091;