Je crée des logiciels par passion, et je le fais professionnellement depuis presque une quinzaine d’années.

J’aime le beau code - comme par exemple faire de la programmation par contrat en ruby - mais par « créer » j’entends bien plus que d’en écrire le code. J’aime intervenir de la conception produit jusqu’à la production, de l’infrastructure aux tests unitaires, du workflow de développement aux revues de code.

Durant ces années, j’ai pu intervenir sur de très nombreux sujets, que ce soit du web, du mobile, de l’embarqué, de l’infrastructure. Cela m’a permis d’utiliser divers langages assez variés, différentes technologies et plateformes.

Vous pouvez retrouver ci-dessous des détails concernant mes activités des 5 dernières années. N’hésitez pas à consulter mon linkedin ou me contacter si vous voulez plus de précisions.


Docker

août 2019 -

Depuis mi-août 2019 je suis software engineer chez Docker et plus particulièrement le Developer Solution Group, en charge entre autre de Docker for Mac/Win, docker-compose, etc.


SquareScale

août 2016 - juillet 2019

Depuis 3 ans je lead les développements de SquareScale, et ce depuis avant la création de la société. En plus des aspects techniques et en tant que premier employé, j’ai pleinement participé à la création de l’entreprise, des équipes, de notre manière de travailler (en télétravail).

SquareScale est ce qu’on peut appeler une plateforme Cloud Native Infrastructure as a Service. En quelques instant une infrastructure dédiée, provisionnée à la demande et entièrement configurée est créée. Il ne reste alors plus qu’à l’équipe de développement de déployer son application composée de conteneurs.
L’infrastructure créée met à disposition un orchestrateur de conteneur, un workflow d’intégration et déploiement continu, des services de load balancing, de base de données, etc le tout au travers d’une interface simple à utiliser.

Pour une définition de Cloud Native, voir la transcription de mon HumanTalk : « Cloud Native : sous les buzzwords, le cloud »

Les applications sont en Ruby on Rails et Go. Ce sont soit des services sous forme de conteneur Docker, soit des fonctions serverless AWS Lambda.
L’infrastructure est basée sur CoreOS, Nomad, Consul, Traefik, configuré au travers de Terraform.

J’ai présenté certains choix que nous avons fait côté infrastructure à Snowcamp 2019 : « Hashistack : orchestrer des applications Cloud Native avec simplicité »

Outre les aspects techniques du développement, j’interviens sur les problématiques produits ainsi que sur l’ensemble des questions de méthode et workflow de développement.

SquareScale a aussi la particularité d’avoir été créée comme une structure full remote et distribuée. Pas de bureaux, tout le monde en télétravail, l’équipe en France et au Canada.

J’ai raconté une partie de cette aventure à DevoxxFR 2019 dans une conférence « Quand je serai grand je monterai une équipe full remote ! ».

SquareScale a été accepté dans différents programmes, signe de l’intérêt porté au projet :

  • Station F
  • AWS Activate
  • Notman House (Montréal) et Google for Entrepreneurs
  • DigitalOcean startup program (Hatch)
  • HPE startup program
  • Vivatech (2018 et 2019)

Mon implication dans SquareScale est également visible dans les nombreux talks que j’ai réalisé, afin de partager ce que j’y ai appris:


Enlaps

févr. 2016 - août 2016, via Sogilis

Enlaps est une solution en ligne permettant de créer des timelapses à partir d’un ensemble de photo, associé ou non à un boitier de prise de vue Tikee.

Durant un peu plus de six mois j’ai dirigé le développement de la plateforme en ligne de génération, visualisation et publication de timelapses. Je suis intervenu aussi bien sur le logiciel - architecture, développement, qualité - que sur l’infrastructure.

La plateforme est construite sur le base d’une application Ruby on Rails autour de laquelle gravite plusieurs services en Go ainsi que des fonctions serverless via AWS Lambda.

L’infrastructure est gérée par Terraform et les services sont tous exécutés dans des conteneurs Docker.

Une partie de l’architecture - les aspects Serverless - ont été présenté dans une conférence « Serverless : transition du monolithique au système distribué » que j’ai présenté à Snowcamp et MiXiT.

Certains aspects de qualité, entre autre la programmation par contrat en ruby, ont été présenté lors d’un HumanTalk.

Enlaps a levé 3M€ en mai 2019!


Hexo+

oct. 2014 - févr. 2016, via Sogilis

Hexo+ est une caméra volante autonome, propulsée par un drone hexarotor, créé par Squadrone System.

Durant environ un an et demi, j’ai conçu, architecturé et développé les applications mobiles d’Hexo+ pour iOS and Android.

Ces applications ont deux particularité très fortes :

  • elles sont basées sur un scheduler, à la manière des applications embarquées
  • tout le coeur est totalement multiplateforme et identique pour iOS et Android

Afin de permettre aux application Android et iOS d’avoir le même fonctionnement, j’ai imaginé une architecture basée sur un coeur unique, commun aux deux plateformes. Il a été réalisé en C++, découplé des interfaces et des capteurs des plateformes. Ainsi la même logique est embarquée dans toutes les applications. Vient ensuite se gréfer des couches soit de gestion du matériel (accéléromètre, GPS, etc) ou d’interface graphique.

Agissant principalement sur les couches du coeur applicatif (C++, Android NDK) et Android (Java) j’intervenais ponctuellement sur les couches iOS (Obj-C, swift) et embarqué (C++).

Squadrone a récolté 1,3 million de dollars lors d’un kickstarter passionnant. Suite au kickstarter, environ 3000 drones ont été livrés, avec l’application mobile.

Voici aperçu de la collaboration entre Sogilis et Squadrone System.

Plusieurs années se sont écoulées, et l’architecture conçue est toujours celle qui est utilisée.