Projet produit · Data integration · Analyse de marge
Marge Delhaize — Plateforme d’intégration de données et d’analyse de marge
Développement d’une plateforme ETL et analytique destinée à consolider des données opérationnelles issues de plusieurs systèmes afin d’analyser les marges réelles des produits dans le temps.
Contexte
Les propriétaires indépendants de magasins Delhaize s’appuient sur plusieurs systèmes internes pour gérer leurs opérations.
Cependant, ces systèmes ne communiquent pas directement entre eux et ne fournissent qu’une visibilité partielle sur la rentabilité réelle des produits.
Le projet vise à construire une plateforme capable de collecter des données depuis plusieurs systèmes opérationnels, de consolider ces informations dans un modèle de données unifié et de fournir une vue claire des marges réelles des produits dans le temps.
Cela permet aux propriétaires de magasins de mieux comprendre l’écart entre les marges estimées communiquées par Delhaize et les marges réellement observées dans leurs opérations.
La plateforme est conçue pour soutenir la prise de décision au niveau d’un magasin individuel ou de groupes de magasins.
Sources de données
Le système intègre des données provenant de trois systèmes opérationnels utilisés par les magasins Delhaize.
Store Office
Base de données contenant les informations de référence produit utilisées dans l’écosystème Delhaize.
L’accès aux données est limité et ne fournit actuellement pas de mécanisme d’export simple.
BabbleWay
Système contenant les informations d’achat provenant des fournisseurs de produits.
Des exports de données sont disponibles dans des formats structurés tels que CSV ou Excel.
StoreLine
Système de caisse contenant les transactions de vente enregistrées aux caisses des magasins.
Des exports sont également disponibles en format CSV ou Excel.
Objectif du projet
La plateforme agit comme un pipeline ETL et une interface analytique.
L’objectif à long terme est de permettre un suivi quasi temps réel des marges, une comparaison des marges entre magasins et une amélioration des négociations d’achat pour des groupes de propriétaires de magasins.
- Extraire les données depuis plusieurs systèmes externes
- Normaliser et structurer les données dans une base de données centrale
- Calculer les marges au niveau produit
- Fournir des outils de visualisation pour les gestionnaires de magasins
Architecture
Le système suit une architecture web modulaire.
Backend
- Application Symfony 7
- API REST exposant les services de données
- PostgreSQL pour le stockage centralisé des données
Frontend
- Application React
- Communication avec le backend via API REST
Infrastructure
- Conteneurs Docker pour chaque composant
- Suites de tests automatisés pour le frontend et le backend
Tests
Plusieurs outils de tests automatisés sont utilisés afin de maintenir la qualité du code et d’assurer la fiabilité pendant le développement.
Backend
- PHPUnit
- PHPStan
Frontend
- Vitest
Utilisation du développement assisté par IA
Le développement du projet implique l’utilisation d’outils de programmation assistée par IA, notamment Claude Code.
Le workflow du projet inclut plusieurs agents IA spécialisés responsables de tâches telles que la planification des tâches et la gestion du backlog, l’implémentation de code backend, la code review, la génération de tests automatisés, ainsi que le développement et la review de composants frontend.
Ces agents assistent le workflow de développement, mais les décisions globales d’architecture et d’implémentation restent sous supervision humaine.
Mes contributions
Le projet est développé en collaboration avec mon frère, qui se concentre principalement sur l’acquisition des données et l’architecture système.
- Lead development de la plateforme backend avec Symfony 7
- Conception et implémentation de l’API REST
- Implémentation du modèle de stockage des données avec PostgreSQL
- Développement de l’interface frontend React
- Implémentation de tests automatisés
- Intégration de workflows de développement assistés par IA
Statut du projet
Le projet a commencé en septembre 2025.
Le développement de l’application a progressé de manière significative jusqu’en décembre 2025, après quoi l’avancement a ralenti en raison de difficultés d’accès aux données depuis les systèmes externes.
À la suite de discussions récentes avec le client, l’accès aux sources de données nécessaires pourrait désormais être possible, ce qui permettrait de reprendre le travail sur le pipeline d’extraction.
Défis techniques
- Collecter des données depuis plusieurs systèmes opérationnels qui ne communiquent pas directement entre eux
- Consolider des formats de données hétérogènes dans un modèle centralisé
- Calculer des marges réelles au niveau produit à partir de données d’achat, de référence produit et de ventes
- Gérer les contraintes d’accès aux données dans des systèmes externes
- Concevoir une architecture modulaire capable d’évoluer vers du suivi quasi temps réel
- Maintenir la qualité du code avec des tests automatisés et des outils d’analyse statique
Résultats / impact attendu
La plateforme vise à donner aux propriétaires indépendants de magasins une visibilité plus précise sur les marges réellement observées dans leurs opérations.
Elle doit permettre de mieux comprendre les écarts entre les marges estimées et les marges réelles, d’identifier les produits ou périodes problématiques et de soutenir des décisions plus éclairées au niveau d’un magasin ou d’un groupe de magasins.
À plus long terme, le système pourrait également soutenir des comparaisons entre magasins et améliorer les négociations d’achat pour des groupes de propriétaires.
Apprentissages personnels
Ce projet me permet de travailler sur une problématique fortement orientée données, à l’intersection entre intégration de systèmes, modélisation métier, calcul analytique et visualisation.
Il renforce mon expérience sur Symfony, React, PostgreSQL, les architectures REST, les pipelines de données et l’intégration d’outils de développement assisté par IA dans un workflow de production supervisé.