Espace Client AFTRAL
Refonte complète du portail entreprise de formation professionnelle — AFTRAL & UGAP.
AFTRAL (Association de Formation aux Transports et à la Logistique) est un organisme de formation professionnelle. L'Espace Client est la plateforme web qui permet aux entreprises clientes de gérer l'ensemble de leurs parcours de formation : recherche de sessions, réservation, suivi des commandes, gestion des collaborateurs et accès aux documents (conventions, convocations, factures…). Il s'agit d'une refonte complète d'un portail historique, conçue pour répondre aux besoins de deux environnements distincts : AFTRAL (espace client grand public) et UGAP (espace bénéficiaire dédié aux acheteurs publics, avec des règles métier et des flux spécifiques).
Mon rôle
Développeur backend Symfony depuis fin 2020, en collaboration avec l'équipe Ziofix. Plus de 200 tickets fonctionnels livrés — développement, maintenance, sécurité et qualité sur l'ensemble du cycle de vie de l'application.
Points clés
- 200+ tickets fonctionnels livrés depuis fin 2020
- Deux contextes métier (AFTRAL / UGAP) sur une seule codebase
- Service maintenu en production pour des milliers d'utilisateurs entreprises
Stack technique
- PHP 8.2, Symfony 6.4, Doctrine ORM
- EasyAdmin 4, Twig, Gulp, Sass, JavaScript
- PHPStan (niveau max), PHP_CodeSniffer, PHPUnit
- Playwright (tests E2E)
- Docker, Redis, MinIO (S3), Gotenberg (PDF)
- GitLab CI
Intégrations tierces
- AMMON — ERP formation (commandes, sessions, documents, synchronisation utilisateurs et sociétés)
- Selligent — gestion des commandes et factures
- TSA / TSH — agrégation de sessions et résultats de formation
- Hermes — Récupération des résultats de formation
- Docubase — gestion documentaire
- Google Maps — géocodage et cartographie
- reCAPTCHA v3 — protection des formulaires
Front-office (entreprises)
- Recherche globale de formations — sessions inter/intra, filtres par thème, localisation, dates, type de produit (dont e-learning)
- Géolocalisation — recherche de centres par rayon, cartographie Google Maps et itinéraires
- Panier et commande — réservation de places, gestion des stagiaires, validation des prix (UGAP), choix du financement
- Mes commandes — commandes en cours et passées, modification des stagiaires, numéro de bon de commande, annulation
- Suivi des collaborateurs — historique des formations, résultats, alertes de recyclage
- Documents — téléchargement de conventions, convocations, factures, attestations
- Gestion multi-sociétés — arborescence entreprise mère / filiales, bascule entre sociétés, favoris
- E-learning — catalogue et demandes de formation à distance
- Authentification SSO — connexion Google OAuth pour les entreprises partenaires (ex. Veolia)
Back-office (administration)
- Gestion des utilisateurs, sociétés, produits, centres et sessions
- Référentiel des prix UGAP, listes rouges, types de clients
- Exports CSV — sessions, commandes, collaborateurs, statistiques
- Notifications et alertes documentaires
- Tableau de bord EasyAdmin pour l'administration quotidienne
Développements majeurs
- Intégration e-learning — ajout du catalogue et des parcours de formation à distance
- SSO Google OAuth — authentification unique pour les entreprises partenaires (Veolia)
- Géolocalisation des sessions — recherche par rayon, géocodage des sociétés, optimisation des appels API Google Maps
- Gestion des sociétés étrangères — prise en charge des entreprises hors France (numéros internationaux, règles spécifiques)
- Visibilité multi-sociétés — gestion de l'arborescence entreprise mère / filiales sur le front-office
- Flux UGAP — validation des prix au panier, conventions, mails vendeur, référentiel tarifaire, messages d'erreur métier
- Synchronisation AMMON — sync utilisateurs, sociétés, arborescence, tokens d'API, upload de documents
- Exports et reporting — commandes passées, sessions, collaborateurs, comptes sans commande, statistiques utilisateurs
- Recherche globale — filtres e-learning, thèmes/sous-thèmes, alertes de saisie, pagination produits/centres
Qualité & infrastructure
- Sécurité — mise à jour des dépendances (CVE), durcissement de l'authentification, gestion des sessions
- Qualité de code — conformité PHPStan niveau maximum, respect des standards de codage
- Tests E2E Playwright — maintenance et correction de la suite de tests end-to-end
- Tâches planifiées (cron) — synchronisation des sociétés, géocodage, imports Selligent
- Observabilité — configuration Monolog, tracking Matomo
- Environnements — configuration des variables d'environnement (preprod, prod), Redis, MinIO
Enjeux & défis
- Multi-plateforme — une seule codebase, deux contextes métier (AFTRAL / UGAP) avec des règles, des flux et des intégrations différents
- Écosystème d'intégrations — orchestration de nombreux services externes (AMMON, Selligent, TSA…) avec gestion des erreurs, des timeouts et de la cohérence des données
- Volume et complexité métier — gestion fine des droits par société, des listes rouges, des financements OPCO et des contraintes réglementaires de la formation professionnelle
- Évolutivité — refonte progressive tout en maintenant le service en production pour des milliers d'utilisateurs entreprises