Docker

janvier 2023 -

Depuis janvier j’ai intégré les équipes de Docker Scout. Je suis en charge principalement de la CLI et de la GitHub Action.

If you want to know more about what I’m doing, you can look at some of the talks I presented at Dockercon ‘23: Si vous voulez en savoir plus sur ce que j’y fais, vous pouvez jeter un oeil aux presentations que j’ai donné à Dockercon ‘23:

mai 2021 -

Senior Software Engineer

J’ai parlé de « CNAB: le chainon manquant » à DevoxxFR

J’ai présenté mes réflexions sur la relation entre architecture logicielle et organisation des équipes à DevoxxFR : « Et si les micro services n’avaient rien à voir avec la technique ? »

août 2019 - mai 2021

Depuis mi-août 2019 je suis software engineer chez Docker. Je fais partie des équipes en charge de Docker Hub. Je développe entre autre la fonctionnalité de recherche de vulnérabilités intégré au Hub en partenariat avec snyk.


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.