Aller au contenu
Sylvain Joffraud l4w

2021 — 2024

TheFork · TripAdvisor

Développeur React · Node

Secteur
Réservation · Restauration
Équipe
8 personnes
Lieu
Nantes · Full-remote

TheFork Manager : legacy Symfony arrêté, fonctions critiques réécrites en Node.js pour 55 000 restaurants.

En bref

  • Legacy Symfony arrêté sans rupture de service, fonctions critiques réécrites en Node.js
  • Back-office d'environ 55 000 restaurants partenaires dans 11 pays
  • Droits et accès centralisés dans le back-office React
  • ADR, monitoring Sentry/Datadog et déploiements continus sur Kubernetes

Plateforme de réservation de restaurants en ligne du groupe Tripadvisor : environ 55 000 restaurants partenaires dans 11 pays, 20 millions d’avis vérifiés, plus de 420 millions de convives envoyés en restaurant en 15 ans. Les restaurateurs gèrent réservations, tables et offres dans le back-office TheFork Manager.

Contexte

Développeur React/Node au sein de l’équipe Supply : 6 développeurs, 1 product manager et 1 engineering manager. Mission : ajout de nouvelles fonctionnalités et décommission des projets legacy sur le back-office restaurateur.

Point de départ : plusieurs projets Symfony historiques truffés de code sur mesure, rendant toute montée de version impossible. Le vrai enjeu n’était pas de les moderniser, mais de \1

Objectif : arrêter les projets legacy sans rupture de service pour les restaurateurs, tout en continuant à livrer les nouvelles fonctionnalités du back-office.

Stack : front-end React/TypeScript, back-end Node.js (Hapi, Joi) avec un legacy Symfony, CI GitHub Actions, conteneurisation Docker, orchestration Kubernetes, cloud AWS, PostgreSQL, messaging RabbitMQ, tests E2E Cypress, monitoring Sentry, Datadog, Grafana et Kibana.

Réalisations

  • Décommission du legacy : identification des fonctionnalités encore utilisées dans les projets Symfony, réécriture des plus critiques en services Node.js (Hapi), bascule progressive puis arrêt des anciens projets
  • Gestion des droits utilisateurs : cartographie exhaustive des fonctionnalités, centralisation de l’affichage et des droits d’accès dans le back-office React
  • Nouvelles fonctionnalités React/TypeScript côté front et Node.js côté back, avec persistance PostgreSQL : refonte des offres proposées aux restaurateurs et activation promotionnelle
  • Observabilité : mise en place du monitoring Sentry et Datadog sur les nouveaux services
  • Expérience développeur : conventions de code, simplification des outils de test Cypress
  • Cadrage : découpage des besoins en User Stories actionnables, ateliers de définition avec le PO et rédaction de documents d’architecture (ADR)
  • Revue de code systématique et déploiements en production via GitHub Actions et Kubernetes

Résultats

  • Projets Symfony legacy arrêtés sans rupture de service : leurs fonctionnalités critiques tournent en Node.js pour les quelque 55 000 restaurants partenaires
  • Affichage et droits d’accès centralisés dans un seul back-office React, à partir d’une cartographie complète des fonctionnalités
  • Nouveaux services observables dès leur mise en production (Sentry, Datadog)
  • Décisions d’architecture tracées dans des ADR, à jour pour l’équipe
React TypeScript Node.js Kubernetes AWS PostgreSQL
Voir le projet

Un besoin similaire ?

Parlons de votre projet et voyons comment je peux vous aider, en full-remote.