Aller au contenu

bacemhmoudi.com/developpeur-java-spring-boot-tunisie

Bacem Hmoudi, Tech Lead Java / PHP à TunisBacem HmoudiTech Lead Java / Spring Boot · PHP / Symfony

Développeur Java / Spring Boot freelance à Tunis

Tech Lead chez TEAMWILL depuis 2022, je définis l’architecture de nouvelles briques Java / Spring Boot, je pilote les interfaces d’un progiciel en microservices et j’encadre plus de 15 développeurs. Je suis ouvert à un poste à Paris, sur site ou en hybride, et aux missions freelance ou nearshore depuis Tunis.

Tunis, TunisieTEAMWILL

  • +15développeurs encadrés en tant que Tech Lead
  • −60 %de temps de réponse d’applications en production
  • −70 %de RAM et de CPU après une migration vers Azure
  • 3 moispour faire passer une plateforme sur Azure, sans dégrader le service

Ce que je construis

Des logiciels métier en Java, du besoin à la production

Java et Spring Boot au quotidien : je conçois de nouvelles briques en microservices, en DDD et en architecture hexagonale, et je pilote les interfaces d’un progiciel de gestion avec les partenaires du marché et les éditeurs externes, ainsi que sa GED.

Depuis 2022, je suis l’interlocuteur technique principal des projets, et le travail commence avant le code : comprendre le besoin, proposer une solution qui tient dans l’existant et l’estimer correctement. Ensuite je chiffre, je suis l’avancement et j’encadre l’équipe, revues de code et points techniques compris, jusqu’à chaque mise en production.

Côté Spring, j’utilise ce que le projet demande : Spring Boot 3, Spring Security pour l’authentification et les droits, Spring Batch pour les traitements de masse, Spring Cloud Gateway devant les microservices, JPA / Hibernate et MapStruct pour la persistance et le mapping, Resilience4j pour les appels qui peuvent échouer, OpenAPI pour documenter les contrats.

Les données suivent la même logique : PostgreSQL, MySQL, Oracle, SQL Server ou MongoDB selon le contexte, Redis pour le cache, Kafka quand les échanges entre services doivent être asynchrones, Flyway pour versionner les schémas. Côté interface, Vue.js, Angular ou React selon l’équipe.

Architecture, performance et conduite technique

  • Microservices, sans dogme

    Je découpe quand le domaine et l’équipe le justifient, pas avant : API gateway, Kafka quand les flux l’exigent, idempotence et outbox transactionnelle pour ne perdre aucun message.

  • Architecture hexagonale et DDD

    Le domaine au centre, protégé du framework et de l’infrastructure : c’est ainsi que je conçois les nouvelles briques, et Spring reste un détail d’implémentation.

  • Performance mesurée

    −60 % de temps de réponse sur des applications en production : un cache à deux niveaux, la refonte de l’export des données volumineuses, la correction des batchs lents sur gros volumes.

  • Interfaces robustes

    Des web services REST et SOAP vers les partenaires, les éditeurs externes et les SI des constructeurs : un adapter isolé par partenaire, ses formats mis en correspondance avec le modèle métier, la reprise des échanges en erreur, un disjoncteur et des flux journalisés.

  • Tests et qualité

    TDD, JUnit 5, Mockito et Testcontainers, couverture suivie avec JaCoCo, revues de code, documentation et cahiers de recette validés avant chaque livraison.

  • Cloud et livraison

    Docker et Kubernetes, Azure et AWS, pipelines GitLab CI/CD, Jenkins et GitHub Actions, Terraform : des environnements automatisés et des mises en production suivies de près.

Études de cas

Trois réalisations Java livrées, décrites sans nom de client : le contexte, ce que j’ai construit, les technologies et le résultat.

Les web services et les API externes d’un nouveau progiciel de gestion de concessions

Groupes de concessions automobilesDepuis 2022

Contexte

Des groupes de concessions automobiles remplacent leur progiciel historique par une nouvelle génération, en microservices. Elle doit échanger avec de nombreux partenaires du marché et éditeurs externes, et reprendre ce que faisait l’ancienne solution.

Ce que j’ai construit
  • Toute la partie interfaces, que je pilote : les échanges avec les partenaires et les éditeurs externes, de la conception à la production
  • Les interfaces avec des partenaires de financement et de services, des éditeurs et des organismes, l’archivage des documents et des données, et beaucoup d’autres API
  • Un connecteur isolé par partenaire, un adapter de l’architecture hexagonale : le domaine ne dépend d’aucun format externe
  • La correspondance entre les formats de chaque partenaire et le modèle métier
  • La gestion des erreurs et la reprise des échanges, la journalisation des flux pour le support
  • Des échanges asynchrones par Kafka entre les microservices
  • La reprise de l’existant : analyse du code et des fonctionnalités, à garder, à refaire ou manquantes
  • Des ateliers réguliers avec le client, la coordination avec les autres équipes et le contrôle des livraisons
Technologies
  • Java
  • Spring Boot
  • Microservices
  • Kafka
  • API REST
  • Web services
  • Architecture hexagonale
Résultat

Des interfaces livrées de la conception à la production, un connecteur isolé par partenaire, et des échanges en erreur repris plutôt que perdus.

La GED d’un progiciel de gestion : génération, indexation, archivage et signature électronique

Groupes de concessions automobilesDepuis 2022

Contexte

Le même progiciel produit et reçoit de nombreux documents, des bons de commande aux contrats et aux factures. Il faut les générer, les ranger dans le dossier du client et du véhicule, les retrouver, les archiver et les faire signer.

Ce que j’ai construit
  • La génération des documents à partir des données métier
  • Le stockage, le classement et l’indexation des documents du dossier client et véhicule, avec recherche
  • L’archivage numérique des documents et des données, par les interfaces d’archivage
  • La signature électronique : l’envoi des documents à signer, le retour des documents signés dans le dossier
Technologies
  • Java
  • Spring Boot
  • Microservices
  • GED
  • Signature électronique
  • API REST
Résultat

Une GED complète dans le progiciel, de la génération des documents à leur archivage, signature électronique comprise.

Une plateforme migrée vers Microsoft Azure en trois mois

Grand groupe industriel, France2024

Contexte

Un grand groupe industriel en France veut faire passer sa plateforme sur Azure, sans dégrader le service.

Ce que j’ai construit
  • Une étude de compatibilité et de faisabilité
  • Le refactoring des applications pour le cloud
  • Des scripts d’automatisation des environnements
  • Un suivi rapproché après la mise en production
Technologies
  • Azure
  • Docker
  • Java
  • PHP
Résultat

−70 %RAM et CPU

Une migration menée en trois mois, et 70 % de RAM et de CPU en moins grâce au refactoring pour le cloud.

Comment on travaille ensemble

Trois façons de travailler ensemble : un poste à Paris, sur site ou en hybride, une mission à distance depuis Tunis, ou une collaboration.

  • Poste à Paris

    Je suis ouvert à de nouvelles opportunités de Tech Lead ou d’architecte à Paris, sur site ou en hybride. Un poste ailleurs en France, en Europe ou en télétravail depuis Tunis reste possible.

  • Mission freelance

    Tech Lead ou développeur senior sur votre projet, en régie, au forfait ou en renfort d’une équipe existante : à distance depuis Tunis, en nearshore, et sur site pour les ateliers, les lancements et les mises en production.

  • Collaboration

    Un produit à lancer, une architecture à revoir, une IA à brancher sur vos données, un partenariat technique : le cadre se construit ensemble.

Pour le travail à distance, la Tunisie est à UTC+1 toute l’année : la même heure qu’à Paris en hiver, une heure de moins en été. Les échanges se font en français ou en anglais.

Mes autres expertises

  • Développement PHP / Symfony

    PHP / Symfony depuis 2017 : le portail d’un réseau de plus de 100 concessions migré de Symfony 1.4 à 5, avec sa GED, un ERP, des applications pour le secteur public.

    Approche et études de cas
  • Intégration de l’IA en entreprise

    En production : OCR et classification des documents, RAG avec sources, LLM auto-hébergés avec vLLM et agents IA, avec des garde-fous.

    Approche et études de cas