Ghassen Khalil - Chef de projet JAVA
Ref : 170109A001-
92700 COLOMBES
-
Chef de projet, Développeur, Product Owner (33 ans)
-
Télétravail si le client est à plus de 2h de son domicile
-
Bientôt freelance
EXPERIENCES PROFESSIONNELLES
Projet Perso Projet: Spring Cloud micro-services Starter Kit
Contexte : Il s'agit d'un socle technique composé par des micro-services (APIs),
une gateway, un service-registry (Eureka) et un frontend déployés sur AWS
Elastic Kubernetes Service via un Pipeline Jenkins.
Réalisation :
- Création des APIs (Spring Boot)
- Mise en place d’Eureka comme étant un service-registry pour le loadbalancing des APIs
- Mise en place de Spring Cloud Gateway qui permet de filtrer /
acheminer les différentes requêtes venant vers les APIs
- Customisation de la configuration de NGINX pour définir les routes
vers la Gateway
- Création des Jenkinsfile pour :
o Génération des artifacts
o Builder les images Docker
o Pusher les images dans un Docker Registry (DockerHub)
o Générer les manifests Kubernetes (deployment, service,
configmap, statefulset, …)
o Déployer les différentes ressources via JKube
- Création de jobs Jenkins pour la création / suppression du cluster
EKS via la commande line eksctl
- Mise en place de Jenkins et Nexus Factory sur des instances AWS
EC2 via le launchpad Bitnami.
Tech Lead | Freelance � | Java | Spring | Angular | DevOps
- Attribution des adresses IPs fixe pour les instances EC2 avec Elastic
IP
- Troubleshooting des différentes problématiques rencontrées
- Project management & documentation via Jira et notion.so
Environnement
Technique :
Java 11, Spring Boot, Spring Data, MongoDB, Spring Cloud, Feign, Netflix
Eureka, Architecture Micro-services, Rest, Angular 10, Redux (NGRX), NDBX,
Maven, JKube, Jenkins pipelines, CI/CD, Kubernetes, Docker, AWS, Bitbucket,
Jira, IntelliJ
Avril 2022 –
Aujourd’hui
THALES DIGITAL FACTORY
Tech Lead | Java | Spring | Angular | DevOps
Contexte: Accélérer la transformation digitale de Thales et de ses clients à
travers le monde sur une plateforme publique et privée : Plateforme digitale et
logicielle propulsée par Thales Digital Factory
Réalisation:
- Coaching de développeurs full-stack juniors issus d'autres écosystèmes que
Spring / Angular
- Réviser et refactoriser la base de code pour améliorer la qualité et les
performances
- Conception de nouvelles fonctionnalités du produit et prise de décision pour
les architectures techniques
- Utiliser Azure comme Cloud provider pour profiter de son large panel d'outils
tels que AppService, AKS, Azure Active Directory, Storage, Networking, etc...
- Animation et planification de réunion
- Développer de nouveaux services pour les utilisateurs permettant d'utiliser
l'usine logicielle de manière fluide.
- Permettre une facturation fiable des utilisateurs
- Développer des fonctionnalités permettant de suivre l'utilisation des différents
services pour en tirer des enseignements et améliorer les services Thales Digital
Factory
- Mettre en place un tableau de bord de suivi pour suivre les indicateurs clés
tels que le SLA et l'utilisation.
- Tenez compte des commentaires des utilisateurs lors de la création de
nouvelles fonctionnalités
- Créer et exécuter des services
- Contribuer à développer la communauté innersource
- Collaborer avec les autres équipes de la Software factory sur le déploiement
de nouveaux services
- Accélérer la transformation digitale de Thales et de ses clients à travers le
monde sur une plateforme publique et privée: Digital and Software platform
powered by Thales Digital Factory
Environnement
technique :
Java, Spring, Angular, Redux pattern (NgRx), Material Design, Docker,
SonarQube, Gitlab (CI, Runners, Boards, etc ...), Python, Pipelines, Terraform,
API & micro-services, Azure Cloud, shell scripting, BillOps
Octobre 2021 –
Mars 2022
ENEDIS
Développeur Senior FULLSTACK Java 11 / Angular 10
Projet: Portail Développeur
Contexte : Réalisation d’un portail développeur qui s’interface dans un premier
temps avec le portail mis en place pour les collectivités locales. Il permettra
Tech Lead | Freelance � | Java | Spring | Angular | DevOps
d’inscrire la découverte et la souscription aux API dans les parcours utilisateurs
depuis des différents espaces clients. Il offrira aux collectivités les fonctions
minimales pour la souscription aux APIs Colloc.
Réalisation :
Frontend :
- Développement des IHMs (screens) en se basant sur les maquettes
sous Figma fournies par les UX/UI
- Définition de l'architecture / structure des composants (components)
Angular
- Utilisation du pattern Redux (action -> reducer -> store -> UI) avec
NgRx
- Utilisation de la librairie Angular Material
Micro-services :
- Écriture des spécification des APIs (api.yaml) pour la génération des
endpoints via OpenApi 3.0 (Swagger)
- Mise en place de la gestion des exceptions / erreur et la remontée
pour le frontend via un @ControllerAdvice
- Communication avec d’autres services externes tel que WSO2, API
COLLOC LINC via les « chorégraphies »
- Développement d’un « Producer » Kafka pour la création des
utilisateurs (collectivités) dans WSO2
- Élaboration d’une liste de flux (entrants et sortant) pour établir les
autorisations nécessaires au niveau du WAF
Environnement
Technique :
Java 11, Spring Boot, Kafka, Rest, Angular 10, Redux (NGRX), Maven, Jenkins
pipelines, CI/CD, Kubernetes, Docker, GitLab CI, Agile Scrum, Jira, Confluence,
IntelliJ
Juin 2017 –
Aujourd’hui
Allianz France
Développeur Fullstack Java 11 / Angular 8 / DevOps (AWS, Docker, OpenShift)
Projet : Access MidCorp (oct. 2019 – aujourd’hui)
Contexte : Il s'agit d'un parcours digital permettant de proposer des produits d'assurance
commercialisés par Allianz aux entreprises des segments Pro pour le multi-site et le bas
de segment du MidCorp, pour couvrir des risques impactant leur activité. Le terme Access
fait référence au "bas de segment". qui permet une informatisation et délégation des
produits.
Réalisation :
- Développements des écrans / IHM en se basant sur des maquettes respectant les
guidelines de NDBX
- Développement de l’ouverture d’un espace pour la signature numérique du contrat :
appel aux services exposé par DOCAPOST via l’orchestration des appels aux services
ESB
- Configuration des environnements (Dev, Integ, R7, pré-Prod, Prod)
Environnement technique : Java 11, Spring Boot, Spring Cloud, Netflix Eureka Zuul,
Architecture Micro-services, Rest & Soap WS, Angular 8, NDBX, MongoDB, Redis, ,
Maven, Jenkins pipelines, CI/CD, Openshift, Kubernetes, Docker, AWS, Bitbucket, Agile
Scrum, Jira, Confluence, IntelliJ
Projet : Fast Claims (fév. – oct. 2019)
Contexte : Dans le cadre de digitalisation des applications destinées au grand-public
chez Allianz France, le projet Fast-Claims Auto a pour objectif la refonte du parcours de
déclaration des sinistres autos pour les client de la compagnie.
Réalisation :
- Développements des écrans / IHM en se basant sur des maquettes respectant les
guidelines de NDBX (framework qui définit l'identité graphique d'Allianz sous forme de
composant réutilisable sous Angular 7)
- Ateliers conception et desing UI / UX
- Choix de l’architecture technique des différentes briques du projet
- Élaboration du dossier de livraison pour la DP
- Développement de la partie Backend (mutli-module maven, JavaConfig, tokenisation
des urls pour les services fournis par d'autre systèmes applicatifs, micro-services ABS)
- Externalisation des parties communes dans d'autre projets appelables sous forme de
dépendance maven partagés sur Nexus: composants graphiques, code fonctionnel,
configuration techniques et appels aux services externes communs entre ce projet et
d'autres projets dans la squad
Environnement technique : Spring Boot, Angular, NDBX, PatternLab, Zeplin, Sketch,
InvisionApp, Rest & Soap WS, Maven, Jenkins, CI/CD, Agile Scrum, Jira, Confluence,
IntelliJ, Allianz Business System
Projet : Devoir de conseil – Duty of Advice (jan. 2018 – fév. 2019)
Contexte : Projet réglementaire sur le devoir de conseil qui oblige les professionnels du
métier d'assurance de garantir un certain niveau de protection aux clients en leurs posant
des questions permettant de cerner leurs profils en terme de prise de risque et de
connaissance en matière de finance du marché
Réalisation :
LOT 1:
- Relecture et révision de la spec. fonctionnelle et la CTD élaborés respectivement par le
métier et l'AMOA
- Réunions de travail avec les différentes partie prenantes : métier, composantes
techniques (éditique, moteurs de calculs de règles, équipe dev frontend pour le Lot 1, etc
... )
- Développement des repositories pour la couche CORE afin de restituer les données de
la base.
- Développement des services dans la couche BUSINESS pour les règles métiers
- Développement d'un module de transcodification entre le modèle de données du
backend et le modèle attendu par l'équipe éditique en suivant une XSD.
- Gestion des appels du composant éditique pour la génération des contrats sous forme
de PDF
- Interaction avec le composant GED pour le stockage et la restitution des documents
générés
- Exposition d'un web-service SOAP consommé par un autre système applicatif qui gère
la rémunération
- Correction des anomalies et développement des "Change Requests »
LOT 2:
- Développement d'un écran synthétique pour le contrat en cours
- Développement des services back & front pour la recherche des actes sauvegardés sur
un contrat
- Développement d'un service pour un écran qui synthétise les détails des allocations
après l'application d'un acte souhaité
- Développement de la signature numérique d'un contrat d'actualisation : appel aux
services exposé par DOCAPOST via l’orchestration des appels aux services ESB
- Correction des anomalies signalées par le métier
Environnement technique : Java 8, Spring Framework, Design Patterns, IBM DB2, H2
Embedded DB, Angular 6, Jenkins, JIRA, Confluence, Intellij IDEA, HP ALM Quality
Center
Projet : PRIIPS (juin. 2017 – janv. 2018)
Description : La réglementation européenne PRIIPs (Packaged Retail Investment and
Insurance-based Products) vise à uniformiser l’information précontractuelle des produits
financiers packagés (fonds d’investissement, produits dérivés, produits d’assurance vie en
mode épargne, etc.) proposés à des investisseurs non professionnels
Contexte :
La réglementation européenne PRIIPs (Packaged Retail Investment and Insurance-based
Products) vise à uniformiser l’information précontractuelle des produits financiers
packagés (fonds d’investissement, produits dérivés, produits d’assurance vie en mode
épargne, etc.) proposés à des investisseurs non professionnels
Réalisation :
- Élaboration de la Backlog pour la partie Batch et IHM
- Élaboration des diagrammes d'activités
- Développement des traitements Batch pour les phases de prototype et production des
documents PRIIPS (KID et DIS)
- Développement des batchs pour les phases de prototype et production des documents
(univers d'investissement, document clé d'informations, support ..)
- Développement de la couche d'accès aux données avec Spring JDBC
- Développement de la couche business (services)
- Développement des écran d'affichages des différents produits d'assurance et leurs
documents PDF
- Correction des anomalies et réalisation des "Change Requests"
Environnement technique : Java 8, Spring (Batch, Core), Design Patterns, IBM DB2, H2
Embedded DB, AngularJS, IntelliJ, Jenkins, Draw.io, Confluence, Intellij IDEA, HP ALM
Quality Center
Pawo Partners Ingénieur études et développement / Devops Octobre 2016 à Aujourd’hui
Projet : Conception et développement d’une solution Front-Office et Back-Office de gestion d’hôtels et de réservations.
Tâches réalisées :
Rédaction des spécifications techniques & fonctionnelles
Choix d’architecture technique
Coordination avec le Product Owner
Réalisation des maquettes
Elaboration des diagrammes (cas d’utilisation, séquences, classes, etc…)
Suivi du planning
DevOps :
Installation de Jenkins
Création des jobs pour l’intégration continue
Equipe-projet : 1 chef de projet, 1 Scrum master, 1 Project Owner, 1 équipe de développement de 6
Environnement : NodeJS, Angular2, MongoDB, UML, Agile SCRUM, Jenkins, Ubuntu
ZEN (Industrie) Ingénieur études et développement / Devops Mai 2016 à Octobre 2016
Projet : Conception et développement d’une application web (JEE) de contrôle d’accès et pointage Tâches réalisées :
Développement de la couche d’accès aux données
Développement des services pour la communication avec une pointeuse ZKTeco via l'interface de son SDK (composant DLL ActiveX)
Développement de la couche présentation
Application des design patterns Simple Factory, Observer et Strategy
Utilisation des Mutex pour la synchronisation des accès concurrents aux ressources partagées
Code review avec SonarQube
Tests unitaires
Migration des données depuis PostgreSQL vers MySQL avec Talend Open Studio
Support et assistance en production
DevOps, intégration et déploiement continus :
Orchestration des jobs Jenkins
Configuration des images, containers et VE pour Docker.
Equipe-projet : 1 chef de projet, 1 architecte, 1 Scrum master, 1 Project Owner, 1 équipe d’intégration,
1 équipe de développement de 4 (un leader Technique et 3 développeurs), 1 testeur
Environnement : Java 8, PrimeFaces, JSF, Jacob, Spring Security, Design Patterns, JUnit, MySQL
Workbench, pgAdmin PostgreSQL, Tomcat 8, Eclipse Luna, Balsamiq Mockups Jenkins, Docker, Talend
Open Studio, Nexus, SonarQube, Git, Maven, Windows 7, Redmine, Agile Scrum.
PrintSecure
Ingénieur études et développement
JAVA/Android Août 2015 à Avril 2016
Projet : Conception et développement d'une application web (JEE) / mobile (Android) pour la
géolocalisation des véhicules et des smartphones
Tâches réalisées :
Participation à la définition du cahier des charges et des exigences techniques et fonctionnelles.
Développement d'un prototype d’application Android pour l'envoi des informations (position et
vitesse actuelles) en temps réel et différé
Développement d'une application web pour le suivi des véhicules et terminaux en temps réel et
la gestion des : dispositifs, utilisateurs et alertes de dépassement de zones et de vitesse
Application des design patterns Simple Factory et Observer
Code review avec SonarQube
Tests unitaires
DevOps :
Orchestration des jobs Jenkins
Intégration continue, déploiement continu, mise en production
Equipe-projet : 1 chef de projet, 1 architecte, 1 super Scrum master, 1 Project Owner, 1 équipe
d’intégration, 1 équipe de développement de 4 (un leader Technique et 3 développeurs), 1 testeur
Environment: Java 8, Spring Security, PrimeFaces, JSF, MySQL, Tomcat, Design Patterns, REST WS,
Android SDK, Android Studio, Eclipse, Jenkins, Docker, Nexus, SonarQube, Git, Maven, Gradle,
Windows 7, Redmine, Agile Scrum.
Clymene Gestion
Ingénieur études et développement JAVA EE Juin 2014 à Août 2015
Description du projet : Conception & Développement d’un Front Office pour la saisie des demandes de
financement.
Tâches réalisées :
Etude et compréhension du métier du leasing financier
Participation à la définition du cahier des charges et des exigences techniques et fonctionnelles
Prototypages et développement des interfaces graphiques
Elaboration du modèle conceptuel de données
Développement de la gestion des rôles et d’authentification
Développement d’une solution pour la génération dynamique des documents (contrats, devis, …)
Tests unitaires
Documentation technique
Equipe-projet : 1 Product Owner, 1 architecte, 4 développeurs,
Environnement: Java 7, Spring MVC, Spring Security, JUnit, Apache FreeMarker, iText, Pencil, Ubuntu, SVN, Maven, Eclipse, Jenkins, SonarQube, JIRA, Agile SCRUM, TestLink, Subversion, Oracle 10g, PowerAMC
Business Software Développeur Android Janvier 2014 – Mai 2014
Projet : Développement d’un client Android pour l’ERP BS-Négoce.
Tâches réalisées :
Définition des spécifications et des exigences.
Backend :
Développement d'une API RESTful pour l'authentification, la gestion des clients, fournisseurs et du stock ainsi que la consultation des statistiques (chiffre d’affaires, clôture de la journée, etc…)
Frontend :
Création des IHM en XML
Développement des modules pour la gestion du stock, des clients et des fournisseurs.
Développement d’un module de visualisation de statistiques avec l'API AChartEngine
Test et validation
Documentation technique
Equipe-projet : 1 chef de projet, 2 développeurs
Environnement : Eclipse ADT, Android API 13, PHP, REST web services, SQLServer, AChartEngine, LDAP, Rational Rose
FORMATIONS :
10/2016 – 03/2017 Master 2 spécialité Systèmes Embarqués, Mobiles et Sûres au Conservatoire National des Arts et Métiers de Paris
09/2012 – 09/2015 Diplôme National d’Ingénieur en Génie Logiciel à l' Institut International de Technologie en Tunisie
09/2009 – 07/2012 Licence Fondamentale en Informatique et Multimédia à l'Institut Supérieur d’Informatique et Multimédia de Sfax
COMPETENCES :
Génie logiciel : Analyse des besoins, conception, réalisation, tests unitaires, tests d'intégration, validation, documentation, maintenance, design pattern, architecture SOA
Langages de programmation : Java, C/C++, C#, Delphi, SQL/PL-SQL, JavaScript, PHP 4/5
Framework : Java Enterprise Edition, Android SDK, Spring, PrimeFaces,Hibernate, Angular2
Développement web : HTML, CSS, JavaScript, Ajax, JSF, PrimeFaces
Outils : Eclipse, Android Studio, Visual Studio, Embarcadero XE, Brackets,SQL Server Management Studio, MySQL Workbench, Maven,Gradle, Talend Open Studio
Serveurs d’application : Apache Tomcat, JBoss
Serveur Web : Wamp, EasyPHP
Gestion de versions : Git, SVN
Qualité de code : SonarQube
DevOps : Docker, Jenkins, Nexus Repository
Architecture : REST, SOAP (WSDL), MVC
Méthodologie de conception : UML 2.0
SGBD : SQL Server, MySQL, Oracle, pgAdmin PostgreSQL
Gestion de projet : Redmine, JIRA, Agile Scrum