4.8 KiB
Configuration des Signatures Électroniques DocuSeal
Date: 14 octobre 2025 (Mise à jour)
Fonctionnalités
1. Restriction des méthodes de signature
L'API DocuSeal a été configurée pour désactiver la saisie de signature au clavier.
Selon la documentation DocuSeal :
data-allow-typed-signature: Setfalseto disallow users to type their signature (Default: true)
Les méthodes disponibles sont :
- ✅ Dessin de signature (activé par défaut)
- ✅ Chargement de photo (activé par défaut)
- ❌ Saisie au clavier (
data-allow-typed-signature=false)
⚠️ Important : Le paramètre data-allow-typed-signature doit être passé dans l'URL de l'embed DocuSeal, pas dans l'API de création de soumission.
2. Mémorisation des signatures
La mémorisation des signatures est activée par défaut dans DocuSeal. Les utilisateurs peuvent réutiliser automatiquement leur signature lors de signatures ultérieures.
3. Pré-remplissage de la signature employeur (✨ NOUVEAU)
La signature de l'employeur peut être pré-remplie automatiquement depuis la base de données :
- Signature stockée en base64 dans
organization_details.signature_b64 - Pré-remplissage automatique via le paramètre
data-signaturedans l'URL - L'employeur peut valider directement ou remplacer la signature
📖 Voir documentation complète : DOCUSEAL_SIGNATURE_PREFILL.md
Fichiers modifiés
/app/api/docuseal-signature/route.ts
1. Configuration des submitters avec metadata pour désactiver la saisie au clavier :
submitters: [
{
role: 'Employeur',
email: employerEmail,
metadata: {
'allow-typed-signature': false, // Désactiver signature par saisie
// Pré-remplir la signature si disponible (depuis organization_details)
...(employerSignatureB64 && {
'signature': employerSignatureB64
})
}
},
{
role: 'Salarié',
email: employeeEmail,
metadata: {
'allow-typed-signature': false // Désactiver signature par saisie
}
}
]
2. Récupération de la signature depuis la base de données :
// Récupérer la signature base64 de l'organisation si disponible
let employerSignatureB64 = null;
if (orgId) {
const { data: orgDetails } = await supabase
.from('organization_details')
.select('signature_b64')
.eq('org_id', orgId)
.maybeSingle();
if (orgDetails?.signature_b64) {
employerSignatureB64 = orgDetails.signature_b64;
}
}
Ces préférences sont appliquées :
- Au niveau global de la soumission
- Au niveau de chaque signataire (Employeur et Salarié)
Points d'application
Les configurations s'appliquent automatiquement à :
-
Signature individuelle depuis la page de détail d'un contrat
- Route:
/staff/contrats/[id] - Composant:
ContractEditor.tsx - API: Appelle
/api/docuseal-signature
- Route:
-
Signature groupée depuis la liste des contrats
- Route:
/staff/contrats - Composant:
ContractsGrid.tsx - API: Appelle
/api/staff/contracts/bulk-esign→ qui appelle/api/docuseal-signature
- Route:
Comportement utilisateur
Pour l'employeur et le salarié :
-
Lors de la première signature :
- Options disponibles : Dessiner ou Charger une image
- Option indisponible : Saisir au clavier
- La signature est automatiquement sauvegardée
-
Lors des signatures suivantes :
- L'utilisateur peut réutiliser sa signature mémorisée
- Ou créer une nouvelle signature (dessin/upload)
- Pas besoin de redessiner à chaque fois
Avantages
✅ Sécurité renforcée : Évite les signatures trop simplistes par saisie au clavier ✅ Expérience utilisateur : Dessin et upload disponibles par défaut ✅ Conformité légale : Signatures plus authentiques (dessin/scan) ✅ Mémorisation native : DocuSeal sauvegarde automatiquement les signatures ✅ Configuration correcte : Utilisation des bons paramètres API selon la documentation
Test
Pour tester les modifications :
- Créer un nouveau contrat et générer le PDF
- Lancer la signature électronique
- Vérifier dans l'interface DocuSeal que :
- ❌ L'option "Saisir" n'est pas disponible
- ✅ Les options "Dessiner" et "Charger" sont disponibles
- Signer le document avec l'une des méthodes autorisées
- Pour un deuxième contrat, vérifier que la signature précédente est proposée
Références API DocuSeal
- Documentation des préférences de signature : https://docs.docuseal.co/api
- Paramètre utilisé :
metadatadans les submitters - Options configurées :
allow-typed-signature: false- Désactive la saisie au clavier (Default: true)
- Options par défaut (pas besoin de les configurer) :
- Signature par dessin : activée
- Upload de signature : activé
- Mémorisation : activée