espace-paie-odentas/TEST-RECAP.md
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

2.9 KiB

Test Odentas Sign - Récapitulatif

🎉 Demande de signature créée avec succès !

📋 Informations

  • ID: 75b4408d-1bbd-464f-a9ea-2b4e5075a817
  • Ref: TEST-1761582838435
  • PDF: s3://odentas-sign/source/test/TEST-1761582838435.pdf

👥 Signataires

1. Employeur - Odentas Paie

2. Salarié - Renaud Breviere


🚀 Comment tester ?

Option 1 : Script interactif (recommandé)

./test-signature-flow.sh

Le script vous propose un menu pour :

  1. Envoyer OTP Employeur
  2. Envoyer OTP Salarié
  3. Vérifier OTP et obtenir le token
  4. Enregistrer la signature

Option 2 : Commandes manuelles

Étape 1 : Envoyer OTP Employeur

curl -X POST http://localhost:3000/api/odentas-sign/signers/95c4ccdc-1a26-4426-a56f-653758159b54/send-otp

➡️ Le code OTP apparaît dans les logs du serveur Next.js

Étape 2 : Vérifier OTP

curl -X POST http://localhost:3000/api/odentas-sign/signers/95c4ccdc-1a26-4426-a56f-653758159b54/verify-otp \
  -H "Content-Type: application/json" \
  -d '{"otp": "VOTRE_CODE"}'

Copiez le sessionToken retourné.

Étape 3 : Signer

curl -X POST http://localhost:3000/api/odentas-sign/signers/95c4ccdc-1a26-4426-a56f-653758159b54/sign \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer VOTRE_TOKEN" \
  -d '{"signatureImageBase64": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAyCAYAAACqNX6+AAAABmJLR0QA/wD/AP+gvaeTAAAAeklEQVR4nO3QMQEAAAjAMMC/52ECvlRA00ASAgECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQIECAAAECBAgQcNkFzQABOWLnlYwAAAAASUVORK5CYII=", "consentText": "Je consens"}'

Étape 4 : Répéter pour le salarié

Utilisez le signer ID : d481f070-2ac6-4f82-aff3-862783904d5d


🔍 Vérifier le statut

curl http://localhost:3000/api/odentas-sign/requests/75b4408d-1bbd-464f-a9ea-2b4e5075a817

⚠️ Mode Test Actif

  • Les codes OTP sont affichés dans les logs serveur
  • Les emails sont envoyés vers les vraies adresses
  • Le scellage PAdES est désactivé
  • L'horodatage TSA est désactivé
  • L'archivage Object Lock est désactivé

Une fois tous les signataires signés, le webhook de completion sera appelé mais ne déclenchera PAS le scellage.


📊 Vérifier dans Supabase

-- Voir la demande
SELECT * FROM sign_requests WHERE ref = 'TEST-1761582838435';

-- Voir les signataires
SELECT * FROM signers WHERE request_id = '75b4408d-1bbd-464f-a9ea-2b4e5075a817';

-- Voir les événements
SELECT * FROM sign_events WHERE request_id = '75b4408d-1bbd-464f-a9ea-2b4e5075a817' ORDER BY ts ASC;

Bonne chance pour les tests ! 🎯