← Retour au portfolio
💼 Projet client

🌲 Syndicat de la Filière Bois

Gestion d'adhérents d'un syndicat professionnel : recherche, fiches et web service SIRET.

Le projet

Application de gestion de plus de 5 000 adhérents pour le Syndicat de la Filière Bois : consultation, recherche, ajout, modification et suppression d'entreprises adhérentes et de leurs représentants, avec un web service d'interrogation par SIRET. En production depuis 2023 en PHP procédural, le projet est présenté ici dans sa refonte technique vers Symfony 7, totalement ré-architecturée mais fonctionnellement identique. La démo utilise une base fictive réinitialisée chaque nuit.

Fonctionnalités clés

  • Gère plus de 5 000 adhérents, avec une architecture optimisée pour les requêtes volumineuses
  • Authentification sécurisée avec rôles (membre ou admin)
  • Liste paginée des adhérents (15 par page) avec jointure optimisée
  • Validation stricte des saisies (email, code postal, téléphone FR, SIRET avec contrôle Luhn)
  • Recherche instantanée Elasticsearch (entreprise, contact, ville, SIRET)
  • Web service XML d'interrogation par SIRET
  • Cache Redis du comptage des adhérents

Architecture & choix techniques

J'ai gardé un découpage classique en couches, avec des contrôleurs fins, des services métier, des repositories et des entités. Aucune logique métier ne se retrouve dans les contrôleurs et la validation passe toujours par des DTO et des contraintes. Des commandes en ligne de commande gèrent le seed des données, la réindexation et la réinitialisation, et des services dédiés couvrent la gestion des adhérents, la recherche et le web service. Le déploiement se fait via un pipeline Jenkins qui lance PHPStan et php-cs-fixer avant un déploiement par SSH. En production, l'application tourne sous FrankenPHP derrière Apache, avec un certificat TLS Let's Encrypt.