Aller au contenu

bacemhmoudi.com/developpeur-php-symfony-tunisie

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

Développeur PHP / Symfony freelance à Tunis

PHP est mon langage de départ : depuis 2017, je construis des logiciels métier avec Symfony, de la version 1.4 à la 5. Je suis ouvert à un poste à Paris, sur site ou en hybride, et aux missions freelance ou nearshore depuis Tunis, pour des équipes en France et en Europe.

Tunis, TunisieTEAMWILL

  • 9 ansde logiciels métier, en PHP depuis 2017
  • +100concessions sur un portail Symfony porté seul près de trois ans
  • +7 000utilisateurs actifs sur ce même portail
  • 1.4 → 5la migration de Symfony sur ce portail, en passant par la 4

Ce que je construis

Des logiciels de gestion en Symfony, neufs ou existants

Depuis 2017, Symfony est mon outil de travail pour les logiciels de gestion : le portail d’un réseau de plus de 100 concessions, un ERP, des applications pour le secteur public, des sites web et leurs versions mobiles.

Une bonne partie du travail porte sur l’existant, et c’est souvent là que tout se joue : stabiliser une production, migrer un portail de Symfony 1.4 vers Symfony 4, puis Symfony 5, sans arrêter les évolutions demandées par ses utilisateurs, reprendre un code pour le nettoyer et l’optimiser, intégrer des web services existants.

Sur un projet neuf, je prends le sujet au moment où le besoin se discute : cahier des charges, ateliers avec le client, conception dès le départ, puis un back-end Symfony qui expose des API REST et un front-end Vue.js, ou Angular selon l’équipe. Je suis l’avancement et je contrôle chaque livraison.

Symfony vit rarement seul : sur mes projets, PHP cohabite avec Java et Spring Boot, échange avec les systèmes d’information des partenaires par web services, et tourne dans Docker, jusque sur Azure.

Migrations, architecture et conduite technique

  • Migrations de version

    De Symfony 1.4 à Symfony 5 sur un portail en production, en passant par la 4 : la production stabilisée, puis le framework migré, avec une mise en production à chaque release.

  • Architecture hexagonale et DDD

    Des modules organisés autour du domaine : le métier découplé du framework et de la base de données, des ports et des adapters pour tout ce qui touche à l’extérieur.

  • Tests et recette

    Des tests unitaires automatisés avec PHPUnit, des revues de code, la documentation technique et des cahiers de recette validés avant chaque livraison.

  • Interfaces robustes

    Web services REST et SOAP vers les ERP et les SI des partenaires et des constructeurs, la GED d’un portail (génération, indexation, archivage numérique, signature électronique), des interfaces GED et d’archivage, des flux rattachés à plusieurs comptes.

  • Conduite technique

    Chiffrage, suivi d’avancement, contrôle des livraisons, contact direct avec le client : sur un portail porté seul pendant près de trois ans, puis avec plus de 15 développeurs encadrés.

  • Partager ce que j’apprends

    J’écris sur ces sujets : feature flags avec Symfony, CQRS, PHP 8 contre Node.js, microservices contre monolithe.

Études de cas

Trois projets Symfony et PHP livrés, décrits sans nom de client : le contexte, ce que j’ai construit, les technologies et le résultat.

Le portail d’un réseau de plus de 100 concessions, de Symfony 1.4 à Symfony 5

Réseau de concessions automobiles, France2022-2024

Contexte

Le portail d’un réseau de plus de 100 concessions en France, avec plus de 7 000 utilisateurs actifs, tourne sur Symfony 1.4. Il faut stabiliser la production, moderniser le framework et continuer à livrer les évolutions demandées par le réseau.

Ce que j’ai construit
  • La stabilisation de la production
  • La migration de Symfony 1.4 vers Symfony 4, puis Symfony 5
  • La GED du portail : génération des documents, stockage et indexation, archivage numérique et signature électronique
  • Les évolutions demandées par le réseau et l’amélioration des interfaces utilisateur
  • Des web services avec le système d’information du constructeur
  • Une mise en production à chaque release, en contact direct avec le client
Technologies
  • PHP
  • Symfony 1.4
  • Symfony 4
  • Symfony 5
  • API REST
  • Web services
  • GED
  • Signature électronique
Résultat

+100concessions

Près de trois ans à porter seul le portail, de la stabilisation à Symfony 5, GED comprise, pour plus de 7 000 utilisateurs actifs.

Un ERP pour les ressources humaines et le stock de matériel

Gestion d’entreprise2020-2022

Contexte

Une entreprise doit gérer ses ressources humaines et son stock de matériel dans un ERP complet, à concevoir dès le départ.

Ce que j’ai construit
  • La conception de l’ERP dès le départ
  • Un back-end Symfony et un front-end Vue.js
  • Des tests unitaires automatisés PHPUnit et JUnit
  • Le suivi d’avancement et le contrôle des livraisons
Technologies
  • PHP
  • Symfony
  • Vue.js
  • JavaScript
  • PHPUnit
  • JUnit
Résultat

Un ERP complet, de la conception au contrôle des livraisons, couvert par des tests unitaires automatisés.

Des flux multi-comptes branchés sur l’écosystème d’un groupe

Groupe automobile, à distance2023

Contexte

Une mission de cinq mois en télétravail : brancher les flux d’une entité sur l’écosystème de son groupe, à partir de web services existants.

Ce que j’ai construit
  • L’intégration des web services existants
  • De nouveaux services pour des flux rattachés à plusieurs comptes
  • Les interfaces avec la GED et l’archivage numérique
  • Le nettoyage et l’optimisation du code
Technologies
  • PHP
  • Symfony
  • API REST
  • Web services
  • GED
Résultat

Les flux branchés sur l’écosystème du groupe en cinq mois, à distance, sur un code nettoyé et optimisé.

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 Java / Spring Boot

    Microservices Spring Boot, DDD et architecture hexagonale, les web services, les API externes et la GED d’un progiciel, une migration vers Azure.

    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