Interview de Benjamin Bouvier, auteur de l'application Kresus

Bonjour Benjamin, tu es le créateur de l’application Kresus pour la plateforme Cozy Cloud, peux-tu te présenter ?

Benjamin Bouvier - Bonjour ! Je m’appelle Benjamin Bouvier, j’ai 25 ans et je suis ingénieur logiciel chez Mozilla. J’ai découvert le monde du logiciel libre en école d’ingénieurs) et j’aime la possibilité de pouvoir modifier des logiciels existants, les étendre et offrir ses contributions en retour à la communauté. Je suis depuis longtemps attentif aux problèmes de protection des données et de la vie privée sur Internet, et ça m’a décidé à contribuer techniquement à Cozy.

En dehors de l’informatique, j’apprécie aussi beaucoup la musique, et j’aime en particulier reprendre des musiques électroniques populaires au piano.

Comment as-tu connu Cozy ?

BB - En 2012, j’ai participé à LyonJS, un meetup sur JavaScript. Frank et Benjamin, les fondateurs de Cozy Cloud, y faisaient une présentation. L’idée d’un Cloud personnel open source qui permettrait à chacun de reprendre la main sur nos données, de faire plus avec nos données sans sacrifier notre vie privée m’intéressait. En discutant autour d’une bière avec Frank, j’ai réalisé à quel point nos visions coïncident et je commence alors à contribuer à la plateforme et à plusieurs apps.

Qu’est-ce que Kresus, et d’où te vient la motivation d’écrire cette application ?

Kresus est une application de gestion des finances personnelles, développée pour Cozy. Celle-ci permet de récupérer automatiquement les opérations bancaires depuis le site de votre banque et permet de catégoriser ses opérations dans des catégories définies par l’utilisateur. Cela permet de créer des rapports pour en apprendre plus sur ses finances, ainsi que d’effectuer des recherches complexes sur ses opérations : Où est-ce que je dépense le plus ? Quels sont mes budgets effectifs par catégorie, par mois ? Comment évoluent mes finances au cours du temps ?

benjamin_bouvier.jpg

Bonjour Benjamin, tu es le créateur de l’application Kresus pour la plateforme Cozy Cloud, peux-tu te présenter ?

Benjamin Bouvier - Bonjour ! Je m’appelle Benjamin Bouvier, j’ai 25 ans et je suis ingénieur logiciel chez Mozilla. J’ai découvert le monde du logiciel libre en école d’ingénieurs) et j’aime la possibilité de pouvoir modifier des logiciels existants, les étendre et offrir ses contributions en retour à la communauté. Je suis depuis longtemps attentif aux problèmes de protection des données et de la vie privée sur Internet, et ça m’a décidé à contribuer techniquement à Cozy.

En dehors de l’informatique, j’apprécie aussi beaucoup la musique, et j’aime en particulier reprendre des musiques électroniques populaires au piano.

Comment as-tu connu Cozy ?

BB - En 2012, j’ai participé à LyonJS, un meet-up sur JavaScript. Frank et Benjamin, les fondateurs de Cozy Cloud, y faisaient une présentation. L’idée d’un Cloud personnel open source qui permettrait à chacun de reprendre la main sur nos données, de faire plus avec nos données sans sacrifier notre vie privée m’intéressait. En discutant autour d’une bière avec Frank, j’ai réalisé à quel point nos visions coïncident et je commence alors à contribuer à la plateforme et à plusieurs apps.

Qu’est-ce que Kresus, et d’où te vient la motivation d’écrire cette application ?

Kresus est une application de gestion des finances personnelles, développée pour Cozy. Celle-ci permet de récupérer automatiquement les opérations bancaires depuis le site de votre banque et permet de catégoriser ses opérations dans des catégories définies par l’utilisateur. Cela permet de créer des rapports pour en apprendre plus sur ses finances, ainsi que d’effectuer des recherches complexes sur ses opérations : Où est-ce que je dépense le plus ? Quels sont mes budgets effectifs par catégorie, par mois ? Comment évoluent mes finances au cours du temps ?

En 2013, il existe déjà des applications Web qui permettent de faire cela, mais elles sont toutes closed-source et je ne peux donc pas avoir la possibilité de les héberger chez moi pour vérifier ce qu’elles font réellement. Or, je dois leur passer les codes d’accès à ma banque, le sésame pour l’accès à tous les libellés de mes opérations bancaires, donc des informations très intimes. Ces applications sont gratuites, or il y a effectivement un coût à les maintenir : comment peuvent-ils donc se financer ? Bien qu’il y ait aussi des versions payantes, je pars du principe que “si c’est gratuit, c’est toi le produit”. En l’occurrence ici, les informations bancaires sont très utiles pour établir des profils très précis des utilisateurs ainsi que des publicités très ciblées, comme le font les data-brokers). Je rajoute donc dans une todo-list une entrée “créer une application open-source de banque en ligne”.

Tu avais d’autres choses pour Cozy dans cette liste des choses à faire ?

BB - Oui, cette todo-list contenait aussi une entrée pour un “client email Web, générique et performant” et je considère aujourd’hui que c’est tâche faite grâce à l’application Emails de Cozy. L’open-source d’aujourd’hui et de demain est rempli des rêves des années précédentes !

Mais revenons à Kresus…

BB - En 2014, Il y avait déjà une application appelée Cozy PFM (Personal Finance Manager) qui fait de la gestion de données bancaires en ligne. Le projet n’étant plus vraiment maintenu, je le “forke” pour repartir de zéro sur certains points, notamment sur toute la partie client, visible pour l’utilisateur. C’est aussi l’occasion de me faire la dent sur un petit framework JavaScript tout nouveau (à l’époque), appelée React, ce qui rend le projet d’autant plus fun !

Le 31 juillet 2014, je mets en place le dépôt sur Github et propage ma première modification, un tout petit nettoyage côté serveur.

Qu’est-ce qui t’a impressionné et/ou apprécié le plus chez Cozy ?

BB - En tant qu’utilisateur, ça a été toujours un plaisir de pouvoir rapporter des problèmes de la plateforme et de voir que mes retours étaient appréciés, que ce soient des problèmes réels ou des propositions de nouvelles idées.

En tant que développeur, tous les problèmes que j’ai pu identifiés ont été résolus assez rapidement, ce qui a évité que je sois bloqué dans le développement de Kresus à cause de la plateforme Cozy elle-même. Beaucoup d’outils de développement m’ont également facilité la tâche : pas besoin de se soucier de la gestion des données, pas besoin de se soucier de l’authentification des utilisateurs, etc.

L’équipe de Cozy a même contribué à Kresus ! Notamment, Frank s’est chargé de rajouter le lien entre les opérations bancaires et les factures, effectué automatiquement si vous utilisez Konnectors.

Enfin et surtout, après que j’ai mentionné à l’équipe mes difficultés à mettre en place une belle interface graphique, l’équipe m’a mis à disposition un graphiste professionnel ! C’est énorme d’avoir eu un vrai graphiste pour m’aider, avec qui j’ai pu discuter différents designs, qui a créé différents modèles d’interface que j’ai pu finalement intégrer ! Ensuite, c’est le développeur de l’application météo qui a bénéficié de tels services. Ça démontre à quel point Cozy tient à sa communauté et lui donne les moyens de faire le mieux possible.

De quel avenir rêves-tu pour Kresus ?

BB - Kresus a encore beaucoup de chemin à faire avant d’être l’application dont je rêve ! En termes de fonctionnalités, je rêve d’une expérience plus aboutie sur mobile (notamment l’affichage), de tableaux de bords plus généraux, de graphiques plus personnalisables et une installation facilitée.

Une autre grande étape serait l’auto-catégorisation des opérations. A l’heure actuelle, il est nécessaire de catégoriser ses opérations une par une, à la main. Dans le futur, il sera possible de créer des règles qui sauront dans quelle catégorie mettre automatiquement une opération. Si en plus, cela pouvait être partagé entre utilisateurs, ça serait idéal.

Ensuite, dans un futur plus lointain, j’aimerais que Kresus soit indépendant de Cozy, afin de pouvoir élargir le nombre d’utilisateurs (et donc le nombre de contributions). Beaucoup de personnes sont intéressées par l’application mais ne disposent pas d’une instance de CozyCloud, ce qui les freine à l’adoption. Heureusement, c’est techniquement assez facile à faire grâce à tout le travail effectué par l’équipe !

Enfin, j’aimerais plus de contributeurs sur Kresus, pour pouvoir me soucier d’autres problèmes et d’autres applications. Cela devra passer par des compromis sur les choix techniques et de développements, sur la facilité de développement, des explications sur le fonctionnement de l’application, etc. J’aimerais aussi mettre en place une automatisation des tests, pour éviter de casser des fonctionnalités de manière subtile. Par ailleurs, je tiens à remercier @ZeHiro pour tous les tickets et toutes les contributions qu’il a effectués sur le projet !

Et pour Cozy ?

BB - Dans un monde idéal, tout le monde aurait son Cloud personnel, et ce, de manière décentralisée. J’aimerais voir plus de monde utiliser Cozy, car je suis persuadé que cela mettra en place un cercle vertueux pour les développeurs (plus d’utilisateurs, donc plus d’applications, etc.). Aussi, j’attends de voir l’équipe de Cozy grandir en termes de volume. L’équipe est déjà très performante, mais plus de développeurs permettrait d’avancer plus vite. Cela permettrait notamment à Cozy d’assurer le développement de plusieurs autres applications, de manière officielle.

Parmi les applications dont je rêve, j’aimerais voir apparaître un jour dans Cozy une application de partage de dépenses entre amis (à la Tricount), une application de présentation média/studio (à la Youtube), un lecteur musical avec toutes mes pistes audio stockées directement dans le Cozy (avec intégration de Spotify, bien évidemment), une application de gestion de projets (respectant les principes de GTD), un environnement de développement complet dans Cozy même, une application de méta-messagerie. Avis aux membres de la communauté, n’hésitez pas à vous lancer ! Et si vous cherchez des idées ou de l’aide, n’hésitez-pas à venir me parler !

Super, un dernier mot pour nos lecteurs ?

BB - Je voulais remercier Cozy de m’avoir donné l’inspiration et de m’avoir soutenu dans la création de Kresus ! Et si vous, lecteurs, êtes intéressés par le développement de Kresus, n’hésitez-pas à venir en parler sur le forum, dans le système de tickets sur Github ou même de m’en toucher un mot sur Twitter !