# 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`: Set `false` to 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-signature` dans l'URL - L'employeur peut valider directement ou remplacer la signature 📖 **Voir documentation complète** : [DOCUSEAL_SIGNATURE_PREFILL.md](./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 : ```typescript 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** : ```typescript // 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 à : 1. **Signature individuelle depuis la page de détail d'un contrat** - Route: `/staff/contrats/[id]` - Composant: `ContractEditor.tsx` - API: Appelle `/api/docuseal-signature` 2. **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` ## Comportement utilisateur ### Pour l'employeur et le salarié : 1. **Lors de la première signature** : - Options disponibles : Dessiner ou Charger une image - Option indisponible : Saisir au clavier - La signature est automatiquement sauvegardée 2. **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 : 1. Créer un nouveau contrat et générer le PDF 2. Lancer la signature électronique 3. Vérifier dans l'interface DocuSeal que : - ❌ L'option "Saisir" n'est pas disponible - ✅ Les options "Dessiner" et "Charger" sont disponibles 4. Signer le document avec l'une des méthodes autorisées 5. 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é : `metadata` dans 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