Consultant Java
Chambre des députés/Luxembourg
7/2020 -
Projet : Mise en place des API Rest pour l&rsquoimplémentation des services faisant office de backend pour l&rsquoapplication
permettant aux députés de gérer les sessions parlementaires) + Maintenance applicative des vieilles applications
JAVA (migration des services SOAP -> services REST)
➢ Collecte des besoins fonctionnels dans un Backlog.
➢ Analyse des besoins fonctionnels, puis transcription en users stories.
➢ Prise en charge des tickets du backlog + dev JAVA.
➢ Gestion des configurations Maven
➢ Configuration des alias J2C sur WebSphere pour le stockage des credentials.
➢ Authentification TOKEN LTPA via Provider intégré à websphère.
➢ Participation aux différentes cérémonies Scrum (Daily, Sprint Planning, Review et retrospective) pour une
amélioration continue des performances de la team.
➢ Code review du code fourni par les autres développeurs.
➢ Mise en place des TU renforcés
➢ Maintenance des PACT consumer-provider permettant de garantir la vérification des contrats entre les API
Rest et les consommateurs.
➢ Ecriture des nouveaux PACT (contrat entre un provider et ses consommateurs)
➢ Migration des api SOAP vers REST api dans les vieilles applications.
➢ Maintenance des vieilles applications SWING.
Environnement technique : Java, SpringBoot, Maven, Informix, JIRA, Confluence, GITLAB, Websphère.
Consultant Java SpringBoot pour Capgemini
ACOSS Marseille/Lyon
5/2019 -
Projet : Développement de traitement de masse multithread permettant de lire de gros fichiers CSV contenant des
données de contribuables pour les insérer dans une base de données Cassandra.
➢ Collecte des besoins fonctionnels dans un Backlog.
➢ Conception de l&rsquoarchitecture de l&rsquoapplication from scratch (projet Maven multi-modules)
➢ Développement Spring batch des traitements de masse.
➢ Mise en place du multi Process avec Spring Bach pour le traitement de plusieurs CSV à la fois
➢ Développement d&rsquoun module Kafka permettant de déléguer l&rsquoécriture des traces en base à Kafka
(développement du composant Spring-Kafka permettant d&rsquoécrire et lire des évènements dans Kafka)
➢ Création des tables dans une base de données Cassandra.
➢ Mise en place d&rsquoun système de suivi des exceptions lors des traitements de masse.
➢ Mise en place d&rsquoun système de rejeu en utilisant Camunda qui est modélisateur de Process BPMN.
➢ Modélisation des Process Camunda permettant de décrire l&rsquoensemble des actions à enchainer, générer le
code Java afin de l&rsquointégrer dans SpringBoot
➢ Documentation technique du lancement et du suivi des batch.
Environnement technique : Java, SpringBoot, Maven, Kafka, Cassandra, Camunda, Gitlab, REST, PostgreSQL.
-
Projet : Développement d&rsquoun POC permettant d&rsquoarchiver des documents en mode multi thread via API dans un
système de GED.
➢ Analyser la solution d&rsquoarchivage existante utilisant Spring Batch et une base de données Cassandra malgré
que le modèle de Spring Batch préconise une base de données relation. L&rsquoutilisation de Cassandra dans la
solution existante impose donc un ré implémentation des DAO de Spring batch. Ce qui empêche donc une
montée de version de Spring aujourd&rsquohui.
➢ Mise en place d&rsquoun POC permettant de proposer une solution sans Spring Batch.
➢ Développement d&rsquoun système de lecture de gros fichier XML contenant les métadonnées des documents à
insérer en GED.
➢ Module permettant de mettre les données provenant des fichiers XML dans une file d&rsquoattente
(BlockingQueue) afin de pouvoir consommer la file de façon multi-threadée pour l&rsquoenvoi des documents
vers une API Soap permettant d&rsquoarchiver les documents.
➢ Mise en place d&rsquoune gestion des threads dans un Pool de Threads.
➢ Module permettant de récupérer le statut des documents envoyé vers le service SOAP (document archivé
ou non et récupérer les éventuelles exceptions).
➢ Module permettant de d&rsquoécriture un fichier XML de résultatsindiquant les documents archivés, non archivés
en précisant les erreurs.
➢ Développement d&rsquoun module permettant de construire le fichier résultat avec des documents dans l&rsquoordre
du fichier reçu. Pour ce faire j&rsquoai implémenté une Queue personnalisée permettant de réception les
documents dans l&rsquoordre suivant leur index dans le fichier XML en entrée
➢ Chiffrage des développements et suivi de l&rsquoavancement
Environnement technique : Java, Spring, XML, JAX-B, file d&rsquoattente, Multi processus (Thread), Gitlab.
-
Projet : Développement d&rsquoun Script de migration des documents vers un système centralisé de GED.
➢ Recueille du besoin auprès des URSSAF souhaitant migrer leurs documents dans la GED Nationale.
➢ Chiffrage et suivi des développements.
➢ Ecriture du Reader pour l&rsquoextraction des métadonnées de documents dans des gros fichiers CSV.
➢ Service de correspondance entre les données du CSV et les données attendues par la GED (Les fichiers pivots
étant des XML que j&rsquoai défini et certaines correspondances sont dans une base de données SQL)
➢ Création d&rsquoune base PostgreSQL et de tables permettant le suivi d&rsquoavancement des batch une fois lancés.
➢ Ecriture du Writer permettant d&rsquoécrire un fichier sommaire.XML pour chaque CSV traité.
➢ Mise en place d&rsquoun TaskExecutor permettant de lancer un Pool de Thread de traitement de plusieurs CSV à
la fois.
➢ Création d&rsquoun client SOAP permettant de créer et de déclencher un traitement de masse dans une file
d&rsquoattente en base Cassandra.
➢ Lancement Asynchrone du traitement des CSV.
➢ Externaliser la Configuration de l&rsquoapplication Spring via les properties afin de pouvoir spécifier la
configuration en ligne de commande.
➢ Mise en place des tests unitaires avec Spring-test/Mockito
Environnement technique : Java, Spring, XML, SOAP client, file d&rsquoattente, Multi processus (Thread), Gitlab, Cassandra,
Linux, Maven, Serveur TOMCAT.
-
Projet : Maintenance applicative des traitements de masse existant pour l&rsquoarchivage des documents en GED.
➢ Utilisation de Redmine pour le suivi des tickets à corriger.
➢ Corriger les tickets remontés par la MOA.
➢ Fonctionnalité de Gel de documents en GED
➢ Monter en compétence sur Cassandra en utilisant le mode Thrift qui sera migré vers du CQL.
➢ Réalisation des Tests unitaires et d&rsquointégration pour des opérations de reprise, de suppression de masse.
➢ Déploiement des JAR exécutables et gestion des releases sur un Repository nexus.
➢ Administration Cassandra via l&rsquooutil Dev Center de Datastax.
Environnement technique : Java, Spring, XML, SOAP client, file d&rsquoattente, Multi processus (Thread), Gitlab, Cassandra,
Linux, Maven, Redmine, TOMCAT.
Développeur FullStack (SpringBoot/Symfony) pour Capgemini
ALSTOM
10/2018 - 4/2019
Projet : Développement Symfony 4 from Scratch d&rsquoun portail pour l&rsquoadministration des droits d&rsquoaccès aux services
➢ Développement de la partie Backend en Symfony 4 permettant la communication avec une API (Keycloak)
implémentant un modèle de gestions des droits utilisateurs.
➢ Mise en place d&rsquoune Authentification OAUTH2 pour l&rsquoauthentification/autorisation à l&rsquoAPI Keycloak
➢ Authentification SSO permettant de ne pas se reconnecter aux services dont l&rsquoutilisateur à accès
➢ Automatisation des environnements de développement avec Docker/Compose.
➢ Composant Backend permettant de communiquer avec l&rsquoAPI RANCHER qui expose les différents services au
sein d&rsquoun Cluster Kubernetes.
➢ Déploiement d&rsquoun Cluster de développement Kubernetes sur Azure.
➢ Lancer les déploiements du code avec Jenkins
➢ Développement de certaines interfaces en utilisant e moteur de Template Twig (Vue d&rsquoajout d&rsquoun utilisateur,
d&rsquoun rôle, d&rsquoun groupe et d&rsquoun service.
➢ Développement de module avec SpringBoot permettant de communiquer avec le portail via une
authentification OAUTH2. L&rsquoapplication Spring Boot représentant un device qui doit avoir les pour l&rsquoingestion
de données via le Portail.
➢ Workshop pour la récolte des besoins fonctionnels.
Environnement technique : Java 8, Spring Boot, Symfony, JQuery, Kubernetes, Docker, Jenkins, Gitlab, Scrum,
PostgreSQL SQL.
Développeur JAVA/Angular
Capgemini Lyon
4/2018 - 10/2018
Projet : Développement d&rsquoune application Web permettant aux ressources Manager de faire correspondre les
compétences sur les projets et celles sur des consultants.
➢ Conception de l&rsquoarchitecture de l&rsquoapplication API REST Spring Boot et un front en Angular 7
➢ Automatisation des environnements de développement avec Docker.
➢ Mise en place de la chaîne d&rsquointégration continue (Gitlab, Jenkins, Docker, sonar) sur des serveurs EC2 AWS.
➢ Création des pipelines pour le front Angular et le back Spring Boot.
➢ En charge de la revue de code et des déploiements en production.
➢ Configuration AWS : créations des utilisateurs, paramétrage des règles de filtrages d&rsquoIP, planification de
l&rsquoarrêt et du démarrage automatique des VMs de build à des plages horaires défini en utilisant les lambdas
d&rsquoAmazon Cloud Watch.
➢ Configuration respectives des Services SES, IAM, ECR, AWSCli pour l&rsquoenvoie d&rsquoemail depuis l&rsquoapplication, les
configurations des d...