12/12/2024

Cybersécurité

Découvrez DocuSeal : une solution de signature électronique open source

I. Présentation

Vous recherchez une solution de signature électronique gratuite ? Alors, cet article devrait vous intéresser puisque nous allons voir comment utiliser DocuSeal, une application qui répond à ce besoin.

DocuSeal est une application gratuite et open source, accessible en mode SaaS ou installable sur votre propre serveur, qui va permettre de signer électroniquement des documents. Il existe aussi une version « Pro », payante, qui débloque des fonctionnalités supplémentaires. Dans cet article, nous utiliserons uniquement la version gratuite, déjà bien complète.

Remarque : même si vous auto-hébergez DocuSeal sur votre propre serveur, certaines fonctionnalités sont bloquées et nécessitent un abonnement Pro pour être accessibles.

L'avantage, c'est que la version gratuite n'est pas limitée en nombre de documents à signer, ce qui est généralement la plus grande contrainte avec les autres offres gratuites.

II. La signature électronique

Profitons de cet article pour définir la notion de signature électronique. À l'heure du tout numérique et de la dématérialisation des procédures, la signature électronique permet de signer, à distance, depuis n'importe où, un document administratif ou commercial.

La signature électronique est un mécanisme de sécurité utilisé pour garantir l’intégrité et l’authenticité d’un document électronique, tout en assurant l’identification de son auteur. Elle joue un rôle important dans la sécurisation des échanges numériques en offrant une alternative fiable à la signature manuscrite sur papier.

Ce mécanisme repose sur trois objectifs majeurs : protéger l’intégrité du document, authentifier le signataire et fournir la preuve du consentement de ce dernier.

  • Garantir l'intégrité du document : la signature électronique permet de s’assurer que le document n’a subi aucune modification entre le moment de sa signature et celui de sa consultation. Cela implique que le document soit inaltérable : un document signé ne peut plus être modifié.
  • Authentifier l’auteur : elle permet de vérifier de manière certaine l’identité de la personne qui a apposé la signature.
  • Rapporter la preuve du consentement : en signant électroniquement, l’auteur exprime son consentement de manière claire, ce qui peut être juridiquement prouvé. Il y a une valeur légale associée à la signature électronique.

Elle offre un véritable gain de temps et permet aux entreprises de gagner en efficacité pour la signature de documents. Il est possible de recourir à la signature électronique dans de nombreux cas :

  • Devis et bons de commande,
  • Contrats de travail (et autres types de contrats),
  • Actes notariés,
  • Documents comptables,
  • Etc...

En général, le document signé prend la forme d'un document PDF. Sur le marché, il existe de nombreuses solutions, dont des solutions accessibles en mode SaaS (Cloud) sous la forme d'un abonnement, ainsi que certaines solutions gratuites (DocuSeal et OpenSign, notamment). Maintenant, passons à l'installation de DocuSeal avec Docker.

Signature électronique c'est quoi

III. Installer DocuSeal avec Docker

Nous allons effectuer l'installation de DocuSeal avec Docker, sur une machine Debian 12. L'installation de Docker sur Debian ne sera pas évoquée dans cet article. Référez-vous à celui-ci, si besoin :

Pour l'installation sur un NAS Synology, suivez ce tutoriel :

Nous allons utiliser un fichier Docker Compose disponible sur le GitHub du projet DocuSeal. Mais, avant de télécharger ce modèle, nous allons créer un répertoire pour ce projet avec la commande mkdir :

mkdir /opt/docker-compose/docuseal

Puis, nous allons créer le fichier "docker-compose.yml" dans ce répertoire :

curl https://raw.githubusercontent.com/docusealco/docuseal/master/docker-compose.yml > docker-compose.yml

L'installation de DocuSeal repose sur la création de trois conteneurs :

  • Le conteneur de l'application DocuSeal
  • Le conteneur PostgreSQL pour la base de données
  • Le conteneur Caddy pour le serveur Web

Si vous le souhaitez, vous pouvez l'installer sans le serveur Web Caddy, mais cela vous oblige à gérer le serveur Web à part. Pour rappel, l'avantage de Caddy, c'est de permettre l'activation automatique du HTTPS, avec un certificat Let's Encrypt.

Bien que ce soit facultatif, vous pouvez éditer le fichier "docker-compose.yml" pour personnaliser son contenu.

nano /opt/docker-compose/docuseal/docker-compose.yml

Vous devez savoir que :

  • POSTGRES_USER : nom de l'utilisateur pour se connecter à la base de données.
  • POSTGRES_PASSWORD : paramètre pour définir le mot de passe de l'utilisateur utilisé pour se connecter à la base de données PostgreSQL. Si vous modifiez ce paramètre, il faut aussi modifier le champ dans "DATABASE_URL".
  • POSTGRES_DB : nom de la base de données pour DocuSeal.
  • FORCE_SSL=${HOST} : URL de l'application, en HTTPS. Ici, il s'agit de la variable "HOST" que nous allons passer en paramètre par la suite. Mais, vous pouvez modifier l'information en dur ici.

Enregistrez ce fichier, positionnez-vous dans le répertoire du projet et exécutez la commande suivante pour télécharger les images Docker et créer les conteneurs.

HOST=docuseal.it-connect.local docker compose up -d

Dans cet exemple, le nom de domaine de l'application est : "docuseal.it-connect.local". Si vous envisagez d'utiliser un domaine public, effectuez la configuration en amont afin de pouvoir un certificat de la part de Caddy.

À partir de ce moment-là, vous devriez avoir accès à l'interface de DocuSeal, en précisant le nom de domaine. L'application écoute sur le port 3000, mais Caddy est configuré en tant que serveur Web, il est donc possible d'accéder à DocuSeal en HTTP et HTTPS via les ports par défaut. La première étape consiste à créer un compte administrateur...

Maintenant, passons à la prise en main de l'application.

IV. Prise en main de DocuSeal

A. Configuration de base

Commençons par évoquer la configuration de base liée au compte administrateur de la plateforme, ainsi que l'envoi des e-mails et la déclaration du certificat.

Tout d'abord, je vous encourage à l'activer le MFA sur le compte administrateur de la plateforme DocuSeal. Pour cela, cliquez sur "Paramètres" puis "Profil" où vous pourrez localiser l'option "Authentification à deux facteurs". Vous pouvez utiliser une application comme Microsoft Authenticator, Google Authenticator ou FreeOTP.

Ensuite, vous devez définir l'URL publique de l'application.

Cliquez "Paramètres", puis sur "Compte" afin d'accéder à l'option "URL de l'application". Ici, il est important de configurer l'URL d'accès à l'application DocuSeal, parce qu'elle sera utilisée pour construire les liens vers les documents à signer.

Quand c'est fait, basculez sur l'onglet "Email" afin de configurer l'envoi d'e-mails. Là encore, c'est important, car l'application doit pouvoir envoyer des notifications par e-mails aux signataires. La configuration dépend de votre fournisseur de services e-mail.

Terminons par un dernier point : la section "Signature électronique" des paramètres. Par défaut, DocuSeal utilise un certificat auto-signé pour la signature des documents. Ainsi, le document sera signé et la signature contiendra les informations sur les signataires, mais le certificat contiendra des avertissements. En effet, puisqu'il est auto-signé, il n'est pas possible de vérifier son authenticité.

Pour cette raison, il est recommandé d'acheter un certificat de signature électronique et de le charger via le bouton "Télécharger un certificat". L'alternative consiste à prendre un abonnement DocuSeal Pro pour s'appuyer sur un certificat fournit par la solution. Plusieurs fournisseurs peuvent vous vendre un certificat adapté, je vous encourage à lire cet article de l'ANSSI pour en savoir plus et avoir des noms :

B. Créer un modèle de document

DocuSign permet de créer des modèles de documents, que vous pourrez ensuite utiliser pour émettre des demandes de signature. À partir de la page d'accueil, vous devez cliquer sur "Télécharger" pour charger directement votre modèle ou sur "Créer" pour créer un document de toutes pièces. Plusieurs formats de fichiers sont pris en charge, dont le format PDF qui est le plus courant pour cet usage.

Dans le cadre de cette démonstration, j'ai chargé un document PDF correspondant à un contrat fictif au nom d'IT-Connect. À la fin de ce contrat, il y a deux parties réservées aux signatures. De façon traditionnelle, il conviendrait d'imprimer ce document et de le remplir en indiquant la date et en effectuant une signature manuscrite avec un stylo. Mais, là, nous allons effectuer une signature électronique.

À l'aide de la barre latérale située sur la droite, vous devez placer des champs dynamiques sur le document PDF. Les champs "Signature" et "Date" sont utilisés dans cet exemple. Il y a également deux couleurs : ce n'est pas anodin. Vous pouvez déclarer plusieurs signataires (plusieurs parties) où chaque partie devra compléter un ou plusieurs champs.

Remarque : pour la conformité RGPD, vous pouvez ajouter une case "Coche" avec un texte, afin de demander l'acceptation de la politique de traitement des données personnelles.

Quand le modèle de document est prêt, il convient de valider. Il est possible de l'éditer par la suite.

C. Envoyer une demande de signature

Afin d'effectuer un essai et créer une demande de signature, vous devez cliquer sur le bouton "Envoyer aux destinataires".

Ensuite, vous devez spécifier les informations sur les destinataires : nom, prénom et adresse e-mail. Il est envisageable d'ajouter le numéro de téléphone, mais la notification par SMS nécessite DocuSeal Pro.

L'option "Préserver l'ordre" est importante : elle permet de déterminer le processus de signature. Est-ce que les deux parties peuvent signer en même temps, dans n'importe quel ordre, ou est-ce que la partie 1 doit signer, et une fois que c'est fait, la partie 2 doit signer à son tour. Ceci impact l'envoi des notifications pour signature.

Remarque : dans la section "Personnalisation" des paramètres, vous pouvez personnaliser les modèles d'e-mails envoyés.

Voici un exemple :

Une fois que vous avez validé, vous pourrez voir l'état de votre soumission sur l'interface de DocuSeal.

D. Signature d'un document

Une notification par e-mail a été envoyée à la partie 1, à savoir Guy Mauve, afin de l'inviter à signer le document. L'utilisateur doit cliquer sur le lien pour accéder au contrat fictif.

Il arrive sur une page web où il peut consulter le document, et surtout le signer. Comme le montre l'image ci-dessous, il accède uniquement aux champs de gauche en tant que Partie 1 du processus de signature. Pour la signature, il est possible de charger une image, d'utiliser sa souris ou un périphérique externe pour signer avec un stylet (comme chez les Notaires).

Lorsque le document a été signé, il est possible de le télécharger ou d'en recevoir une copie par e-mail.

Ensuite, la Partie 2 reçoit une notification : c'est à elle de signer. À la fin, les deux parties ont pu signer le contrat fictif : une copie du document signé est envoyé à à toutes les parties.

En plus du document signé, une autre pièce jointe est présente dans l'e-mail : le journal d'audit. Il permet d'avoir des informations sur les signataires, sur l'authenticité de la signature et il intègre l'historique des événements : heure d'accès au contrat, heure de signature de chaque partie, etc... Il retrace la chronologie des événements.

Ces informations sont également accessibles à partir de l'interface de DocuSeal.

V. Conclusion

Suite à la lecture de ce tutoriel, vous êtes en mesure d'installer et d'utiliser DocuSeal sur votre propre serveur. Si vous désirez l'installer sur un NAS Synology, référez-vous à notre autre tutoriel. Tout en sachant que vous pouvez aussi utiliser la version en ligne, accessible de façon gratuite. Mais, le fait de l'auto-héberger permet d'avoir la maitrise sur le stockage des données et ainsi s'assurer qu'elles soient stockées uniquement sur votre serveur.

Qu'en pensez-vous ?

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

3 commentaires sur “Découvrez DocuSeal : une solution de signature électronique open source

  • Bonjour,
    Très bel article.
    La signature via docseal est-elle reconnue légalement?

    Répondre
  • Hello,

    Merci pour l’article !

    Petite coquille ici –> HOST=docuseal.it-connect.local docker compose up -d
    Corrigée ici –> HOST=docuseal.it-connect.local docker-compose up -d

    Enjoy ^^

    Répondre
    • Hello,
      Alors, tu n’as pas tord, mais je n’ai pas tord non plus lol, il me semble que les deux sont corrects, mais que ça dépend de la version de Docker. En tout cas ta remarque sera certainement utile à d’autres personnes, merci 🙂

      Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.