s
Published on

Yousign - Application de signature électronique

Authors
  • avatar
    Name
    Clément Le Biez
    Twitter
Yousign: Signature électronique

Yousign : Application SaaS de signature électronique

Fondée en 2013, Yousign a pour mission de simplifier le processus de signature électronique au sein des entreprises. Aujourd'hui, l'équipe compte plus de 150 collaborateurs, mais à mon arrivée, j'étais le sixième employé.

Logo de yousign

Presque tous les documents que vous signez à la main peuvent être signés de façon électronique. Ce procédé accélère considérablement le parcours de signature, car il permet de signer sans avoir à se déplacer ou à envoyer les documents physiquement. C'est un gain de temps et d'argent pour les entreprises, c'est pourquoi Yousign propose une application SaaS pour simplifier l'étape de signature. De l'Éducation à l'Assurance, en passant par l'Immobilier ou l'Administration Publique, toutes les entreprises doivent signer ou faire signer des documents au quotidien.

Mon expérience en tant que Lead Développeur Front-end

Lorsque j'ai rejoint Yousign, j'étais le premier développeur front-end et tout était à construire. Ce fut un défi stimulant de concevoir et de développer toute l'architecture front-end pendant près de 5 ans.

Nos APIs ont été développées avec Symfony en PHP, et nous avons utilisé des frameworks JavaScript pour le front-end. Avant 2018, nos applications étaient développées en AngularJS, mais lorsque celui-ci a été déprécié en faveur d'Angular 2 sans possibilité de migration, nous avons décidé de migrer vers React pour des raisons de performances et d'expérience développeur.

Un design orienté utilisateur

Pour offrir la meilleure expérience possible sur nos applications, nous avons travaillé assidûment pour innover et créer un processus de signature le plus simple possible. Rendre une application complexe simple d'utilisation est un défi de taille. Pour y parvenir, il est essentiel de bien connaître nos utilisateurs. Nous avons donc mis en place des outils de collecte de retours et de données d'utilisation afin de mieux comprendre les usages et les habitudes de nos clients.

Capture d'écran du tableau de bord

Une fois ces données récoltées et analysées, nous avons collaboré étroitement avec l'équipe Design pour rendre nos interfaces les plus simples possibles. Ce projet personnellement enrichissant m'a permis de développer une sensibilité pour l'UX, me permettant de prendre du recul lors de la conception des interfaces.

Système de design de composants

Au fil du temps, nos applications sont devenues de plus en plus complexes. Pour garantir une expérience cohérente sur l'ensemble de nos produits, nous avons créé un système de conception de composants. Nous avons utilisé Storybook pour y parvenir, et avons répertorié environ 50 composants. Chacun de ces composants a été conçu pour être générique, agnostique et configurable par des props partout où nécessaire.

Nous avons également suivi les excellentes directives fournies par Brad Frost : The atomic web design.

Capture d'écran de notre Storybook

Qualité logicielle

Chaque type d'entreprise a un processus contractuel ou des spécificités lors d'une phase de signature. (Par exemple, après avoir reçu un contrat de vente pour l'achat d'une maison en France, vous devez attendre 15 jours avant de pouvoir le signer.) Dans les faits, cela se traduit par un ensemble de fonctionnalités qui ne sont utilisées que par une partie de nos clients.

C'est pourquoi nous avons mis en place une fonction de basculement très complète afin d'activer ou de désactiver facilement ces spécificités sans impacter les processus des autres clients.

Capture d'écran d'un processus de signature

Évidemment, nous ne pouvons pas fournir une application complexe et stable sans développer des tests automatisés sur l'ensemble de notre base de code. C'est pourquoi nous avons mis en place un large panel de tests, allant des tests unitaires avec Karma ou Jest aux tests E2E avec Cypress. Tous ces tests sont exécutés en CI afin de garantir qu'à chaque déploiement en production, nous évitons toute régression.