EDITIONS LEFEBVRE SARRUT Septembre 2016 à Janvier 2018
Expert Java / XML
Objectifs & enjeux :
Transformation des encyclopédies Dalloz de l’ancien format vers la nouvelle DTD (XML et XSLT 2.0)
Développement de la nouvelle chaîne de publication XML pour les ouvrages et encyclopédies Dalloz (XSLt 2.0, Java, Webservice & Golang)
SQLI Décembre 2015 à Aout 2016
Expert Java
Objectifs & enjeux :
Référent technique sur un projet de batch de calcul écriture de POCs
Mise en place de Spring Batch, de scripts de migration de base de données,
Génération des livrables, intégration continue, etc).
J'ai aussi effectué des missions transverses, comme des Entrées en Maintenace (audit de code, de base de données et estimations de plans de sécurisation), de la formation Python et autres missions ponctuelles.
ORANGE APPLICATIONS FOR BUSINESS 2008 à 2015
Expert Java
Equipe Vodoo de 2008 à 2009 :
J'ai travaillé sur un projet de vidéo à la demande au sein d'une vaste équipe localisée à Bordeaux, Paris et Lille. Travail sur du logiciel Java (côté serveur) et JavaScript (côté box TV).
Projet Talend 2009 :
J'ai été ensuite volontaire pour évaluer et mettre en oeuvre Talend au sein d'un projet de batchs de statistiques, 1013 et 3900 (en 2009). Le projet a été terminé avec des batchs en Python et SQL. Interface utilisateur avec graphes en Flash.
Nous avons ensuite mis à profit notre expérience Python dans un projet de chat vidéo bancaire,
VisioCC. Mise en oeuvre de Django pour le backend d'administration et les webservices appelés par le chat vidéo en Flash.
Equipe Telefact (2010 – 2013)
Pour développer un backend de configuration avec Django et mettre l'applicatif Java au standard PCIDSS (sécurité bancaire).
Equipe MonSVI (2014)
Mise en place des batchs de statistique en Python et SQL
Equipe xMS (2014)
Pour réfactorer le frontal de rupture de protocole sgs-enabler. Il avait été développé en Java et NIO et a été réécrit en Go. Gain de fiabilité et de performances énorme. Cette mission a donné lieu à un retour d'expérience sur Go (présenté à BDX.IO, aux DevDays et aux Midi Techniques Orange).
Equipe Cloud (2014)
Développement des outils (en Python essentiellement) de gestion du parc des machines virtuelles
Au cours de ces missions, j’ai été amené à développer des outils utilisés au sein d’OAB et diffusés sous licence Open Source :
Jitsu : framework de test unitaire JavaScript.
DB_migration : outil de migration de BDD.
Bee : outil de build.
Mysql_commando : driver MySQL pur Python.
CheeseShop : repository de packages Python.
Pour finir, j'ai eu l'occasion d'animer au sein d'OAB de nombreux ateliers et formations sur des thèmes techniques tels que Python, Django, YAML, Go et Raspberry Pi.
DIVERS CLIENTS 2007 à 2008
KEWEGO (1 semaine) – Optimisation d’un logiciel de parsing de logs en Java
UNEDIC (4 mois) – Développement d’une interface de connexion à LDAP pour configuration
CVF (9 mois) – Mission d’expertise Java
IN-FUSIO 2000 à 2007
Expert Java
Dans le département R&D chez In-Fusio, société Bordelaise de services de jeu sur téléphone mobile ayant développé des technologies côté téléphone (ExEn et EGE) et côté serveur (Gamezilla). La plateforme Gamezilla gère les interactions avec les joueurs, téléchargements et SMS, depuis 2001 avec une disponibilité supérieure à 99 %. Gamezilla a géré plus de 20 millions de joueurs ayant effectué 30 millions de téléchargements et 220 millions d’interactions dans 45 pays.
Développement de près de la moitié des modules de la plateforme Gamezilla, des applications web pour l’essentiel (Servlets, JSP et PHP, mais aussi Python et Ruby).
Élaboration de l’architecture de Gamezilla, tout d’abord en tant qu’expert (en l’absence d’architecte logiciel), puis au poste d’architecte. Travail sur les performances ayant permis un gain d’un facteur 10, mise en place d’un processus de développement comportant une gestion des dépendances, un nightly build ainsi qu’une suite d’outils de développement, gestion centralisée de la documentation (à l’aide d’un Wiki).
Activités de veille technologique sur les serveurs d'application Java (choix de BEA Weblogic), JMX (management d'applications Java), Maven (build d'applications Java) et JSR 124 (Java Vending Machines).
Formations en interne données aux membres des équipes sur les bases de Java et la programmation objet ainsi que sur XML et XSLT.
Chef de projet en intérim pendant 6 mois pour l’équipe GameZilla (6 développeurs).
DIVERS CLIENTS 1996 à 2000
Auteur, Conférencier, Développeur
Travaux d'édition pour les Éditions O'Reilly :
Coauteur de XML Précis et Concis (traduit en Anglais, Allemand et Japonais), dont le chapitre sur XSLT a été repris dans la dernière édition de Webmaster in a Nutshell.
Co-traducteur de Sécurité en Java.
Traducteur de Extreme Programming Précis et Concis.
Relecture technique de Java Examples in a Nutshell, Ant précis et concis, Java et SOAP, Google à 200% et Java plus rapide, plus léger.
Écriture d'articles Java et brèves sur leur site.
Série d’articles pour Oracle Magazine :
Starting with Ant et More with Ant parus dans les numéros de novembre/décembre 2002 et janvier/février 2003.
A Junit Step by Step paru dans le numéro de mai/juin 2003.
Développement Java pour les Éditions O’Reilly et SdV Plurimédia :
Développement de trois versions du générateur XML du site des Éditions O'Reilly ainsi que de leur intranet de gestion du catalogue.
Applets Java de jeux (Awélé, Tangram, Mots croisés et Applet d'échecs) et autres (applets de menu et défilement de brèves).
Application de production de cartes Météo.
Écriture et traduction d'articles sur XML pour Quelm.
AUTRES 1993 à 1996
Enseignant de Physiques Chimie
Enseignement des Sciences Physiques et Chimie au lycée technique Le Corbusier à Strasbourg.
ACTIVITES PERSONNELLES
Développement d’outils sous licence Open Source :
Bee : outil de build en Ruby.
Jitsu : framework de test unitaire JavaScript.
DB_migration : outil de migration de BDD.
Mysql_commando : driver MySQL en pur Python.
CheeseShop : serveur de packages Python.
Outils divers : tâches Ant, outil d'accès aux bases de données et générateur d'installeur Java.
Conférencier
Conférence sur le thème Java et Linux à la Linux Expo de Paris en juin 1999.
Conférence sur le thème Développement XML en Java à la Linux Expo Paris de février 2000 (modérateur session Java et Linux).
Conférence sur le thème Développement XML en Java à la Linux Expo Montréal d'avril 2000 (modérateur session Linux Application Development).
Conférences sur les thèmes Java et Linux et Développement XML en Java aux Journées du Libre III (à Strasbourg).
Conférence sur le thème Développement XML en Java à la Linux Expo de Paris en janvier 2001.
Conférence sur le thème Outils J2EE Open Source à la Linux Expo de février 2002 à Paris.
Conférence sur Bee au Rencontres Mondiales du Logiciel Libre en juillet 2010.
Conférence Retour d'expérience sur Go aux DevDays en octobre 2014.
Conférence Retour d'expérience sur Go à BDX.IO en octobre 2014.
Conférence Faut-t-il passer à Python 3 ? à BDX.io en octobre 2015.
Conférence Michel développeur à 50 ans à BDX.io (keynote) en octobre 2016.
Conférence Migration BDD à BDX.io en octobre 2016.
Conférence L'Ordinateur Quantique, Mythe ou Réalité ? à BDX.io en novembre 2017.
FORMATION
Diplôme :
Licence ES Sciences Physiques, Capes de Sciences Physiques et Chimie à l’Université Louis Pasteur à Strasbourg.
Formation Développement d’applications avec serveur BEA Weblogic par BEA.
Formation d’anglais durant 5 ans avec le CEL Bordeaux (niveau 5A sur 6).
COMPETENCES
Technologie Maîtrisées
Langages Informatiques :
Java, Python, Go, Ruby, Shell, PHP, C et C++, Lua, Lisp, Pascal, Assembleur X86, Basic, LSE, HP41
Pile Java :
Spring, Hibernate, Maven, Tomcat et principaux frameworks web Java.
Technologies Web :
JavaScript (JQuery), Servlets, JSP (JSTL), Django, Flask, Ruby on Rails, Sinatra, Web Services (XML-RPC et Soap), Rest
Bases de données :
SQL sur MySQL, Oracle, PostgresQL et SQLite.
Méthodologies :
Programmation Orientée Objet, Patterns, Extreme Programming, Développement Agile et Open Source.
Documentation :
Markdown et Rest, XML (écriture de DTDs, XSLT 1.0 et 2.0, XPath, Xpointer et APIs SAX, DOM et JDOM), LaTeX, SGML (HTML et Linux Doc).
Systèmes d'exploitation :
Unix (Linux, Solaris et MacOSX) et Windows.
Compétences Spécifiques
Développement Logiciel :
Expertise en développement logiciel backend sur serveur Unix.
Architecture Logicielle :
Capacité à concevoir et optimiser une plate-forme logicielle.
Veille Technologique :
Bonne capacité à évaluer et mettre en oeuvre de nouvelles technologies.
Formation et Pédagogie :
Expérience en tant qu’enseignant, conférencier et formateur.
Documentation Technique et Traduction : expérience dans le domaine de l’édition technique