Rencontre avec… Marc-Antoine Lacroix, CTO de Qonto

« Nous avons créé notre propre core banking system »

Néobanque créée en 2016*, spécialisée dans les clients professionnels, des autoentrepreneurs et indépendants aux PME, Qonto a la particularité d’avoir fait confiance au cloud public pour héberger son système d’information. Son directeur technique nous explique ce choix et nous en dit plus sur les pistes d’innovation de sa société.

L'auteur

* Voir également la brève p. 42.

Revue de l'article

Comment l’architecture de Qonto a-t-elle été conçue ?

Je vais parler premièrement de l’architecture en termes d’infrastructure et ensuite des questions d’architecture de code qui sont deux choses différentes. Pour l’infrastructure, nous avons immédiatement fait le choix de partir sur le cloud pour plusieurs raisons. Déjà, aujourd’hui, la question ne se pose plus vraiment : quand on veut créer un nouveau service, on le fait sur cloud. À part pour des cas très précis, dès qu’on a des ambitions de montée en puissance, quand on sait qu’on va avoir beaucoup de volume à gérer, c’est beaucoup plus facile d’aller dans le cloud qui permet de le faire facilement.

Quel prestataire avez-vous choisi et pourquoi ?

Amazon Web Services, parce qu’Amazon a beaucoup insisté sur le fait que leur infrastructure était conforme à certaines normes auxquelles nous sommes soumis, notamment PCI-DSS. Amazon nous permettait donc de construire rapidement une infrastructure ouverte et aux normes en termes de sécurité, ce qui est important dans notre secteur. En outre, les développeurs qui connaissent l’écosystème d’Amazon sont plus nombreux que ceux qui connaissent l’écosystème de ses concurrents, ce qui nous a permis de recruter les bonnes personnes plus facilement.

Avez-vous monté directement votre système d’information dans Amazon ?

Pas tout à fait. Historiquement, nous avons construit notre service bancaire par-dessus l’application d’une tierce partie qui s’appelle Treezor [1]. Nous n’avions pas encore de licence d’établissement de paiement, et donc nous avons construit notre infrastructure applicative dans la zone Francfort d’Amazon Web Services (AWS). La manière dont cela fonctionne en termes d’architecture sur ce côté applicatif a été répliquée derrière, sur l’autre côté – sur lequel je reviendrai –, et est basée sur du microservice.

C’est-à-dire ?

Le principe que nous essayons de nous appliquer au maximum, c'est de séparer les différents blocs fonctionnels par service : un service pour la génération des factures, un pour regarder si tel ou tel paiement par carte est autorisé en fonction de la balance du compte, etc. Nous essayons de bien dissocier sur chacun des services une grande logique métier, et chacun de ces services a ses propres instances et ses propres bases de données sur AWS.

Vous parliez d’une réplication de l’autre côté… De quoi s’agit-il ?

Depuis un an, nous avons obtenu notre licence d’établissement de paiement, et cela a permis de créer notre propre core banking system et de gérer tout ce qui touche aux différents modes de paiement nous-mêmes. Nous l’avons donc fait et installé sur la zone Paris d’Amazon. Avec toutes les instances qui sont dans la zone parisienne, sur le même principe en microservice, et avec des instances dissociées et des bases de données qui sont associées à différents services.

Cela signifie-t-il que la base de données concernant vos clients est répliquée pour chaque microservice, ou les bases de données de chaque microservice font-elles appel à une base client centrale ?

Chacune des bases de données contient des informations différentes. Nous n’avons pas une méga base de données qui aurait toutes les informations. À chaque fois, ce sont des informations différentes, et lorsqu’il s’agit de faire des appels entre différentes bases de données, nous avons des correspondances. Donc tel type d’objets dans une base de données correspond à ce type d’objets dans une autre base de données, ce qui nous permet d’aller retrouver des objets différents liés entre les différentes bases de données. Pour le client, c’est complètement transparent. Mais cela nous permet d’avoir une architecture plus découpée, qui a plusieurs intérêts. Le premier tient à la scalabilité : comment faire travailler des dizaines, et bientôt des centaines d’ingénieurs, sur une base de code qui va grossir de plus en plus ? Dans notre cas, celle-ci est découpée, facilement lisible par tout le monde. Le deuxième avantage tient aux questions de sécurité : les choses sont plus isolées et, en cas de problème, il est plus facile de bloquer quelqu’un qui serait en train d’essayer de pénétrer le système.

Le plus gros changement technique pour vous a été de migrer votre plateforme de Treezor à votre propre solution ?

Nous n’avons pas migré. Nous avons créé notre propre solution à partir de rien. Nous avions un applicatif qui tournait sur le core banking de Treezor, et nous en avons construit un autre. Pour le moment, nous avons d’anciens clients qui sont encore sur l’ancien core banking Treezor, et les nouveaux qui sont tous sur le nouveau core banking Qonto.

Existe-t-il une différence entre les deux core banking pour les clients ?

Tout à fait. Il y a même plusieurs différences. Comme nous gérons tout de A à Z, nous avons une réactivité sur le service client plus rapide pour les personnes sur le core banking Qonto. De même, la création de comptes de bout en bout est plus rapide, car une fois de plus, nous avons la main. Le compte est plus rapidement créé aujourd’hui. Ensuite, certains services sont proposés sur le core banking Qonto, mais pas sur le core banking Treezor, comme notre carte premium que nous avons sortie récemment : la carte Plus. Ce nouveau core banking permet d’avoir des limites de paiement plus élevées, et des frais réduits sur certains types d’opérations, qui ne sont proposés qu’aux clients Qonto. Nous travaillons également sur de nouvelles fonctionnalités qui vont arriver dans les prochains mois, qui ne seront que pour les clients Qonto. Nous avons l’intention de transférer les personnes qui sont aujourd’hui sur Treezor vers Qonto dans les mois qui viennent.

Combien de temps prendra ce transfert ?

Il devrait être terminé d’ici neuf mois. C’est quelque chose de long sur lequel nous voulons faire très attention, pour permettre à nos clients d’avoir le temps de faire le changement sans douleur.

Ces nouveaux services que vous proposez sur uniquement votre core banking Qonto, est-ce pour une raison technique ou par volonté de différencier les deux ?

C’est plutôt parce qu'ils n’étaient pas faisables, ou très difficilement faisables sur la plateforme Treezor. Par exemple quand vous vous inscriviez sur cette dernière, vous nous transmettiez vos documents. Nous les envoyions à Treezor et attendions. En pratique, nous ajoutions un intermédiaire dans la relation. Aujourd’hui nous le faisons directement donc plus rapidement. Concrètement nous avons divisé par quatre environ le temps de validation de ces documents. Et c’est valable pour beaucoup d’autres services. Par exemple, pour traiter des demandes de remboursements en cas de vol de carte. Aujourd’hui, tout passe par nous directement, donc cela va beaucoup plus vite. Les clients vont aussi changer de numéro de compte.

Qu’avez-vous prévu comme évolution technique à venir ?

Nous avons une manière de fonctionner qui se base sur les retours de nos utilisateurs, via le service client notamment. À chaque fois que nous recevons une demande d’un utilisateur, elle remonte dans un outil qui nous permet de prioriser notre recherche en fonction du nombre de personne qui ont exprimé cette demande. Ainsi, aujourd’hui nous travaillons sur l’intégration du réseau SWIFT. Pour l’instant, nous avons simplement le réseau SEPA. Ce qui rend plus compliqué les virements vers l’étranger. Nous travaillons également sur les questions d’amélioration du temps d’encaissement des chèques, qui nous est très demandée.

À votre connaissance, existe-t-il beaucoup de FinTechs qui ont comme vous, toute leur infrastructure, y compris leur core banking sur Amazon, en France tout du moins ?

Déjà, je ne pense pas qu’il y ait beaucoup de FinTechs qui aient leur propre core banking. A priori, la plupart des FinTechs qui se lancent s’appuient sur des core banking externes comme Treezor. En revanche je suis certain que n’importe qui créerait son nouveau système de core banking avec le cloud, avec AWS, GCP (Google cloud Platform, ndlr) ou Azure, mais plus personne ne le ferait en interne. Il y a encore cinq ans, nous ne savions pas si le cloud était vraiment sécurisé. Aujourd’hui nous sommes à peu près tous au clair sur les pratiques de sécurité à avoir. Des services comme AWS, GCP ou autres, sont très bons et certainement bien supérieurs à ce qu’on pourrait faire en interne.

Avez-vous pris des précautions de sécurité en complément de celles d’AWS ?

Nous en avons plusieurs. Par exemple, nous utilisons un SaaS qui permet de voir en direct s’il y a des activités frauduleuses, par exemple quelqu’un qui essaie de forcer un compte ou si nous subissons des DDOS… Ensuite, toutes les informations sensibles qui passent sur la plateforme sont chiffrées. Enfin, nous essayons de mettre en place de bonnes pratiques de codes, pour s’assurer de ne pas être exposé à des attaques comme des inductions SQL. Ce sont des pratiques qui sont basiques aujourd’hui et qui sont résolues par la plupart des frameworks couramment utilisés.

Pour en revenir à l’innovation technique pour vos clients, allez vous leur proposer des solutions différentes aussi bien dans les outils monétiques qu’utilisable dans leur vie professionnelle ?

La manière dont je vois l’innovation chez Qonto est double. Il y a premièrement comment faire la même chose que les banques, donc proposer les mêmes services, mais en beaucoup mieux. Vous pouvez créer un compte. Entre le moment où vous allez l’ouvrir et le moment où vous allez pouvoir payer avec votre carte, cela prendra quelques jours, mais pas quelques mois. De même si vous voulez faire un virement, il se fait en cinq minutes. C’est simple. Vous avez besoin d’appeler votre service client. nous vous répondons immédiatement. Et là-dedans il y a de l’innovation en fait. Ensuite, nous avons des solutions que les banques ne font pas. Je vais donner un exemple représentatif de ce type d’innovations utilisant notamment de la data science. Une des fonctionnalités que nous proposons qui ne paraît pas grand-chose a priori, mais qui est en réalité un énorme gain de temps, est la détection automatique de la TVA.

Que recouvre ce service ?

Vous payez avec votre carte de crédit au restaurant. Vous êtes un professionnel, et demandez votre reçu. Immédiatement une notification arrive sur votre portable, vous l’ouvrez, et vous pouvez scanner le reçu. En scannant le reçu, celui-ci est directement associé à la transaction, et déjà nous faisons gagner du temps à votre comptable. Celui-ci doit aussi faire identifier le montant de TVA pour la comptabilité de cette facture. Grâce à de l’OCR [2], quand vous prenez en photo votre ticket, le montant de TVA sera automatiquement récupéré et associé à la transaction. Votre comptable aura donc immédiatement enregistré la transaction, le reçu, et la TVA. C’est ce genre d’innovations que nous allons pousser en 2020 : comment faire du smart accounting ?

Et pour les petits indépendants qui n’ont pas de comptables ?

La plupart du temps, les indépendants passent par des outils de comptabilité externe, comme Clémentine Compta par exemple. Dans ce cas-là, nous avons des intégrations directes avec ces outils. Toutes les innovations que nous proposons créent des changements dans notre interface pour prendre en compte et simplifier la comptabilité de nos clients.

 

[1] https://www.treezor.com/.

[2] Logiciel de reconnaissance de caractères.

 

Sur le même sujet