espace-paie-odentas/package.json
odentas b790faf12c feat: Implémentation complète du système Odentas Sign
- Remplacement de DocuSeal par solution souveraine Odentas Sign
- Système d'authentification OTP pour signataires (bcryptjs + JWT)
- 8 routes API: send-otp, verify-otp, sign, pdf-url, positions, status, webhook, signers
- Interface moderne avec canvas de signature et animations (framer-motion, confetti)
- Système de templates pour auto-détection des positions de signature (CDDU, RG, avenants)
- PDF viewer avec @react-pdf-viewer (compatible Next.js)
- Stockage S3: source/, signatures/, evidence/, signed/, certs/
- Tables Supabase: sign_requests, signers, sign_positions, sign_events, sign_assets
- Evidence bundle automatique (JSON metadata + timestamps)
- Templates emails: OTP et completion
- Scripts Lambda prêts: pades-sign (KMS seal) et tsaStamp (RFC3161)
- Mode test détecté automatiquement (emails whitelist)
- Tests complets avec PDF CDDU réel (2 signataires)
2025-10-27 19:03:07 +01:00

71 lines
2 KiB
JSON

{
"name": "odentas-espace-paie",
"private": true,
"version": "0.1.0",
"scripts": {
"dev": "next dev",
"dev:network": "node server.js",
"dev:mobile": "./dev-with-network.sh",
"dev:network:alt": "PORT=3001 node server.js",
"test:network": "node test-server.js",
"build": "next build",
"start": "next start",
"lint": "next lint"
},
"dependencies": {
"@aws-sdk/client-dynamodb": "^3.896.0",
"@aws-sdk/client-s3": "^3.896.0",
"@aws-sdk/client-ses": "^3.896.0",
"@aws-sdk/s3-request-presigner": "^3.894.0",
"@radix-ui/react-dialog": "^1.1.15",
"@react-pdf-viewer/core": "^3.12.0",
"@react-pdf-viewer/default-layout": "^3.12.0",
"@supabase/auth-helpers-nextjs": "^0.10.0",
"@supabase/ssr": "^0.7.0",
"@supabase/supabase-js": "^2.57.4",
"@tanstack/react-query": "^5.56.2",
"@types/bcryptjs": "^2.4.6",
"@types/jsonwebtoken": "^9.0.10",
"@types/qrcode": "^1.5.5",
"aws-sdk": "^2.1692.0",
"axios": "^1.12.2",
"bcryptjs": "^3.0.2",
"canvas-confetti": "^1.9.4",
"clsx": "^2.1.1",
"cmdk": "^1.1.1",
"dotenv": "^17.2.2",
"framer-motion": "^12.23.24",
"html2canvas": "^1.4.1",
"js-cookie": "^3.0.5",
"jsonwebtoken": "^9.0.2",
"lucide-react": "^0.460.0",
"next": "^14.2.5",
"nprogress": "^0.2.0",
"pdf-lib": "^1.17.1",
"pdf-parse": "^2.4.5",
"pdfjs-dist": "^3.11.174",
"posthog-js": "^1.275.1",
"posthog-node": "^5.9.5",
"qrcode": "^1.5.4",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-hook-form": "^7.62.0",
"sonner": "^2.0.7",
"tailwind-merge": "^2.6.0",
"use-debounce": "^10.0.6"
},
"devDependencies": {
"@types/canvas-confetti": "^1.9.0",
"@types/js-cookie": "^3.0.6",
"@types/node": "24.3.1",
"@types/react": "19.1.12",
"@types/uuid": "^10.0.0",
"autoprefixer": "^10.4.19",
"eslint": "8.57.1",
"eslint-config-next": "15.5.4",
"handlebars": "^4.7.8",
"postcss": "^8.4.38",
"tailwindcss": "^3.4.10",
"typescript": "^5.5.4"
}
}