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, CSSJ'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, SQLJ'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.
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