Ayant déjà connu le monde bancaire pendant 2 ans lorsque j’étais stagiaire, j’ai directement sauté sur l’occasion lors de l’arrivée d’un nouveau projet concernant le parcours d’ouverture d’un compte bancaire, entièrement en ligne.
La vision était novatrice car l’objectif était d’absolument tout faire en ligne, en un seul workflow, signature de contrat inclue !
Il fallait donc proposer aux futurs client un parcours agréable leur permettant de renseigner toutes les informations nécessaire à l’ouverture d’un compte. Alors que cette procédure nécessite en temps normal plusieurs allez-retour avec différents documents à apporter, le processus ici était simplifié à l’extrême puisque les utilisateurs pouvaient arrêter et reprendre leur parcours, avec la possibilité d’uploader des documents à tout moment.
Le projet fut réalisé avec Symfony. Son système de formulaire étant extrêmement simple à mettre en place, la réalisation du parcours et des quelques différences affichées selon les réponses apportées aux étapes précédentes était d’une simplicité enfantine et fut expédié en vitesse.
En revanche, il y avait une étape très intéressante qui nécessitait plus de réflexion. Afin que l’ouverture de compte soit valide, légalement parlant, il était nécessaire que le client final puisse voir et signer un contrat, et que ce contrat soit ensuite aussi signé par la banque. Mais parcours entièrement en ligne oblige, il était impossible d’avoir des étapes manuscrites, sans compter que si le client devait imprimer le contrat pour le signer avant de le scanner et l’uploader, ce serait un gros frein à l’ouverture du compte. Il fallait donc une solution entièrement en ligne et automatisable.
Ce fut clairement la partie la plus intéressante du projet !
Tout se joua à coup de signatures numériques temporaires et permanentes. Arrivé à l’étape du contrat, on générait un contrat en PDF respectant les normes légales d’archivage, que l’on envoyait d’abord à Swisscom afin qu’ils y apposent une signature numérique temporaire (timestamp) puis que l’on affichait au client final. Si le client était d’accord avec le contenu du contrat, alors on transmettait à Swisscom ce même contrat déjà signé temporairement ainsi que le numéro de téléphone du client, afin que Swisscom lui envoie un SMS avec un code unique. Ensuite le client saisi ce code sur le site Symfony, on transmet ce code à Swisscom, et on reçoit en échange ce même contrat, signé numériquement de manière permanente, à la fois par le client et la banque.
A partir de là, aussi bien le client que la banque possèdent une copie de ce contrat, validé et signé par les deux parti, et recevable légalement par chacun d’eux.
J’ai adoré bosser sur ce projet et cela n’a fait que confirmer l’amour que je porte à Symfony et sa simplicité enfantine pour réaliser des solutions complexes, performantes, tout en restant sécurisé.