✨ feat(templates/cota.twig): Ajoute template pour confirmation cotisation ✨ feat(templates/admin/dashboard.twig): Affiche stats membres et commandes 🐛 fix(src/Controller/WebhooksController.php): Gère paiement et reçu cotisation ✨ feat(src/Service/Payments/PaymentClient.php): Ajoute paiement cotisation ✨ feat(.env): Met à jour URL de dev ✨ feat(src/Controller/Admin/AdminController.php): Ajoute validation et lien paiement ✨ feat(src/Controller/DonsController.php): Ajoute route validation cotisation ✨ feat(assets/admin.js): Ajoute assets admin ✨ feat(templates/form_admin.twig): Ajoute thème formulaire admin ✨ feat(assets/admin.scss): Ajoute style admin ✨ feat(src/Service/Pdf/CotaReceiptGenerator.php): Génère reçu de cotisation ✨ feat(src/Form/MembersType.php): Ajoute champs et options formulaire membre ✨ feat(templates/admin/base.twig): Ajoute base admin ✨ feat(templates/admin/member/add.twig): Ajoute template ajout/édition membre ✨ feat(src/Entity/Members.php): Ajoute champs et relations entité Membre ✨ feat(templates/admin/members.twig): Affiche liste membres ✨ feat(templates/mails/coti_payment.twig): Ajoute template mail paiement cotisation ✨ feat(src/Controller/MembersController.php): Filtre membres actifs ✨ feat(templates/mails/cota_validation.twig): Ajoute template mail validation cota ```
97 lines
3.1 KiB
JavaScript
97 lines
3.1 KiB
JavaScript
// vite.config.js
|
|
|
|
import { defineConfig } from 'vite';
|
|
import { resolve } from 'path';
|
|
import JavaScriptObfuscator from 'rollup-plugin-javascript-obfuscator';
|
|
import tailwindcss from '@tailwindcss/vite'
|
|
import viteCompression from 'vite-plugin-compression';
|
|
|
|
export default defineConfig({
|
|
|
|
root: './assets',
|
|
base: '/assets/',
|
|
server: {
|
|
host: "0.0.0.0",
|
|
allowedHosts: ["esyweb.local"],
|
|
|
|
port: 5173,
|
|
|
|
open: false,
|
|
|
|
cors: {
|
|
origin: ['https://esyweb.local']
|
|
},
|
|
},
|
|
resolve: {
|
|
alias: {
|
|
'@': resolve(__dirname, 'assets'),
|
|
},
|
|
// Extensions de fichiers à résoudre automatiquement
|
|
extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue', '.scss', '.css'],
|
|
},
|
|
build: {
|
|
outDir: resolve(__dirname, 'public/build'),
|
|
assetsDir: '',
|
|
emptyOutDir: true,
|
|
manifest: true,
|
|
sourcemap: false,
|
|
// Minification par défaut : esbuild est déjà très rapide et efficace
|
|
minify: 'esbuild',
|
|
cssMinify: 'esbuild',
|
|
// NOUVEAU : Stratégie de découpage du code pour améliorer le cache client
|
|
rollupOptions: {
|
|
input: {
|
|
app: resolve(__dirname, 'assets/app.js'),
|
|
admin: resolve(__dirname, 'assets/admin.js'),
|
|
}
|
|
},
|
|
},
|
|
|
|
// --- Plugins Vite ---
|
|
plugins: [
|
|
tailwindcss(),
|
|
// NOUVEAU: Ajoutez Preact/React/Vue si vous utilisez ces frameworks
|
|
// preact(),
|
|
|
|
// 1. Compression des Assets (Gzip et Brotli)
|
|
// Crée des fichiers .gz et .br à côté des assets originaux.
|
|
// Votre serveur web (Nginx/Apache) doit être configuré pour servir ces versions compressées.
|
|
viteCompression({
|
|
verbose: true,
|
|
disable: false,
|
|
threshold: 10240, // Compresse seulement les fichiers > 10KB
|
|
algorithm: 'gzip',
|
|
ext: '.gz',
|
|
}),
|
|
viteCompression({
|
|
verbose: true,
|
|
disable: false,
|
|
threshold: 10240,
|
|
algorithm: 'brotliCompress', // Brotli est plus efficace que Gzip
|
|
ext: '.br',
|
|
// Ne génère le brotli que si l'algorithme est disponible (par défaut)
|
|
deleteOriginFile: false // Important : gardez les fichiers originaux
|
|
}),
|
|
|
|
JavaScriptObfuscator({
|
|
// Options recommandées pour un bon équilibre entre sécurité et performance
|
|
compact: true,
|
|
sourceMap: false,
|
|
controlFlowFlattening: true, // Très efficace mais coûteux en performance à l'exécution
|
|
deadCodeInjection: false,
|
|
debugProtection: false,
|
|
identifierNamesGenerator: 'hexadecimal', // Rend le code illisible
|
|
log: false,
|
|
numbersToExpressions: true,
|
|
simplify: true,
|
|
splitStrings: true,
|
|
stringArray: true,
|
|
stringArrayThreshold: 0.75,
|
|
transformObjectKeys: true,
|
|
unicodeEscapeSequence: false,
|
|
}),
|
|
|
|
],
|
|
define: {},
|
|
});
|