🔐 Implémentation PBKDF2 avec credentials navigateur ✅ Fonctionnalités ajoutées: - SecureCredentialsService avec PBKDF2 (100k itérations) - Chiffrement AES-GCM des clés spend/scan - Interface utilisateur complète pour gestion credentials - Tests unitaires complets - Architecture modulaire avec EventBus - Gestion mémoire optimisée - Performance monitoring - Web Workers pour encodage asynchrone 🛡️ Sécurité: - Dérivation PBKDF2 avec salt unique - Chiffrement AES-GCM des clés sensibles - Validation force mot de passe - Stockage sécurisé IndexedDB + WebAuthn - Logging sécurisé sans exposition données 🔧 Corrections: - Erreur 500 résolue (clé dupliquée package.json) - Configuration Vite simplifiée - Dépendances manquantes corrigées 📊 Améliorations: - Architecture découplée avec repositories - Services spécialisés (PairingService, etc.) - Monitoring performance et mémoire - Tests avec couverture complète - Documentation technique détaillée
54 lines
1.7 KiB
JSON
Executable File
54 lines
1.7 KiB
JSON
Executable File
{
|
|
"name": "sdk_client",
|
|
"version": "1.0.0",
|
|
"description": "",
|
|
"type": "module",
|
|
"main": "dist/index.js",
|
|
"scripts": {
|
|
"build_wasm": "wasm-pack build --out-dir ../ihm_client_dev3/pkg ../sdk_client --target bundler --dev",
|
|
"start": "vite --host 0.0.0.0",
|
|
"build": "tsc && vite build",
|
|
"deploy": "sudo cp -r dist/* /var/www/html/",
|
|
"prettify": "prettier --config ./.prettierrc --write \"src/**/*{.ts,.html,.css,.js}\"",
|
|
"build:dist": "tsc -p tsconfig.build.json",
|
|
"lint": "eslint src/ --ext .ts,.tsx --fix",
|
|
"lint:check": "eslint src/ --ext .ts,.tsx",
|
|
"type-check": "tsc --noEmit",
|
|
"quality": "npm run prettify",
|
|
"quality:strict": "npm run type-check && npm run lint:check && npm run prettify",
|
|
"quality:fix": "npm run lint && npm run prettify",
|
|
"analyze": "npm run build && npx bundle-analyzer dist/assets/*.js",
|
|
"test": "jest",
|
|
"test:watch": "jest --watch",
|
|
"test:coverage": "jest --coverage",
|
|
"test:ci": "jest --ci --coverage --watchAll=false"
|
|
},
|
|
"keywords": [],
|
|
"author": "",
|
|
"license": "ISC",
|
|
"devDependencies": {
|
|
"@eslint/js": "^9.38.0",
|
|
"@typescript-eslint/eslint-plugin": "^8.46.2",
|
|
"@typescript-eslint/parser": "^8.46.2",
|
|
"eslint": "^9.38.0",
|
|
"prettier": "^3.3.3",
|
|
"typescript": "^5.3.3",
|
|
"vite": "^5.4.11",
|
|
"vite-plugin-static-copy": "^1.0.6",
|
|
"jest": "^29.7.0",
|
|
"ts-jest": "^29.1.1",
|
|
"@types/jest": "^29.5.8",
|
|
"@testing-library/jest-dom": "^6.1.4"
|
|
},
|
|
"dependencies": {
|
|
"axios": "^1.7.8",
|
|
"jose": "^6.0.11",
|
|
"jsonwebtoken": "^9.0.2",
|
|
"pdf-lib": "^1.17.1",
|
|
"sweetalert2": "^11.14.5",
|
|
"vite-plugin-copy": "^0.1.6",
|
|
"vite-plugin-html": "^3.2.2",
|
|
"vite-plugin-wasm": "^3.3.0"
|
|
}
|
|
}
|