Expérience professionnelle
Mars 2021 - Septembre 2022 - BNP Paribas
Consultant Devops - Python / Golang / Kubernetes / Terraform / Ansible / Airflow
Développement de plusieurs composants de support d’architecture dans le cadre de
l’automatisation du testing, de l’intégration et du déploiement de deux importants monorepos.
● Déploiement d’une architecture basée sur Tekton Pipelines, HashiCorp Vault,
CertManager et Kubernetes.
● Développement de pipelines et tasks Tekton pour le testing et l’intégration continue.
● Développement d’un système permettant de détecter les sous-projets affectés par un
changeset et de déclencher uniquement les pipelines concernées.
Technologies utilisées Python, Docker, Kubernetes, Terraform, Ansible, Tekton Pipelines
Depuis Mars 2021 - Projets Open-source: XCP-Ng et Fluidd
Consultant Python - Ansible - Vue.js
Participation continue à deux projets open-source:
● XCP-Ng: Développement d'extensions Ansible pour Xen Orchestra: un plugin de
génération d'inventaire dynamique et un plugin de gestion de ressources
● Fluidd: Participation au développement d'une application Vue 2.0
Septembre 2020 - Mars 2021 - Invenis
Consultant Full stack Django / Vue.js
Développement de fonctionnalités full stack en Vue 3 et Python/Django dans un contexte Big
Data. Mission de renforcement d’équipe pour le développement de fonctionnalités temps
réel.
Technologies utilisées Python, Django, Huey, Docker, Vue 3
Depuis Mai 2018 - Aout 2020 ( 2 ans ) - Société Générale
Architecte Python/Go / Devops
Architecte Python au sein d'une équipe de 10 personnes, j'avais pour rôle d'orienter les développements et l'architecture des projets.
Développement d'API et mise en place d'une architecture de solution de load balancing as a service.
Mise en place d’une architecture CI/CD basée sur Jenkins permettant le déploiement à la volée des 3 différentes API produites par l'équipe. La création d'architecture se faisait via Terraform et le provisioning via Ansible.
Création d'une visionneuse de topologie en Vue.js permettant de visualiser l'ensemble des composants techniques de la plateforme ainsi que le montage d'une architecture en un clic.
Création d'un module Terraform permettant de manipuler les instances de Load Balancers dont était en charge notre équipe. Le module permettait d'interfacer notre API REST avec Terraform, afin de consolider la philosophie Infra As Code des features teams.
Technologies utilisées Python, Connexion, Django, PostgreSQL, RabbitMQ, Vue.js, Openstack, Celery, Go, Redis, Ansible, Docker, Jenkins, Terraform.
2018 – Projet Horloge
Développement d'un gestionnaire de tâche automatisé permettant la répétition de tâches et leur programmation via une API rest. Le système permet de commander des volets roulants via des devices IoT. Les devices en question étaient pilotés par GoBot et le serveur Rest est développé avec Gin (originellement avec Echo).
Technologies utilisées Go, Redis, PostgreSQL, Docker, Kubernetes, GoBot, Gin, C (Arduino)
********-iot/horloge
Décembre à Avril 2018 (1 ans et 4 mois) – Laboté
CTO / Architecte Python / Développeur Go
Réfection d'un site web et d'une application b2b originalement développée en React/Redux vers une version basée sur Django.
Ayant énormément de problèmes de fiabilité sur l'application legacy basée sur le service Graphcool, je suis intervenu dans le cadre de la réfection de cette application pour notamment apporter de la robustesse et de la confiance dans l'équipe.
J'ai donc porté l'application vers une base de données PostgreSQL et créé un socle technique stable et robuste basé sur Kubernetes.
Développement d'un connecteur Kubernetes en Go pour le pilotage de pods en fonction de commandes interceptées dans Shopify.
Création d'un module permettant l'amorçage de Pods Kubernetes depuis un déclenchement d'évenement Shopify afin d'optimiser les préparations de cosmétiques. Le module a été développé en Go en utilisant l'API native de Kubernetes
Technologies utilisées Python, Golang, Django, PostgreSQL, Redis, Websockets, React, Javascript, HTML, CSS, Docker, Kubernetes.
Février 2017 à Novembre 2017 (9 mois) – Dailymotion
Architecte Javascript
Au sein d’une équipe de six personnes dont deux à l’étranger, j’ai mis en place une structure applicative et des méthodes de développement afin de collaborer le plus efficacement. J’ai également développé des outils déterminants pour l'application comme un outil de gestion de l'internationalisation pour React, un gestionnaire de formulaires ou encore une interface de déploiement à la volée des différentes branches de développement.
Technologies utilisées React, Redux, Webpack
Juillet 2016 à Janvier 2017 (6 mois) – Molotov.tv
Consultant javascript
Molotov.tv propose une application desktop cross platforme basée sur Electron qui présentait des lenteurs sur les ordinateurs peu puissants.
En charge d'une cellule de recherche et développement j'ai mené trois chantiers:
1. Optimisation de l'application en utilisant des techniques de lazy loading et de montage / démontage / réutilisation des éléments
2. Création d'une télécommande mobile reliée à l'application via un système d’appairage similaire à WhatsApp Web. Celle-ci permettait de contrôler l'application à distance avec son smartphone. Le système reposait sur les websockets, React, et un serveur en Go.
3. Intégration et développement d'un bridge Chromecast dans l'application. Électron n'est pas supporté par le sdk officiel et il m'a donc fallu reverse engineered le protocole Chromecast pour y parvenir
Technologies utilisées React, Redux, Webpack, Node.js, Go, Electron
Janvier 2016 à Juin 2016 (6 mois) – Voyages-SNCF
Architecte javascript
Au sein d'une équipe de 4 personnes je fus chargé de mettre en place le développement d'une application web mobile embarquée devant répondre à des problématiques d'interruption de connexion fréquentes. Nous avons donc développé une application responsive indépendante du réseau mais évoluant selon les ressources réseau disponibles reposant sur deux briques : Une application React/Redux et une application Node.js 6.x.
Technologies utilisées React, Redux, Webpack, Node.js, Ruby
Janvier 2015 à Janvier 2016 (1 an) – Webedia
Lead developer javascript
Chargé de l'encadrement de 6 personnes, j'ai pour responsabilité de diriger le développement d'applications isomorphiques basées sur React, avec un accent prononcé sur l'optimisation et la taille réduite des processus. Nous avons mené à bien le développement d'un système de commentaire générique visant à être utilisé sur des sites à fort trafic et lancé la réfection d'un site à forte influence basé sur ces technologies. J'ai également créé Sardine, un moteur de gestion de migrations pour PostgreSQL en javascript pour faciliter le déploiement et la maintenance des applications.
Technologies utilisées : PostgreSQL , Javascript, Node.js, React.js, Babel, HTML, CSS
Avril 2014 à Janvier 2015 (9 mois) – Merck
Développeur Javascript
J'ai été engagé pour une mission en deux partie : la première consistait à faire du data-mining sur les bases de données européennes, ce qui impliquait du parsing de html, pdf et le développement d’algorithmes assez complexes. Par la suite, j'ai participé à l'import d'une base de données de calculateurs de médicaments et au développement d'une interface riche dans une webview, qui communiquait avec une application iOS.
Technologies utilisées : Javascript, Node.js, React.js, Backbone, Python, SQL
Janvier 2014 à Avril 2014 (3 mois) – Mappy
Développeur Javascript
J'ai intégré une équipe qui avait la charge de maintenir et de faire évoluer un logiciel interne manipulant des vues immersives 3D. Ce logiciel permettait de planifier le déplacement d'équipes terrain et coordonnait les actions de différents acteurs du projet.
Nous avions aussi pour mission de développer des outils desktop cross-plaform pour simplifier les taches répétitives.
Technologies utilisées : Javascript, Node.js, Less, Python, PostgreSQL, Puppet
Août 2013 à Novembre 2013 (3 mois) – Le Figaro
Développeur Javascript, consultant performance
J'avais pour mission d'optimiser une base de code en Javascript et de fournir une piste pour les futures optimisations.
Ré-écriture des widgets front, réduisant leur taille de 70 %
Documentation du code javascript et CSS existant
Audit du code existant et recommandation
Suppression du code javascript redondant
Introduction de l'équipe à la méthode OOCSS
Développement d'un éditeur de widget grâce au framework Angular.js
Écriture de ghostbuster, un logiciel permétant de visualiser une waterfall du chargement d'une page
Technologies utilisées : Javascript, Angular, Node.js, SASS, PHP 5.3, CSS
Février 2013 à Août 2013 (7 mois) – Alienor.net
Développeur Symfony 2, consultant industrialisation
Développement d'un site d'annonce en ligne similaire au site Le Bon Coin à l'aide Symfony 2.
J'ai préconisé des méthodes de développement et d'industrialisation afin de développer la vélocité.
Intégration du site en Less, CSS 3, HTML 5, jQuery et RaphaelJS.
Tests fonctionnels et d'acceptance grâce au framework Codeception
Développement d'un moteur de recherche multicritère avec Symfony 2 et Doctrine
Développement d'un site mobile
Développement d'un backoffice à l'aide de Bootstrap
Création de scripts de déploiement autonomes
Technologies utilisées : Symfony 2, PHP 5.3, Doctrine, Less, CSS, HTML 5, Javascript, Make
Janvier 2013 à Février 2013 (1 mois) – Amadeus
Consultant mobilité
Je fus consulté pour conseiller et accompagner le développement d'un socle personnalisable d'application riche de réservation de billets d'avion.
Mon rôle était de préconiser des solutions et des outils pour la réalisation complète d'une application prête à l'emploi :
Mi...