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.
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
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.
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.
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
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)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, WebpackMolotov.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
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, RubyChargé 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