[e-mail] [nom]
[lien] Ingénieur Backend Java | Spring Boot | Microservices | Kafka |
[téléphone]
Compétences
Backend
JAVA, SPRING (Core, Boot, Security, Data, Mvc, Batch).
API RESTful, SOAP et JSON
/ XML .
Sécurité
Keycloak, OAuth2.0, JWT,
LDAP/AD, SSO.
Frontend:
Javascript, Typescript, React JS
Concepts et méthodologies :
Architecture Microservices
SOLID/ TDD/ KISS/ BDD/
YAGNI
Design Patterns
DevOps
CI/CD, DOCKER, Jenkins, Github Actions
Base de données :
SQL : MySql, Sql Server, OracleDb
NoSQL : MongoDb
ORM : Hibernate, JPA
Message Brokers :
Kafka, RabbitMQ
Docker | CI/CD
Expériences professionnelles
Ingénieur Développeur Full Stack Java · Depuis déc. 2023
Crédit du Maroc Casablanca, Maroc
Projet SARII — Gestion des remboursements de crédits
Application bancaire de gestion des remboursements de prêts (impayés, rachat par anticipation, tableau d'amortissement) — en collaboration avec Wafa Salaf.
Concevoir et développer les APIs REST (Swagger) avec implémentation de la logique métier de débit de compte, vérification du solde et gestion des exceptions personnalisées (CustomException).
Sécuriser les endpoints via JWT, authentification LDAP et filtre anti-XSS (OWASP).
Développer les formulaires multi-étapes (Formik/React/Redux) avec intégration
Keycloak et interface Ant Design.
Stack : Java · Spring Boot · Spring Security · JWT · JPA/Hibernate · Oracle · React · Redux
- Keycloak · Swagger · GitLab
Plateforme de Gestion des Engagements et des Risques
Conception, développement et maintenance des microservices d’une plateforme de gestion des engagements sous Agile, avec application des pratiques PP, TDD.
Conception et implémentation de POCs pour anticiper les risques d’intégration.
Respect des bonnes pratiques : Clean Code, SOLID, KISS, TDD, revues de merge requests.
Réalisation de la documentation Swagger.
Support et TMA
Stack : Java 8, Spring (MVC, Boot, Security, Data, Cloud), Eureka Netflix, Docker, GitLab, Keycloak, OpenFeign, Swagger, Liquibase.
Reengineering de l'application CRSRSWEB
Contribuer à la migration technique complète : montée de version Java et JasperReports, migration de Spring MVC vers Spring Boot, avec maintien de la continuité de service.
Intégrer une solution SSO OAuth2.0 via Keycloak pour centraliser l'authentification et renforcer la sécurité applicative.
Refondre le module de gestion des profils en alignement avec les nouvelles exigences fonctionnelles et les standards de sécurité.
Stack : Java 8 · Spring Boot · Spring MVC · JPA/Hibernate · Oracle · Keycloak · LDAP/AD ·
Maven · GitLab
Compétences
Outils et environnement de développement :
Version Control : Git, GitHub, GitLab
Build Tools : Maven, Gradle
Containerization : Docker
Unit Testing : JUnit, Mockito
CI/CD Tools : GitLab CI, Github Actions
Langues
Arabe
Langue maternelle
Français
Courant
Anglais
Avancé
Expériences professionnelles
Ingénieur Développeur Full Stack Java · De mars 2023 à juil. 2023
Payment Center For Africa Casablanca, Maroc
Mise en place d'une application mobile – Secteur FMCG
Participer à l'étude d'impact et à l'analyse technique de la solution pour cadrer les choix d'architecture et anticiper les risques de développement.
Concevoir et implémenter la gestion des accès et des privilèges utilisateurs via Keycloak, en garantissant un contrôle fin des autorisations.
Développer les fonctionnalités de génération de bons de commande et de suivi des livraisons, couvrant l'ensemble du flux métier de bout en bout.
Stack : Java 8 · Spring Boot · React · React Native · JPA/Hibernate · Keycloak · REST API ·
MySQL · JUnit · Maven · Docker · GitLab
Projets Personnels
LeaveFlow — Plateforme SaaS Multi-Tenant de Gestion des Congés
Architecture microservices Spring Boot avec workflow d'approbation distribué.
Concevoir et développer 3 microservices Spring Boot (employee, leave, approval) avec bases PostgreSQL dédiées et modèle multi-tenant
Implémenter un workflow d'approbation orchestré selon le pattern Saga, avec communication événementielle Kafka et synchrone (OpenFeign)
Développer la logique métier des congés : calcul automatique des jours ouvrés, vérification des soldes, gestion de l'idempotence des événements
Mettre en place des pipelines CI/CD GitHub Actions (build, tests automatisés, images
Docker) publiés sur GitHub Container Registry, sur l'ensemble des microservices
Stack : Java · Spring Boot · Kafka · Saga Pattern · PostgreSQL · Keycloak/OAuth2 · OpenFeign
Code: [lien] (repos leaveflow-*)
BankCore — API Bancaire en Architecture Microservices
Projet portfolio démontrant la maîtrise de l'architecture microservices en contexte bancaire.
Concevoir et développer une plateforme bancaire de 6 microservices (client, compte, audit, notification, gateway, config) avec routage centralisé via Spring Cloud Gateway et configuration unifiée via Spring Cloud Config Server.
Mettre en place une architecture événementielle Apache Kafka pour l'audit asynchrone (3 topics métier).
Sécuriser l'ensemble des endpoints via Keycloak/OAuth2 (extraction des rôles depuis realm_access, gestion centralisée des exceptions HTTP)
Implémenter la communication inter-services synchrone (OpenFeign) et asynchrone
(Kafka) selon le niveau de couplage requis par chaque cas d'usage
Automatiser la génération mensuelle de relevés via Spring Batch et couvert les scénarios critiques par des tests unitaires et d'intégration
Containeriser l'ensemble via Docker Compose (multi-stage Dockerfile) et documenté les APIs via OpenAPI/Swagger
Stack : Java · Spring Boot · Spring Cloud Gateway · Kafka · Spring Batch · Keycloak/OAuth2 ·
PostgreSQL · Docker · GitHub
Code : [lien] (repos bankcore-*)
Diplômes et Formations
Ingénieur d'état : Management des Systèmes d'Information De sept. 2020 à août 2023
Ecole Nationale Supérieure Des Mines de Rabat Rabat, Maroc
Mention Très Bien
Classes Préparatoires aux Grandes Écoles : MP-MPSI · De sept. 2018 à juin 2020
Lycée Acharif Al Idrissi Taza, Maroc