Wassim - Architecte TDD
Ref : 190925A003-
75016 PARIS
-
Développeur, Architecte (44 ans)
-
Totalement mobile
-
Freelance
EXPÉRIENCES PROFESSIONNELLES
Depuis Septembre 2016
BNP Paribas SIT Projet ORC – Architecte / Lead technique
RISK ORC IS : Refonte du système d'information de gestion des risques opérationnels
de BNP Paribas. Architecture Microservices ( Domain Driven Design )
Conception et implémentation de :
● un système d’authentification SSO basé sur des tokens JWT.
● un générateur de données du domaine pour des tests de performances.
● un système de reprise automatique de distribution des Domain Event
Messages.
Collaboration entre les équipes transverses pour la mise en place du Continuous
delivery.
Animation d’ateliers Event Storming.
Installation configuration du cluster Kafka (Dual Auth, SSL, ACL)
Encadrement des équipes des développeurs, craftsmanship :
● Garantir une bonne qualité du code et le respect des principes DDD.
● Respecter les méthodes TDD / BDD.
Environnement technique : Java 8, Spring Boot, Spring Cloud, Hibernate, kafka,
Oracle DB, Elasticsearch, Cucumber, Gherkin.
BNP Paribas SIT Projet TALEO– Architecte / Lead technique
Conception et développement d’une application pour la gestion de la mobilité interne, en
adoptant une architecture technique selon les principes du « Domain Driven Design ».
Conception de l’API.
Intégration (ACL) de l’application avec la solution de gestion des talents « TALEO ».
Intégration (ACL) de l’application avec « Edgahr » un système interne de gestion
d’utilisateurs.
Conception est implémentation d’un système d’authentification spécifique.
Conception est implémentation d’un module « d’alerting » par mail.
Participer activement à la détermination et à la mise en oeuvre des solutions :
Rédaction du dossier de conception à partir du dossier d’exigences (modélisation UML,
DDD)
Réalisation de prototypes (JAVA – framework Spring MVC) ou squelette d’applications
(contexte HTML5, CSS3, Bootstrap, Angular)
Développement des composants
Mise en oeuvre d'une architecture logicielle modulaires et réutilisable
Tests intégrations et recette technique des livrables
Rédaction et exécution des cas de test
Documents de déploiement (rédaction)
Dossier d’Installation, Dossier d’Exploitation
Environnement technique :
• Front end: Angular JS, Bootstrap
• Back end: JAVA/Web Service – Spring MVC, Spring Sécurity…
• BDD : Oracle
• Project : Agile (Scrum),UX, DDD
Environnement de développement : RAD 9 (IBM Websphere)
Janvier 2016 - Juillet 2016
JCDecaux – Référent technique
Mise en place d'un système d'authentification/identification entre plusieurs applications
(alternative SSO)
Audit de code
Refactoring
Formation refactoring
Automatisation de la livraison logicielle CI.
Environnement technique: Java/JEE, IntelliJ, JPA/EclipseLink, EJB, SVN/Git, Maven,
Oracle 11g, JIRA, Jenkins, Sonar, Spring Boot, AngularJS
Mars 2014 - Décembre 2015
ErDF – Référent technique
Audit de code
- Refactoring
- Coaching
- Encadrement des équipes de développement pour l'application de l'approche TDD.
- Développement d'une extension du framework Junit pour augmenter la productivité
des tests unitaires et des tests d'intégration
- Conception et développement d'un Framework spécifique de test (Linky-JDD) pour
augmenter la lisibilité des AT et faciliter leur écriture.
Insertion
Nettoyage
Validation
- Formation des équipes sur Linky-JDD
- Refactoring par l'exemple : Elaboration d'un ensemble de recettes de Refactoring
applicables sur le code existant en tenant compte de la spécificité de l'architecture
actuelle. L'objectif est d’améliorer la qualité du code et de préparer la migration vers
une architecture Microservices.
- Participation aux développements :
- Réalisation d'un POC Linky-DDD : implémentation d'un service en adoptant l'approche
DDD
- Application de gestion de compagne
- Mise en place de l'approche Double Loop TDD en utilisant le framework BDD
Cucumber VM.
- Formation des PO sur l'utilisation du language "Gherkin" du BDD.
- Encadrement des PO dans l'écriture des features cucumber .
POC 35 millions
- Une solution pour traitement et stockage de données de comptage (10 ko par
compteur) de 35 millions compteurs en moins de 2 heures,
Stockage compression / Sécurité / Scalabilité / Tolérance à la panne
SLA (problématique de performances) des services de lectures
Reprise automatique
MongoDB Casandra kafaka
- Microservices/CQRS
- Elaboration d'une stratégie de migration de données
Environnement technique: Java/JEE, Eclipse, JPA/EclipseLink, EJB, JMS (Weblogic
JMS), Weblogic Server, SVN/Git, Maven, OSB, Bpel, XSLT, Oracle 11g, JIRA, Jenkins,
Sonar, Spring Boot. MongoDB, Morph
Octobre 2009 – Février 2014
4
Architecte / Concept Technique JEE
GROUPE MALAKOFF-MEDERIC – Site e-commerce
******** Souscription 100% en ligne des Produits
Mutuelle Santé et Prévoyance.
Le site e-commerce de Malakoff Médéric a été récompensé aux Trophées de la
Communication 2010, catégorie Meilleur site Internet des Grandes Entreprises.
Développement (Back-Office et Front-Office) et lancement du site e-commerce
d’assurance santé « Malakoff-Médéric » : création et enregistrement de devis,
génération automatique de bulletin d’adhésion, souscription et paiement en ligne.
Refonte du site e-commerce et Intégration de cinq produits prévoyance : Assurance
Blessures, Assurance Familiale Accident, Garantie Obsèques, Assurance Décès et
Assurance Prévoyance Evolutive.
● Réalisation des fonctionnalités suivante
o Moteur de tarification dépendant du profiling dynamique.
o Gestion et modification des gammes de produits (prix, garanties,
cadeaux).
o Génération d’emails automatiques à destination des clients et des
administrateurs.
o Fonction transverse (Back-Office) d’exports de données.
o Outils avancées de gestion de contenu.
o Intégration du processus e-commerce au sein des outils statistiques.
● Intégration de la solution AB Testing
● Création d’un système de gestion de promotions avec et sans codes.
● Conception et création d’un module applicatif pour l’intégration de la solution
ABtesting proposée par Google Analytics dans la boutique en ligne.
● Création d’un système de relance client avec gestion du contenu.
● Intégration de la solution de signature électronique (solution partenaire
Keynectis) en mode asynchrone :
● Mise en place du système de certification distant.
● Développement d’un switch de sécurité automatique en cas d’échec de
signature.
● Intégration de la boutique dédiée ******** au sein du parcours client
(solution partenaire Atos/SIPS avec template spécifique).
● Intégration d'un nouveau parcours du produit Prévoyace Cancer.
● Mise en place d'une solution de haute disponibilité (JBoss Application Server
Clustering).
● Mise en place de la norme SEPA et integration du SWIFT WEB SERVICES.
● Rédaction des cahiers de spécifications techniques.
ENVIRONNEMENT Struts2, Spring 3, Hibernate 3.5, JAX-WS, JavaMail,
Quartz, iText, JBoss 5, Eclipse, Maven, Jenkins, Solar, Junit, JMock.
Avril 2009 à Septembre 2009
********
Architecte/Concepteur Technique J2EE, Liferay
Intégration d’un portail « LIFERAY » d’outils collaboratifs dans un environnement SaaS
de gestion d’enquête
● Proposition de solutions de synchronisation réparti de l’annuaire de l’entreprise
entre la plateforme AYN, le serveur LDAP et Liferay (Reseau de petri et MDA).
● Conception, réalisation du module de synchronisation.
● Reverse-engineering de Liferay : analyse des modules logiciels de Liferay et de
leurs fonctionnements.
● Adaptation du portail Liferay à la politique de gestion de client de la platforme
AYN.
● Préconsation de choix de solutions techniques pour l’architecture des portlets
à développer.
● Conception, réalisation d’un portlet de gestion de ticket.
● Conseil en NTIC auprès de responsable informatique.
● Rédaction du cahier de charge, du cahier de spécification fonctionnels et du
cahier de spécifications techniques.
ENVIRONNEMENT J2EE, Liferay, JSR 168, JSF, ICEFaces, Hibernate, JPA,
UML, LDAP, Portlet, XML, Eclipse, Ant, Log4J
Mars 2008 à septembre 2008
SAGEM
Architecte/Concepteur Technique WEB/J2EE :
Développement d’une application serveur de monitoring de compteurs d’énergie à
grande échelle pour les fournisseurs d’énergie (EDF, GDF...). Automatisation de la
collecte des données (relevé de la consommation, température) et de télé surveillance
(9 mois):
● Préconisation de choix de solutions techniques pour l’Architecture Générale du
projet
● Participation à l’élaboration du document des spécifications
fonctionnelles.
● Mise en place d'outils d'ingénierie logicielle pour industrialiser le
développement Agile et d’intégration continue
● Conception, réalisation d’un algorithme de répartition temporaire de
connexions.
● Conception, réalisation d’API JAVA de connexions pour les protocoles : TCP/IP,
GPRS, GSM/DATA, SMS.
● Définition, conception et réalisation d’un bundle de gestion de connexions : «
Connection Manager ».
● Définition, conception et réalisation d’un bundle d’ordonnancement : «
Scheduler ».
● Respect des contraintes fortes de performances
● Conception, réalisation d'une couche Virtual TCP.
● Encapsulation du module « Virtual TCP » dans un bundle java par le billais de
la technologie JNI et du design pattern Proxy.
● Conception et réalisation du bundle de la persistance (Hibernante/JPA).
Encadrement en développement JAVA.
ENVIRONNEMENT J2EE, EJB3, OSGI, JPA, Hibernate, Spring DM, Log4J,
Shell Linux, JNI, Netbeans, SVN, Maven, bugzilla, SOAP, DP (Factory,
Strategy, Singleton, Proxy, Iterator, DAO), Multithreading, Tomcat, TCP/IP,
GPRS, GSM/DATA, SMS
Décembre 2007 à Mars 2008
Développement d’une Application De Suivi Des Demandes D’achat (4
mois) :
● Rédaction du cahier de charge.
● Elaboration des documents des spécifications fonctionnelles et techniques.
● Formation des personnels sur « Application De Suivi Des Demandes D’achat ».
● Correction des bugs.
ENVIRONNEMENT Hibernate, GWT, Web2.0, Eclipse, bugzilla.
Février 2007 à Novembre 2007
Application serveur frontal pour la gestion d’un parc de compteurs d’énergie
(électricité, gaz,...) pour l’opérateur indépendant d'électricité et de gaz
POWEO (9 mois):
● Elaboration de l’architecture technique.
● Rédaction de document des spécifications techniques.
● Conception, réalisation de composant Web 2.0.
● Rédaction de documents techniques (Cahier de recette, Manuel d’installation).
● Conception et réalisation des modules « Connexion manager – Logger
manager – Push manager – Alert Manager – Configure manager »
● Conception et implémentation d’algorithmes (optimisation, recherche,
sélection, sauvegarde, trie).
● Conception et réalisation de module de templateing.
● Développement de scripts de paquetage pour l’installation et la mise à jour.
● Transfert de compétences vers l’équipe projet interne (outils et méthodes de
travail utilisés, structure du projet).
● Intégration de l’application au niveau du système d’information du client «
POWEO ».
● Formation et support de l’équipe Poweobox pour effectuer les tests unitaires.
● Formation du client sur l’interface d’administration.
ENVIRONNEMENT MVC, DAO, PHP, Mysql, Linux, Apache, Ajax, XHTML,
CSS, JavaScript, MD5, DES, UML, DAO, Système de sauvegarde, Déclarative
Template.
Janvier 2006 à janvier 2007
SAGEM Enrichissement du système d'information interne
Conception et réalisation d’un Framwork de gestion de Processus Métier « FPM
».
● Conception et réalisation d’un « Workflow Engine ».
● Définition, conception et réalisation de composant Web 2.0.
● Définition conception et réalisation d’un module de sécurité Web.
● Réalisation de l’ « Application De Suivi Des Demandes De
Modification Des Sites Web » : SDMW.
● Réalisation de l’application « Sagem Technical Request Center » :
STRC.
● Réalisation de l’ « Application de Demande d’Accord » : ADA.
● Réalisation de l’ « Application Retour en Atelier Télévision » : ARAT.
● Elaboration des documents des spécifications fonctionnelles et
techniques.
● Elaboration des manuels d’utilisation client.
● Support des clients.
● Conception et réalisation d’un connecteur Ebay-SAP.
● Développement d'une application de gestions des équipements
ENVIRONNEMENT Liferay, Struts, Hibernate, SOAP, XML, XSLT, MVC2, DAO,
TO, Gestionnaire de sécurité, MD5, PHP, Apache, XHTML, CSS, JavaScrip.
Septembre 2004 à Décembre 2005
Freelance
Ingénieur Recherche et Développement JAVA/J2EE
● MiniCRM Jardinage. (3 mois) Application Web de gestion de la relation
client pour une entreprise de jardinage. ENVIRONNEMENT Struts, JSP,
Ajax, JDBC, DAO, TO.
● RESMA : Gestion et simulation 3D de sites archéologiques (6 mois)
Conception et implémentation d’un moteur 3D : lumière, couleur, alpha, objet,
face, translation, rotation, dimensionnement (scale)
● Gestion du parc, Export GIF/JPG/PNG, Impression, Import/Export
DB. ENVIRONNEMENT UML, MVC, Java, Java2D, Log4J, SWT, SQL, JDBC,
DAO, HSQLDB, UML, 3D. TWEEDOO (3 mois)
● Application pour le traitement des radios panoramiques.
ENVIRONNEMENT Java, Java2D, SWING.GStock (3 mois)
● Application de gestion de stock : client, fournisseur, article, bon d'entrée,
bon de sortie, historique, inventaire. ENVIRONNEMENT Delphi, Oracle,
Easy Motor Monitor (3 mois)
● Surveillance de l’état d’une machine de production alimentaire.
ENVIRONNEMENT Visual Basic 6, RS232.
Projet personnel
Applications Java
● WAVA : Editeur de langage (JS, HTML, XML, INI, CSS...)
TALN : Composants EJB de TALN.
● FHUpload : Fast Http Upload Applet : client HTTP (transfert rapide de fichiers)
● SMS : Simulateur d’une Machine Simple d’architecture Von Neumann.
● WViewer : Workflow Viewer.
ENVIRONNEMENT Java, SWING, Multi-Threading, Socket, XML, Java2D,
EJB, Automate, Observer Jeux FLASH BlackMan, PacMan, RacketBall
ENVIRONNEMENT Flash MX, ActionScript.
FORMATIONS
2004 - diplôme d’ingénieur informaticien, Ecole Nationale d'Ingénieurs de Sfax, Tunisie.
2007 - Formation OSGI Prosyst : Architectures orientées services (SOA). Chargement dynamique.
2008 - Formation J2EE : EJB3, JSF, JPA, JAX-WS, Struts, JSF, Hibernate, Spring.
2009 - Mastère 2 Professionnel Systèmes informatiques & Ingénierie des applications Réparties : UPMC Paris 6 (Université Pierre et Marie Curie).
2014 - Formation Domain Driven Design
2018 - Devenir Coach Professionnel : Linkup Coaching - EventStorming Master Class, by Alberto Brandolini,
22019 - Formation Kafka : Confluent Operations
COMPÉTENCES
DOMAINES TECHNIQUES
Méthodes/Approches :
Domain Driven Design (DDD), Behavior Driven
Development (BDD, Gerkin, Cucumber), Test Driven
Development (TDD), RestFul API, Microservices,
DevOps, Clean code, Clean architecture.
Java :
Java 8, Hibernate, jOOQ, Spring Boot, Spring Cloud,
Spring Security, Spring Batch, Spring MVC , EHCache,
Quartz, iText, JPA, JAX-WS, RestFul, JMS, Kafka, Java
Concurrency, Junit, Mockito.
Bases de données :
MySQL, PostgreSQL, Oracle, MongoDB, Casandra,
Elasticsearch.
Outils de développement : Ant, Maven, Jenkins, Sonar, SVN, Git, Eclipse,
Itelliji, Nexus, Ansible.
Système/Réseaux : Linux, TCP/IP, FTP, HTTP, Peer-to-Peer, Cloud, SSL.