Expériences professionnelles
Covea
Mars 2019 – Actuel
Sur le Datahub Covea (Cloudera : Hadoop/Spark/Kafka), mes missions consistent à identifier les problèmes et les axes d'amélioration sur :
• la configuration des composants de la stack
• les jobs d'ingestion, de traitement et de restitution des données
Je participe également à la conception et à l'implantation d'un nouveau bus de traitement des données, basé sur Spring Boot et hébergé sur Kubernetes (OpenShift)
J'ai également défini l'architecture technique de la nouvelle offre de service Kafka :
• Multi data-center
• Hautement disponible
• Basée uniquement sur des composants Open Source : Kafka / Cruise Control / Grafana / Prometheus / Spring Boot
• Sécurisé, en développant un plugin Kafka d'habilitations basé sur les rôles
Enfin, j’ai réalisé un POC permettant de gérer les droits d’accès aux données du cluster Hadoop : les droits d’accès devant s’appliquer sur des règles et héritages complexes et non bornés, nous avons mis en place un moteur de règles sur Apache Jena devant être capable d’accorder/refuser un accès à une données pour un utilisateur donné en se basant sur ses droits propres, ceux de ses groupes et rôles. J’ai également étudié la mise à l’échelle possible sur Apache TinkerPop / TitanDb sur Hadoop.
Portfolio :
• ********?v=XqB3ex34JRg
Environnement Hadoop / Spark / Solr / Java / Spring boot / Kafka
Softmétrie
Octobre 2016 – Mars 2019
Créateur de Softmétrie, un outil d’extraction de statistiques sportives à partir des vidéos des matchs.
Réalisation complète de la solution :
- prototypes écrits en Python / OpenCV / TensorFlow
- implantation « industrielle » des algorithmes en GoLang / C++ / OpenCV / TensorFlow
- Applications web et mobiles, backend Java / Spring Boot, frontend Angular / TypeScript
- API REST Java / Spring Boot
- Base de données MongoDB
Portfolio :
- Algorithme d’extraction des données : ********
Environnement C++ / Python / OpenCV / TensorFlow / Java / Spring boot / Angular
Sogecap Mai 2017 – Septembre 2018
Expert J2EE affecté au support N3 et à l’architecture technique des composants Big Data, ELK et authentification.
Architecture technique Big Data:
- Réalisation de divers POC principalement autour de Spark et de Solr
- Conseil et documentation autour des architectures techniques détaillées des cas d’usages de la plateforme
- Support N3
Support ELK :
- Support aux intégrateurs sur l’ingestion des logs
- Support à l’exploitation sur l’administration d’ElasticSearch
Support Authentification :
- Support aux développeurs sur l’intégration des kits d’authentification (SSO, OAuth)
Développement full-stack :
- Conception et développement d’outils de monitoring et d’aide au diagnostique technique ; backend Java/Spring boot, frontend Angular/TypeScript
Environnement Hadoop / Spark / Solr / Java / Spring boot / Angular
MMA
Octobre 2014 – Avril 2017
Expert J2EE en charge de la réalisation technique des socles Data transverses.
Solution d'analyse de logs basée sur ElasticSearch, Logstash et Kibana (ELK) :
- Réalisation d'un comparatif entre Solr et ElasticSearch pour l'indexation des données
- Réalisation d'un POC sur Logstash permettant d'analyser une semaine de logs d'une application en production (essai sur 100 millions de lignes de logs)
- Réalisation de tableaux de bords Kibana
- Documentation du socle ; définition des procédures d'installation et d'exploitation du cluster.
- Industrialisation du déploiement avec Chef! et Perl
- Reversement auprès des équipes de production
- Evangélisation des différentes équipes de la DSI intéressées par le sujet.
- Résultat : cluster ELK "temps réel" accueillant 12 milliards de lignes de logs
Expert J2EE affecté au support de niveau 3 sur le Big Data :
- Maintien en conditions opérationnelles des plateformes du groupe
- Conception et développement de l'outillage socle et de nouveaux composants se basant sur les technologies fournies par la distribution Cloudera (Hadoop, Spark, Solr, etc.)
- Support aux développeurs Big Data (résolution de bugs, optimisation)
- Support aux analyses de performances (tuning Java, Hadoop, Solr, etc.)
- Réalisation d'outils de surveillance et d'analyse du Big Data avec ELK
Expert J2EE affecté au support de niveau 3 sur l'industrialisation et les développements :
- CMS Jahia - Documentation du socle technique Jahia ; définition des procédures d'installation et de maintenance.
- Support aux développeurs
- Appuie production sur l'audit des performances Java en général.
Organisation :
Equipe de cinq personnes, en mode KANBAN.
Environnement Java / J2EE / Cloudera / ElasticSearch / Jahia
NCR
Octobre 2013 – Octobre 2014
Développeur expert sur la réalisation de l’outil de gestion des guichets automatiques de banque (NCR Connections et NCR Promote) utilisé par plusieurs grandes banques en Europe.
Dans un premier temps, la mission a consisté en un audit de l’application GWT, afin d’améliorer les performances, notamment sur des guichets automatiques sur réseau GSM, disposant de peu de ressources matérielles.
Prise en charge de l’application existante (commencée en 2008) développée sur Spring/Hibernate, avec un frontal GWT. Intervention à tous les niveaux de l’application :
• conception technique détaillée des nouvelles fonctionnalités
• développement des nouvelles fonctionnalités
• correction de bugs et améliorations
• rédaction de documentation technique
Depuis juillet 2014, réalisation d’un comparatif GWT/AngularJS afin d’étudier l’opportunité de transférer les services clients GWT vers AngularJs. Réalisation d’un framework pour les commandes spécifiques des automates sur AngularJs (impression de tickets, distribution de billet, etc.) et intégration de certains services client sur AngularJs.
Organisation :
Equipe de dix personnes, en mode agile (SCRUM).
Environnement Java / J2EE / Spring / Hibernate / AngularJs / GWT
Bouygues Telecom Mars 2013 – Septembre 2013
Architecte technique sur la réalisation d'un tableau de bord de l'état d'une ligne ADSL/VOIP/IPTV permettant aux téléconseillers de diagnostiquer rapidement la source d'un incident.
Mise en œuvre d'un ESB (Entreprise Service Bus) réalisant la fédération des webservices SOAP dispersés dans l'entreprise en un seul webservice REST, consolidant les données. L'ESB a été réalisé sur OSGI (Apache ServiceMix).
Application frontale en GWT (Google Web Toolkit) utilisant le service REST unifié pour présenter les données au téléconseiller.
Installation d’Apache ServiceMix en production et documentation de l'installation et de l'exploitation.
Organisation :
Equipe de six développeurs, en mode Agile (SCRUM), et piloté par la MOA de Bouygues Telecom.
Environnement Java / OSGI / Spring / ServiceMix / GWT
Thélem assurances
Mars 2012 – Mars 2013
Architecte technique sur les web services publiques et internes de la compagnie d’assurances. Migration des web services vers JBoss AS 7. Industrialisation des développements et de la recette.
Organisation :
Rattaché au pôle Java de la DSI, j’ai mis en œuvre la migration des applicatifs web services et l’industrialisation des développements dans une équipe de 8 personnes.
Web services :
Migration depuis une architecture entièrement Spring/Hibernate vers un applicatif JBoss AS 7 (JBoss-WS, EJB) et des bases de données Oracle, afin de déployer les applications sur un cluster JBoss Domain. J’ai également participé à la mise en place du cluster JBoss Domain avec les équipes d’exploitation.
Industrialisation des développements :
Elaboration d’une solution d’industrialisation pour le pôle Java :
• définition de la cible et des moyens à mettre en œuvre
• Installation des outils :
o Jenkins
o Nexus Sonatype
o XWiki
o Environnements de recettes et de production JBoss
• Authentification par LDAP sur tous les outils du socle
• Documentation des méthodes et formation des développeurs aux pratiques industrialisées
• Documentation des installations en production
• Déploiements automatiques en production, en livraison continue
Industrialisation de la recette :
Mise en place d’un cadre technique sur les tests fonctionnels automatisés :
• Tests fonctionnels Selenium
• Mise en place de bibliothèques d’aide à la rédaction de tests
• Exécution automatiques et intégration continue des tests
• Rapports d’exécution automatisés
Environnement J2EE / Spring / JBoss AS 7 / Jenkins / Continuous delivery / Selenium / Oracle
Polyspot
Novembre 2011 – Mars 2012
Architecte / développeur sur le moteur de recherche basé sur SolR édité par la société: refonte de l’application d’administration du moteur, en accord avec la feuille de route du projet.
Organisation :
Projet de dix-sept personnes, dont trois développeurs offshore (Inde) en méthodologie agile (SCRUM). L’interface d’administration nécessitait l’intervention de six personnes, dont trois développeurs.
Mise en place de l’architecture technique détaillée de l’interface d’administration sous GWT/J2EE. Intégration continue sous Git/Bamboo, tests unitaires Junit et tests fonctionnels Selenium.
Client :
- Développement de l’IHM en GWT, XHTML/CSS.
- Utilisation des frameworks de data-binding pour GWT (Editor, Activities and places, etc.).
- Framework GIN/Guice pour l’injection de dépendances.
Serveur :
- Application J2EE dont la persistance est assurée en XML déployé sur Apache ZooKeeper (fichiers de configuration du moteur de recherche).
- Framework Spring Core pour ...