Après un stage de fin d’études de 6 mois chez Atos Origin (La Défense), j’ai été embauché en tant qu’ « Ingénieur études et développements » chez Key Consulting (Suresnes) où j’ai travaillé entre septembre 2008 et juillet 2011.
Voici un résumé des différentes missions sur lesquelles je me suis forgé une expérience durant ces trois dernières années.
Projet LyxorAP, depuis Janvier 2011
En mission dans les locaux de la Société Générale à La Défense (SGCIB), j’évolue en tant que leader technique sur la création d’une application web GWT regroupant 3 développeurs. Il s’agit d’un outil de trading destiné à gérer des transactions sur des fonds indiciels côtés (ETF) se chiffrant au minimum en millions d’euros. L’outil est constitué d’un backoffice à destination d’une équipe de traders de la SGCIB et d’un frontoffice à destination de gros clients.
Le besoin de l’outil étant immédiat, l’architecte s’est orienté vers une technologie RIA à forte productivité : Smart GWT (version 2.4). Côté serveur, on retrouve Spring pour traiter les requêtes HTTP, gérer l’injection de dépendances et l’aspect transactionnel de la couche service. Spring batch et JQuartz permettent le lancement des traitements asynchrones journaliers comme l’import des nouveaux référentiels produit. Hibernate se retrouve au cœur de la persistance des objets dans une base de données Oracle 9i.
Etant déjà familier des technologies côté serveur, j’ai ainsi eu l’opportunité de me concentrer sur la technologie Smart GWT et mettre en application le design pattern MVP en suivant les recommandations de Google.
Projet SFT, juin à décembre 2010 (7 mois)
Au sein de la plateforme forfait de Key Consulting, j’interviens sur la refonte d’une application de gestion du Supplément Familial de Traitement (SFT) pour la RATP. Ce projet de 600 jh dans une équipe de 4 ingénieurs consiste en la création d’une application web JEE ainsi qu’un module Java d’extraction et de reprise des données de la précédente application.
Les principales technologies utilisées pour la mise en œuvre de ce projet sont les suivantes : Spring MVC, Spring Batch, Hibernate, JSP, JSTL, Spring Taglib, Birt, JQuery.
Fort de mon expérience avec Spring MVC, j’ai eu le privilège de poser les fondations des premiers écrans et de l’automatisation de la validation des formulaires applicatifs en utilisant la JSR 303. J’ai également été amené à développer de nouvelles Taglib s’intégrant à notre projet.
Projet TOTEM, mars à mai 2010 (3 mois)
J’interviens en mode forfait sur un projet de création d’une application web GWT pour la SNCF. Cette application permet d’optimiser la distribution de pièces détachées par les caristes en calculant le meilleur itinéraire possible en fonction des différentes destinations, de la capacité du véhicule et du volume des pièces.
L’application se base sur la technologie GWT-Ext côté client, et sur Spring côté serveur. Pour la persistance des données, nous avons utilisé une base de données embarquée HSQLDB et le framework Hibernate pour le mapping objet/relationnel.
Mon rôle principal a été d’intégrer le module de calcul heuristique développé par les chercheurs de la SNCF dans la couche métier et la création d’un module d’auto-déploiement rapide du serveur d’application et de l’application web. Je suis également intervenu sur l’IHM en phase de correction d’anomalies.
Projet COLISE, janvier à février 2010 (2 mois)
J’interviens auprès de la RATP sur un projet web JEE existant sur lequel je dois réaliser la migration du processus de construction d’Ant vers Maven2. Ma mission consiste à identifier et externaliser tous les paramètres de l’application afin de créer un processus de construction Maven2 avec différents profiles Maven (développement, intégration, recette, production).
Le principal enjeu de cette mission était de réussir à obtenir un résultat homogène au précédant sur un projet vieillissant et mettant œuvre un processus de build complexe. (Compilation, génération de classes à partir de WSDL, déploiement sur serveur distant).
Cette mission m’a permis de découvrir en profondeur les rouages de Maven et de développer une qualité d’expertise qui m’a été d’un grand secours sur tous les projets sur lesquels je suis intervenu.
Projet PrépaSecureExpert, septembre 2008 à décembre 2009 (16 mois)
J’interviens sur la plateforme forfait de Key Consulting sur ce projet destiné à La Poste. Il s’agit d’un projet de création d’une application web JEE de 2200 jh réalisé par une équipe de 10 développeurs.
L’application est à destination des clients « Grand Compte » de La Poste ne souhaitant pas investir dans le SI. L’objectif est de leur permettre de préparer leurs plis et d’en effectuer le suivi.
L’application se découpe en plusieurs modules : une application web, une console autonome, un module d’impression Java Webstart et un module d’installation de toutes ces briques logicielles pour faciliter le déploiement de l’application chez le client. L’application web est développée en Java à l’aide des technologies Spring MVC et Hibernate côté serveur et la librairie Ajax extJS côté client. La console utilise de simples connexions JDBC à la base de données et permet de se connecter au SI La Poste via des webservices implémentés à l’aide d’Apache Axis. L’interface homme-machine est réalisée en client lourd grâce à l’API Swing. Le module d’impression s’appuie sur la technologie Java Webstart (IHM Swing) ainsi que les technologies iText et JasperReport pour la génération de documents. Enfin l’installeur à été réalisé en utilisant l’outil Java « IzPack ».
Cette première expérience professionnelle m’a permis d’intervenir sur une multitude de technologies Java et de découvrir le travail collaboratif au sein d’une équipe importante.
Formation
2008 Master Pro « Système d’Information et Réseaux », IUP de Blois
Compétences techniques
Langages de programmation Java, Javascript, PHP, BASH (ActionScript, C, Pascal, Eiffel)
Langages de balisage CSS, HTML, XHTML, XML, XSL, WSDL
Langages de requête SQL, HQL, XPath, EL
Normes/Méthodes UML, Merise, Designs Patterns
Framework/API JEE Spring (MVC, Batch, Security), Struts, JSP, JSTL, Servlet, GWT
Mapping O/R / Persistance Hibernate 3.0
Base de données PostgreSQL, MySQL, Oracle 9i
API Java iText, Jasper Report, JDBC, Axis, Log4j, JSch, Commons, CommonsNet
Jaxb, JQuartz, JodaTime…
API Javascript JQuery, ExtJS
Testing JUnit, EasyMock, Selenium
Outils de déploiement Maven2, Ant
Intégration continue Hudson, Continuum, Sonar
Serveurs web/d’application Weblogic, Tomcat, Httpd
Langues
Anglais : Bonne compréhension orale et écrite. Expression correcte.