← Retour au portfolio
Symfony WordPress Elasticsearch API Docker

Lindustrie-recrute.fr — Plateforme emploi UIMM

Jobboard officiel des industries de la métallurgie — candidats, recruteurs et conseillers CST.

Lindustrie-recrute.fr est le jobboard officiel des industries de la métallurgie, porté par l'UIMM (Union des Industries et Métiers de la Métallurgie). La plateforme met en relation candidats, recruteurs et conseillers des CST (Centres de Services Territoriaux) sur l'ensemble du territoire français. Elle couvre l'ensemble du cycle de recrutement industriel et s'intègre à de nombreux écosystèmes externes : France Travail, APEC, MeteoJob, Broadbean, TextKernel, ainsi qu'un module de génération de CV par IA (Mistral).

Mon rôle

Développeur full-stack freelance chez Ziofix, intervenant sur ce projet depuis novembre 2020 (plus de 300 commits). Je travaille en autonomie sur des évolutions fonctionnelles, de la TMA corrective et des sujets d'infrastructure, du back-end Symfony au front WordPress.

Points clés

  • 300+ commits depuis novembre 2020
  • Plateforme en production sur l'ensemble du territoire français
  • Architecture découplée WordPress + API Symfony avec workers asynchrones

Stack technique

  • Front public : WordPress (Bedrock), thème custom PHP, Gulp, Bootstrap
  • API métier : Symfony 4.4, Doctrine ORM, API REST (Swagger)
  • Recherche : Elasticsearch 7 (FOSElastica)
  • Files d'attente : Symfony Messenger, RabbitMQ / SQS
  • Infra : Docker, Kubernetes (Helm), GitLab CI, Varnish
  • Stockage : MySQL, S3 (Scaleway)
  • Analytics & RGPD : Matomo, TarteAuCitron (CMP)
  • Sécurité : Cloudflare Turnstile, OAuth

Intégrations tierces

  • France Travail — dépôt et synchronisation des statuts SMOT
  • APEC — import/export partenaire
  • MeteoJob — import/export partenaire
  • Broadbean — diffusion d'offres
  • TextKernel — analyse de CV
  • Mistral — génération de CV par IA
  • Pelias / ZMaps — géolocalisation (migration depuis Google Maps)
  • Matomo & TarteAuCitron — analytics et conformité RGPD
  • Cloudflare Turnstile — protection des formulaires

Front-office (entreprises)

  • Candidats — inscription, profil, CVthèque, alertes emploi, candidatures en ligne
  • Recruteurs — publication et gestion d'offres, CVthèque, sondages post-recrutement, espace entreprise

Back-office (administration)

  • Gestionnaires / administrateurs — back-office complet (offres, entreprises, exports, statistiques CST)
  • Conseillers — accompagnement et diffusion d'offres vers les partenaires

Développements majeurs

  • Intégration France Travail — synchronisation des statuts SMOT entre API, MySQL et Elasticsearch
  • Intégration France Travail — évolution du flux confié conseillers et critère statut FT dans les exports
  • Sondage recruteur V2 — refonte du module post-offre (formulaire enrichi, vues, export des réponses)
  • Back-office et exports — filtres avancés, navigation « Mes Offres », exports mensuels CST
  • Performance et infrastructure — optimisation SQL, Elasticsearch 7, healthchecks Kubernetes, Messenger prioritaires
  • Conformité et sécurité — migration Matomo → TarteAuCitron, reCAPTCHA → Cloudflare Turnstile, désabonnement e-mails
  • Fonctionnalités métier — module CV IA (Mistral), alertes CVthèque, géolocalisation Pelias / ZMaps

Qualité & infrastructure

  • Corrections bugs critiques en production (lock timeout, offres archivées, périodes de synchro)
  • Optimisation de requêtes SQL lourdes (ConsolidateMonthlyOffer, CandidateVoter)
  • Migration et maintenance Elasticsearch 7 (scripts Painless, indexation)
  • Configuration des files Messenger prioritaires et redémarrage des transports
  • Corrections mémoire et cache sur les endpoints critiques
  • TMA continue — libellés, popins, champs salaire, code postal INSEE…

Enjeux & défis

  • Architecture découplée — front WordPress consommant une API Symfony via client Swagger généré
  • Écosystème d'intégrations — France Travail, APEC, MeteoJob, Broadbean, TextKernel, IA
  • Traitements asynchrones — exports, synchronisations et indexation ES via workers Messenger
  • Plateforme multi-acteurs — candidats, recruteurs, gestionnaires CST et conseillers sur un même écosystème

Comment se déroule un RDV ?

Un premier échange gratuit de 30 minutes pour comprendre votre contexte et voir si nous sommes alignés.

  1. Choix du créneau

    Sélectionnez un horaire qui vous convient directement sur Calendly. Vous recevez une confirmation par e-mail.

  2. Échange de cadrage

    Nous passons en revue votre projet, vos contraintes techniques, votre calendrier et vos priorités.

  3. Prochaines étapes

    Vous repartez avec des pistes concrètes : faisabilité, approche technique et modalités de collaboration possibles.

Durée 30 minutes

Sans engagement. L'objectif est de valider si je suis le bon interlocuteur pour votre besoin.