Comment développer un connecteur en seulement 100 lignes de code

Comment développer un connecteur en seulement 100 lignes de code

Ce jeudi 22 mars, c'est meetup atelier, où les membres de la communauté Cozy sont invités à nous rejoindre pour construire (ou apprendre à construire) des connecteurs, ces petits morceaux de logiciels qui permettent aux utilisateurs Cozy de récupérer leurs données personnelles stockées par des sites tiers. À cette occasion, j'ai interviewé Christophe Thiriot, qui est un de nos experts connecteurs chez Cozy Cloud.

Christophe_BLOG_Thiriot_connecteurs_cozycloud

Qui suis-je ?

Je m'appelle Christophe Thiriot et je suis développeur Web chez Cozy Cloud après 10 ans comme développeur Web chez Airbus.

Ma découverte de Cozy Cloud

J'ai découvert Cozy au moment de sa participation à Mozilla Web FWD en 2013. Comme cela correspondait pas mal à mes besoins personnels, j'ai décidé de suivre son évolution en m'abonnant à son blog.

C'est bien plus tard, en avril 2015, que j'ai décidé de répondre à un appel à contributeurs de Cozy pour reprendre l'application databrowser. Je n'avais pas beaucoup de temps à y consacrer et reprendre une application déjà existante me semblait le plus simple pour faire mon entrée dans ce projet. En plus, on avait le droit à un mentor et s'est donc Joseph, aujourd'hui Product Owner, qui a rempli ce rôle pour moi. Avec en prime une instance Cozy pour moi tout seul.

Je n'ai pas pu faire grand chose pour le "databrowser" mais disons que je l'ai maintenu en état de marche autant que possible.

Mon intégration chez Cozy Cloud

Le premier meetup atelier connecteurs a eu lieu, animé par Franck. J'ai remarqué qu'il n'y avait pas de connecteur SFR et je me suis lancé ce soir là avec à la fin de la séance un connecteur qui fonctionnait à 80%. J'ai continué à bidouiller le reste du code le lendemain du meetup et en seulement 48 heures, mon premier connecteur était sorti. Après quelques autres contributions, Franck m'a nommé comme "mainteneur des connecteurs".

J'ai continué la maintenance du "databrowser" et des connecteurs pendant quelques mois, même si ZeHiro et Nicofrand (aussi mainteneurs des connecteurs) étaient beaucoup plus actifs que moi. J'étais d'ailleurs très frustré de ne pas pouvoir y passer plus de temps régulièrement avec mon travail actuel et ma vie familiale. J'ai continué à participer aux meetups et j'ai même animé mon premier atelier connecteurs avec ZeHiro. Une très belle opportunité !

Et pour évacuer cette frustration, et même si mon boulot me plaisait bien, j'ai décidé de postuler chez Cozy Cloud pour être finalement intégré en février 2017 avec le challenge de migrer les connecteurs vers le nouveau Cozy qui a été lancé en janvier de cette année.

Mon rôle actuel : Expert Connecteurs

Aujourd'hui, mon rôle est Lead Developer pour les connecteurs. Je maintiens les connecteurs en cas de modification ou d'évolution du site pour lequel le connecteur récupère les données. Par exemple, si vous suivez notre fil Twitter, vous avez dû remarquer que plusieurs utilisateurs de Cozy n'arrivaient plus à récupérer leurs données SFR et/ou RED : une Captcha a été rajoutée sur les espaces client SFR et RED bloquant et empêchant ainsi le connecteur de fonctionner. Dans ce cas précis, chez Cozy Cloud, nous avons essayé avec d'autres développeurs de détourner cette Captcha mais il semblerait que SFR ne souhaite pas que ses clients se réapproprient leurs données personnelles dans leur Cozy... Par ailleurs, j'essaie de développer de nouveaux connecteurs pour que les utilisateurs de Cozy puissent récupérer toutes leurs données et j'intègre aussi ceux qui ont été développés par notre communauté mais je ne suis pas seul sur ces sujets. Et quand il me reste du temps (c'est une denrée rare en ce moment) je travaille sur l'application "Banks" avec mes collègues "les Gangsters" qui est aujourd'hui disponible en application mobile sur Google Play et l'App Store.

J'essaye aussi de répondre sur le forum autant que je peux et d'organiser des ateliers de connecteurs aux Meetups Cozy pour qu'un maximum de personnes puissent reprendre possession de leurs données!

Comptes connectés Cozy Cloud

Le mot de la fin !

Il reste encore quelques places pour l'atelier connecteurs du prochain meetup Cozy le 22 mars, alors venez nombreux, j'ai pas mal de nouveautés à vous présenter ;-)
En attendant de vous rencontrer et parce qu'on me le demande régulièrement, voici mes 4 conseils avant de vous lancer dans le développement d'un connecteur :

  • Avoir une machine avec NodeJS 8 installé dessus;
  • Avoir quelques connaissances en javascript, programmation... même si elles sont anciennes;
  • Disposer d'un compte client sur le site pour lequel vous souhaitez récupérer vos données (indispensable pour tester le connecteur avant le lancement en production;
  • Lire la documentation mise à disposition

100% des développeurs de connecteurs ont déjà récupéré leurs données personnelles alors pourquoi pas vous ?