
Mohamed ZITOUNI
Ingénieur logiciel Fullstack Senior | Java, Angular, Kafka, AWS
Salaire / Taux journalier
Paris, France
Mobilité : Île-de-France
Freelance
Peut venir sur site
Expertises
Langues
À propos
Introduction
Ingénieur fullstack avec 10 ans d'expertise en architectures microservices cloud-native Java/Angular et événementielles Kafka sur AWS. Spécialisé dans la conception et le déploiement de solutions scalables (Spring Boot, WebFlux, MSK Serverless) avec sécurisation avancée OAuth2/JWT. J'accompagne vos projets de la conception technique jusqu'à la mise en production, en garantissant performance, sécurité et qualité via TDD et Infrastructure as Code.
Expérience de travail
Expert fullstack Java/Angular/Kafka/AWS
NaTran (ex GRTgaz)
sept. 2024 - Présent
2 ans 2 mois
69340 Francheville, France
– Analyse des besoins métier en collaboration avec les Business Analysts et participation aux ateliers de cadrage fonctionnel. – Conception de l'architecture microservices cloud-native déployée sur AWS. – Définition des contrats d'API REST et des modèles de données MongoDB. – Conception d'une architecture événementielle basée sur Apache Kafka (Amazon MSK Serverless) pour supporter la scalabilité et le découplage des services. – Rédaction des documentations techniques (architecture, flux, sécurité, schémas d'intégration). – Développement des microservices gestion-astreinte et journal-de-bord avec Spring Boot 3/4 (Java 23/25). – Implémentation d'APIs REST sécurisées exposées via AWS API Gateway. – Mise en œuvre d'une architecture réactive avec Spring WebFlux. – Intégration Kafka (Spring Boot Kafka) pour la publication et la consommation d'événements métier (incidents, interventions, changements de statut). – Mise en place d'un flux événementiel Kafka (MSK Serverless) avec définition des topics et clés de partitionnement, consommation Spring Kafka et diffusion temps réel vers l'UI (WebSocket). – Implémentation d'un service de diffusion temps réel (WebSocket) alimenté par la consommation Kafka. – Développement de batchs Spring Batch pour la synchronisation des données référentielles. – Génération et archivage sécurisé de fichiers PDF sur AWS S3 (Object Lock / Legal Hold). – Mise en place d'une authentification basée sur JWT et OAuth2, intégrée au SSO via AWS Lambda. – Configuration avancée de Spring Security (RBAC, filtres personnalisés). – Sécurisation des APIs via API Gateway et CloudFront. – Déploiement des microservices sur AWS ECS (Docker). – Provisioning de l'infrastructure via Terraform (Infrastructure as Code). – Intégration d'Amazon MSK Serverless dans le VPC privé pour la gestion des flux événementiels. – Gestion des environnements DEV / STG / PROD et préparation des releases. – Supervision et troubleshooting des déploiements en production. – Développement des interfaces Angular 20 (consommation REST & flux temps réel). – Implémentation des tests unitaires avec Jest. – Mise en place de tests unitaires et d'intégration avec JUnit 5, Mockito, Testcontainers. – Tests d'intégration Kafka et validation des flux asynchrones. – Participation aux revues de code et amélioration continue de la qualité.
Ingénieur fullstack Java et Angular et Devops
BNP PARIBAS CIB CM
août 2021 - août 2024
3 ans 1 mois
Paris, France
– Création from scratch de batchs Spring et implémentation du Multithreading Java pour le traitement de données massives en production pour des clients spécifiques. – Développement d'un micro-service Spring Boot (hobart-sse-sm) pour connecter l'application au middleware NATS. – Migration de la version Java de l'application de Java 8 à Java 11. – Rédaction de scripts PL/SQL pour la création de fonctions, procédures, vues et triggers en base de données. – Implémentation des tests unitaires backend en Java avec JUnit 4. – Refactoring de la sécurité de l'application vers OAuth2 et JWT. – Études et implémentations de nouvelles fonctionnalités : Service Request Preview, Officier Manager Portfolio, Client Overview Module, Client Data Export, Workflow d'envoi des mails Four-eyes-check. – Migration du store Redux vers NgRx pour une meilleure gestion de l'état. – Implémentation des tests unitaires front-end en Angular avec Jasmine. – Migration des fonctionnalités front-end et amélioration des performances de l'application. – Implémentation de l'échange de messages en temps réel entre le front-end et le back-end avec Server-Sent Events (SSE) et NATS (broker de messages). – Mise en place de proxies: Apache2 et micro-service SSE entre les navigateurs et le serveur NATS déployé sur Kubernetes. – Mise en place des certifications TLS pour sécuriser le serveur NATS et le micro-service SSE. – Mise en place de la configuration pour la couverture des tests unitaires avec Jacoco et Sonar. – Automatisation du déploiement du serveur NATS sur Kubernetes en utilisant Helm Chart, Jenkins. – Création des templates Helm pour NATS et le micro-service hobart-sse-sm. – Configuration du cluster du serveur NATS sur Kubernetes en environnement de développement. – Configuration des AVI (Network Load Balancers) pour le serveur NATS et le micro-service hobart-sse-sm. – Monitoring du cluster NATS avec Grafana, Prometheus, et AlertManager pour la surveillance en temps réel. – Revue de code et suivi du respect des normes de codage à travers des revues régulières pour maintenir la qualité du code. – Adoption des principes du Software Craftsmanship, en mettant l'accent sur l'écriture de code propre, maintenable et évolutif, et en promouvant des pratiques comme le Test-Driven Development (TDD) et le Pair Programming pour améliorer la qualité et la collaboration.
Ingénieur fullstack Java et Angular
SMABTP
sept. 2019 - juil. 2021
1 an 11 mois
– Implémentation des pages pour les déclarations annuelles. – Évolution des pages pour la gestion des changements de contact et d'adresse. – Création des modèles de données et des tables SQL pour le projet Journal Technique. – Développement du batch de vérification et validation des contrats d'assurance. – Correction d'anomalies liées aux demandes d'attestation de chantier, batchs de mise à jour du parc automobile, et demandes de sinistres auto. – Migration des modules existants d'AngularJS 1.3 vers Angular 8 pour moderniser l'interface utilisateur. – Déploiement des releases sur les environnements d'intégration et de recette. – Gestion du code source des projets avec Git, SourceTree, Jenkins, et SonarQube.
Ingénieur Java EE et Angular
SAINT-GOBAIN DISTRIBUTION BÂTIMENTS
août 2017 - juil. 2019
2 ans
– Développement de nouvelles fonctionnalités pour le module de vente, incluant la création de commandes, devis, bons d'achat et la génération de rapports. – Correction d'anomalies liées aux commandes d'achat et à d'autres fonctionnalités du module de vente. – Tests et validation des nouvelles fonctionnalités, à la fois sur le front-end (Angular) et le back-end (Spring Boot). – Refactoring du code front-end (Angular, RxJS), avec mise en place de tests unitaires et respect des standards de codage (TSLint). – Mise en place des releases et déploiement sur les environnements d'intégration et de recette. – Élaboration de la documentation technique sur les bibliothèques et techniques de développement utilisées dans le cadre du projet. – Participation aux présentations de veille technologique et aux partages d'expérience au sein de l'équipe du projet "Atlas".
Ingénieur Java EE et Angular
TALAN TUNISIE
févr. 2016 - juil. 2017
1 an 6 mois
Tunis, Tunisie
– Rédaction de documents de conception technique générale et détaillée. – Contribution au dossier d'architecture technique du projet. – Définition de l'architecture cible, en appliquant le modèle de conception MVC et l'architecture N-tiers. – Sélection des frameworks et APIs à utiliser, incluant DAO, ORM, Web Services REST, et Spring Batch. – Conception d'une solution d'intégration de données (ETL) dynamique et générique. – Participation à la construction du backlog et à la priorisation des User Stories avec les MOA. – Implémentation des entités de persistance et gestion des accès aux données via JPA, Hibernate et EntityManager. – Analyse, conception et implémentation des fonctionnalités du module de bonus. – Développement de nouveaux services REST API pour l'application Android. – Mise en place de tests unitaires avec Spring Test. – Réalisation de tests croisés avec les membres de l'équipe, correction des bugs via Mantis pour le suivi des anomalies. – Participation aux audits de sécurité et aux formations sur les bonnes pratiques de codage sécurisé en Java et Angular 2. – Gestion des versions du projet avec Git et GitLab. – Mise en place d'un tableau de bord pour statistiques, reporting et exportation de rapports (PDF ou Excel) via Jasper Report. – Développement de tests unitaires avec JUnit. – Déploiement de l'application sur les environnements de dev et recette.
Formation
École National d'Ingénieurs de Tunis
Ingénieur en informatique, Génie logiciels
2013 - 2016
3 ans 1 mois
Institut supérieur de sciences appliquées et technologies de Gabès
Cycle préparatoire, Physique/Technique
2011 - 2013
2 ans 1 mois
Licences et certifications
AWS Certified Solutions Architect - Associate
Délivré le : janv. 2024
CKA Certified Kubernetes Administrator
Délivré le : janv. 2024