Projet client · Marketplace · Symfony

Delcampe Marketplace Platform

Contribution à la maintenance, à l’évolution et à la qualité technique d’une plateforme marketplace internationale dédiée aux collectionneurs.

Expérience associée

Blubird

Développeur PHP backend / consultant · 2018 — 2019

Voir l’expérience correspondante

Contexte du projet

Delcampe est une marketplace en ligne dédiée aux objets de collection tels que les timbres, les cartes postales, les monnaies et d’autres objets destinés aux collectionneurs.

La plateforme met en relation des vendeurs et des acheteurs à l’échelle mondiale et gère les annonces, les transactions, la messagerie et les interactions entre utilisateurs.

En complément de la marketplace web, Delcampe fournit également une application desktop utilisée par des vendeurs professionnels.

Cette application se connecte à la plateforme via un mélange d’APIs REST et SOAP afin de synchroniser les données de la marketplace.

J’ai rejoint l’équipe de développement comme consultant via Blubird et contribué à la maintenance et à l’évolution de la plateforme marketplace principale.

Objectifs du projet

Architecture du système

La plateforme était construite comme une application monolithique modulaire basée sur le framework Symfony.

Le système incluait plusieurs composants interconnectés : la plateforme web marketplace, les APIs utilisées par des services internes et par le client desktop, une interface utilisateur internationalisée et des services internes soutenant les opérations de la marketplace.

Mon rôle

J’étais développeur backend intégré à l’équipe principale de développement.

Au cours de la mission, j’ai travaillé sur différentes parties du système en fonction des priorités.

Structure d’équipe

Le département logiciel était organisé en deux équipes collaborant étroitement.

Cette structure aidait à maintenir un alignement fort entre les décisions produit et l’implémentation technique.

Équipe produit

  • Product lead
  • Senior product expert
  • Rôle innovation / stratégie produit
  • Deux développeurs frontend

Équipe de développement

  • Lead developer
  • Technical lead
  • Deux développeurs internes
  • Trois consultants Blubird, dont moi-même
  • Trois développeurs freelance

Pratiques de développement

L’équipe suivait un workflow Agile inspiré des pratiques Scrum.

Le processus de développement incluait également des branches dédiées pour chaque correction de bug ou fonctionnalité, des code reviews systématiques avant merge et des branches de release contrôlées pour les déploiements en production.

Ce workflow contribuait à assurer la stabilité et la maintenabilité de la plateforme de production.

Technologies utilisées

Backend

  • PHP 7 avec programmation orientée objet et principes SOLID
  • Symfony 3.1
  • MariaDB

APIs

  • REST APIs
  • Services SOAP utilisés par l’application desktop

Frontend tooling

  • JavaScript
  • Gulp
  • NPM
  • Bower

Tests

  • PHPUnit pour les tests unitaires backend
  • Jasmine pour les tests JavaScript
  • CasperJS pour les tests automatisés orientés navigateur

Monitoring

  • Sentry pour le monitoring des erreurs applicatives

Version control & CI/CD

  • Git hébergé sur GitLab interne
  • Branches dédiées par bug ou fonctionnalité
  • Code reviews obligatoires
  • Pipelines GitLab CI/CD
  • Exécution des tests automatisés avant les releases

Containerisation

  • Docker utilisé dans l’environnement CI/CD

Gestion de projet & documentation

  • Jira pour la gestion des tickets
  • Confluence pour la documentation et le partage de connaissances

Infrastructure

  • Hébergement et gestion d’infrastructure assurés en interne par l’entreprise

Défis techniques

Travailler sur une marketplace mature

Le projet impliquait de contribuer à un système de production large et existant depuis longtemps, utilisé par une communauté internationale d’utilisateurs.

Comprendre l’architecture et naviguer dans la base de code existante nécessitait une collaboration avec des membres expérimentés de l’équipe.

Standards élevés de qualité de code

L’équipe de développement maintenait de fortes attentes concernant la structure du code, les tests, les workflows de développement et les processus de review.

Plateforme multilingue

La marketplace supportait plusieurs langues et des utilisateurs internationaux, ce qui augmentait la complexité applicative.

Écosystème connecté

La plateforme web était reliée à des APIs et à une application desktop utilisée par des vendeurs professionnels, ce qui demandait une attention particulière à la compatibilité et à la stabilité des échanges.

Résultats / impact

Mon travail a contribué à maintenir et améliorer la stabilité et la qualité de la plateforme marketplace Delcampe.

À travers la correction de bugs, les améliorations incrémentales et le développement de fonctionnalités, l’équipe a continué à faire évoluer la plateforme tout en maintenant sa fiabilité pour une large base d’utilisateurs.

Apprentissages personnels

Cette mission a été l’une des expériences les plus formatrices du début de ma carrière.

Elle m’a permis de découvrir un environnement de développement bien structuré, de voir l’impact concret de workflows Agile et inspirés de Scrum, de travailler dans une large application Symfony en production, de comprendre l’importance des tests automatisés dans les projets long terme et d’expérimenter l’effet positif d’une équipe de développement saine et collaborative.