Quand mettre à jour coûte plus cher que reconstruire.

Au Boulot à Vélo : refonte complète d'une plateforme de challenge à plusieurs milliers d'utilisateurs.

Étude de cas : comment un monolithe Laravel 5 impossible à maintenir a été remplacé par une API Symfony 7 et deux interfaces Nuxt 4 découplées.

Au bolot à vélo

Client

CADR 67

Statut

Terminé

Voir le projet en ligne

Le résultat

Une API Symfony 7 comme source unique de vérité, alimentant trois clients distincts : l'espace participants, l'administration et l'application mobile du challenge.

Stack technique

Fiche technique du projet

Sortie de monolithe, API Symfony 7 et clients découplés : les points clés.

Que faire d'une application dont la mise à jour coûte plus cher que la reconstruction ? Cette fiche technique résume la refonte de la plateforme Au Boulot à Vélo : un monolithe Laravel 5 mêlant Blade et Vue.js, remplacé par une API Symfony 7 portant toute la logique métier, et deux applications Nuxt 4 distinctes (participants et administration) auxquelles s'ajoute l'application mobile du challenge.

Fiche technique du projet

Le Défi : une application qu'on ne pouvait plus ni maintenir ni faire tenir

Comment synchroniser des produits uniques entre un ERP et un e-commerce multilingue ?

Le challenge Au Boulot à Vélo n'est pas un site vitrine : c'est une plateforme de saisie utilisée simultanément par plusieurs milliers de cyclistes, répartis en centaines d'établissements, sur une période concentrée. Chaque participant y déclare ses kilomètres quotidiens, chaque établissement suit son classement, et l'organisation pilote l'ensemble. Le trafic n'est donc pas régulier : il s'effondre la majeure partie de l'année et explose sur quelques semaines.

L'application reposait sur un monolithe Laravel 5 mélangeant templates Blade et composants Vue.js, avec l'espace participants et l'administration logés au même endroit. Deux conséquences. La première : un empilement de dépendances abandonnées, plus maintenues, dont la remise à niveau représentait un chantier plus coûteux qu'une reconstruction complète, sur un socle figé qui plus est sur une version de framework sans support. La seconde : une architecture incapable d'encaisser correctement la charge du pic annuel, où chaque ralentissement se paie en abandons de saisie et en sollicitations pour l'organisation.

La Solution : une seule logique métier, plusieurs clients

Une API Symfony 7 au centre, deux applications Nuxt 4 et l'application mobile autour.

La logique métier a été entièrement reconstruite sous Symfony 7 et exposée sous forme d'API : règles du challenge, saisie des kilomètres, calcul des classements par catégorie d'établissement, gestion des comptes et des épreuves bonus. Un seul endroit décide, un seul endroit détient la vérité. Ce socle est également dimensionné pour absorber la concentration d'activité propre à la période du challenge, là où le monolithe précédent atteignait ses limites.

Autour de cette API, deux applications Nuxt 4 distinctes ont été développées : l'une pour les participants, l'autre pour l'administration. L'application mobile du challenge, développée de son côté, consomme la même API. C'est là l'intérêt réel de l'architecture : une règle métier modifiée une fois s'applique immédiatement aux trois clients, sans risque de divergence entre le web et le mobile. Chaque interface évolue à son rythme, sans qu'une modification du back-office ne mette en risque l'espace public en pleine période de saisie, et le socle repart sur des versions supportées.

Découvrez d'autres réalisations

Découvrez par l'exemple comment je transforme une idée en un outil performant et sur mesure.

Les services derrière une réalisation

Découvrez comment mon expertise peut répondre à vos besoins.

Découvrez les derniers articles du Blog

Veille, astuces et réflexions sur le web, la tech et la cybersécurité.

Plongez dans mes dernières publications, couvrant les actualités et tendances tech, le développement web et mobile, l'automatisation et l'IA, mais aussi des anecdotes et des conseils en cybersécurité. Il y en a pour tous les goûts pour rester à la pointe de l'innovation et optimiser ta présence en ligne

Sébastien version 3d qui prend des notes dans un carnet

Un projet web en tête ? Discutons-en.

Premier échange constructif, sans engagement.

Un projet web, c'est un investissement stratégique. Pour qu'il serve vraiment vos objectifs, il faut sortir des solutions génériques.

Ma méthode place la phase de découverte au cœur du processus. Avant toute technique, je prends le temps de comprendre votre métier, vos contraintes, vos ambitions. Cet échange nous permet de cadrer un cahier des charges précis et de valider les orientations les plus pertinentes.

L'objectif : concevoir une solution sur-mesure, performante et utile qui parle avec justesse à vos clients.