---
title: "Plateforme d'Export de Données Produits B2B"
description: "Application web interne B2B automatisant l'export de catalogues de produits promotionnels - génération CSV avec docs et synchronisation directe via l'API WebService PrestaShop pour les revendeurs."
locale: "fr"
canonical: "https://portfolio.josedacosta.info/fr/realisations/export-donnees-produits-b2b"
source: "https://portfolio.josedacosta.info/fr/realisations/export-donnees-produits-b2b.md"
html_source: "https://portfolio.josedacosta.info/fr/realisations/export-donnees-produits-b2b"
author: "José DA COSTA"
date: "2013"
type: "achievement"
slug: "export-donnees-produits-b2b"
tags: ["PHP", "MySQL", "PrestaShop WebService API", "Bootstrap 2", "jQuery", "Zend_Mail", "Apache", "Linux (cron/PID)"]
generated_at: "2026-04-23T15:45:23.636Z"
---

# Plateforme d'Export de Données Produits B2B

Application web interne B2B automatisant l'export de catalogues de produits promotionnels - génération CSV avec docs et synchronisation directe via l'API WebService PrestaShop pour les revendeurs.

**Date:** 2013 - 2016  
**Duration:** ~3 ans (développement actif 2013-2015, maintenance jusqu'en 2016)  
**Role:** Senior Software Engineer (~93% du code applicatif)  
**Technologies:** PHP, MySQL, PrestaShop WebService API, Bootstrap 2, jQuery, Zend_Mail, Apache, Linux (cron/PID)

### Key Metrics

- Lignes de code: **-** - PHP, JavaScript, CSS
- Fichiers source: **-** - Fichiers applicatifs (hors framework)
- Tables en base: **-** - 30 en lecture + 6 en lecture/écriture
- Langues supportées: **-** - FR, EN, DE, IT, ES

## Présentation

_Définition et périmètre du projet_

### Domain

Objets publicitaires et textiles - sourcing, distribution, e-commerce B2B

### Target Users

Revendeurs B2B (distributeurs d'objets promotionnels) abonnés à European Sourcing, et l'équipe commerciale et technique EuropeanTool (administrateurs)

**Content:** La **Plateforme d'Export de Données Produits B2B** (nom interne : `europeansourcing_export`) est une application web interne développée pour **European Sourcing** (marque commerciale : **EuropeanTool**), un acteur majeur du secteur de l'**objet publicitaire et promotionnel** basé à Agen et Bordeaux, en France.

Cette application constitue le **module d'export de données produits** de la plateforme European Sourcing. Elle permet aux **revendeurs** (distributeurs d'objets promotionnels) d'exporter le catalogue produits des fournisseurs vers leurs propres systèmes - soit sous forme de **fichiers CSV** (avec images), soit par **synchronisation directe via l'API WebService PrestaShop**.

Le système gère le cycle de vie complet de la demande à la livraison : authentification, validation, facturation, exécution batch, suivi de progression et notification automatique par email à chaque étape.

**Domain:** Domaine

**Target Users:** Utilisateurs cibles

**Functional Scope:** Périmètre fonctionnel

**Scope Csv Export:** Export CSV avec ZIP et docs

**Scope Ws Sync:** Synchronisation WebService PrestaShop

**Scope Quotas:** Gestion des quotas revendeurs

**Scope Workflow:** Workflow de facturation et validation

**Scope Concurrency:** Traitement parallele des exports

**Scope Monitoring:** Monitoring temps réel des processus

**Scope Category Mapping:** Mapping de categories (ES ↔ PrestaShop)

**Scope Notifications:** Notifications email multi-étapes

**Scope Multi Lang:** Données produits multilingues (5 langues)

## Objectifs, contexte, enjeux et risques

_Vision stratégique et contraintes opérationnelles_

### Context

Le projet s'inscrit dans un écosystème European Sourcing plus large comprenant **15+ applications interconnectées** : la plateforme principale, l'extranet, le front revendeur, le module de traduction, le back-office fournisseur, l'API, et bien d'autres.

L'application repose sur un **framework PHP MVC maison** (mynd-framework) et utilisé la base de données partagee `europeansourcing` (MySQL) hébergée sur des serveurs dédiés OVH. L'architecture suit un modèle monolithique PHP classique avec des **scripts CLI pour le traitement batch en arriere-plan**.

Un **wiki DokuWiki** interne hébergé sur `wikidev.es-recette.com` servait de documentation technique partagee. La page `es_export` documenté spécifiquement ce module, signee par José DA COSTA le 03/11/2016.

- Permettre aux revendeurs abonnés d'exporter les fiches produits (données + docs) des fournisseurs sélectionnés au format CSV ou via WebService PrestaShop
- Automatiser la synchronisation des catalogues produits entre la base European Sourcing et les boutiques PrestaShop des revendeurs
- Gerer un système de quotas pour contrôler le volume d'exports par revendeur
- Fournir un workflow complet de validation : demande → confirmation → facturation → exécution → livraison par email
- Supporter l'exécution parallele de jusqu'à 6 exports simultanes avec gestion robuste des processus (PID, kill, détection zombies)

**Objectives:** Objectifs

**Context:** Contexte

**Stakes:** Enjeux

**Stakes Revenue:** Génération de revenus - les exports sont un service facturé. Le workflow inclut explicitement l'envoi d'une facture avant le déclenchement

**Stakes B2 B Satisfaction:** Satisfaction client B2B - la qualité et la fiabilité des exports conditionnent la capacité des revendeurs à alimenter leurs boutiques en ligne

**Stakes Data Volume:** Volume de données - le système géré potentiellement jusqu'à 500 000 références produits avec docs

**Stakes Multi Lang:** Support multilingue - les exports gèrent 5 langues (FR, EN, DE, IT, ES)

**Risks:** Risques

**Risk1 Title:** Performance

**Risk1 Desc:** Les exports manipulent de gros volumes de données (docs + CSV). Memory limit mis a illimité (-1) avec gestion explicite des erreurs mémoire

**Risk2 Title:** Concurrence et deadlocks

**Risk2 Desc:** Maximum 6 exports paralleles, 3 par IP serveur, 1 par URL PrestaShop - conçu pour prévenir les deadlocks MySQL

**Risk3 Title:** Processus zombies

**Risk3 Desc:** Mécanisme de détection via /proc/PID remettant automatiquement les exports bloqués en statut "asked" avec le label "zombie"

**Risk4 Title:** Sécurité

**Risk4 Desc:** Authentification par MD5 (sans salt), exécution de commandes shell (exec) depuis le code PHP pour la gestion des processus

## Phases de réalisation

_Actions concrètes et contributions personnelles_

- Phase 1 - Export CSV
- Phase 2 - CSV format PrestaShop
- Phase 3 - Intégration WebService PrestaShop
- Phase 4 - Outils d'administration
- Phase 5 - Notifications et quotas

**Phase1 Period:** ~2013

**Phase2 Period:** ~2013-2014

**Phase3 Period:** ~2014

**Phase4 Period:** ~2014

**Phase5 Period:** ~T3 2014

## Équipe et interactions

_Collaboration et écosystème des parties prenantes_

### External

Revendeurs B2B utilisant le module pour alimenter leurs boutiques PrestaShop, fournisseurs d'objets promotionnels (Anda, ELASTO FORM, KARL KNAUER, PAUL STRICKER, PORTIA, Troika, etc.), OVH (hébergement production), Systonic (infra historique, serveur SVN).

**Content:** L'équipe était compacte : **3 développeurs + 2 personnes côté commercial/admin**, fonctionnant sans méthodologie Agile formelle mais utilisant un **bugtracker** pour le suivi des anomalies (référence #0000919 trouvee dans le code).

**Team Dev:** Équipe de développement

**Jose Role:** Développeur principal - ~93% du code applicatif (~11 800 / 12 632 lignes). Conçu l'architecture, construit tous les contrôleurs, modèles, vues, scripts CLI et l'intégration PrestaShop. Auteur de la documentation wiki interne.

**Guillaume Role:** Auteur du framework et développeur - Créé le mynd-framework (framework MVC, ~5 663 lignes) partage entre les projets de l'écosystème. Mis en place la structure initiale du projet et contribué a ~6% du code applicatif.

**Dominique Role:** Développeur (interventions ponctuelles) - 7 contributions identifiées (~100-150 lignes) : ajouts de notifications email, corrections bugtracker #919, gestion des erreurs de contenu duplique.

**Commercial:** Équipe commerciale et administration

**Carine Role:** Contact commercial - Destinataire des notifications d'export (demandes, confirmations, erreurs)

**Celine Role:** Support administratif - Destinataire des notifications d'export sur tous les environnements

**External:** Parties prenantes externes

## Résultats et impact

_Résultats mesurables pour le projet et l'entreprise_

**For Project:** Fonctionnalités livrees

**For Business:** Impact business

**Business Revenue:** Génération directe de revenus - chaque export est un service facturé avec workflow de facturation integre

**Business Capacity:** Capacité catalogue - système dimensionne pour gérer jusqu'à 500 000 références produits

**Business Automation:** Remplacement d'un processus manuel coûteux - automatisation de l'intégration des catalogues fournisseurs dans les boutiques revendeurs

**Business B2 B:** Activation client B2B - les revendeurs peuvent alimenter automatiquement leurs sites e-commerce PrestaShop avec des données produits et docs à jour

**For Me:** Évolution personnelle

## Les lendemains du projet

_Ce qui s'est passe après la livraison_

**Content:** **Immédiate** : La plateforme a été activement utilisée par les revendeurs European Sourcing pour la synchronisation de catalogues. Le système de notifications ajoute en septembre 2014 montre que la plateforme generait une activité commerciale réelle, l'équipe commerciale etant notifiée de chaque demande d'export.

**A moyen terme** : La dernière mise à jour du wiki (novembre 2016) indiqué que la plateforme est restée opérationnelle au moins 2 ans après la phase principale de développement. Le code a été maintenu mais aucune fonctionnalité majeure n'a été ajoutee après le T4 2014.

**État actuel** : Le projet est archive (backup NAS date de février 2015). European Sourcing a depuis fait évoluer sa stack technologique. Le module d'export a rempli sa fonction pendant une phase de croissance critique de l'entreprise, permettant à des dizaines de revendeurs d'intégrer les catalogues de produits promotionnels dans leurs plateformes e-commerce.

**Héritage** : Les patterns développés pour ce projet - traitement batch concurrent, détection de zombies, machines a états de workflow, mapping de categories inter-plateformes - se sont averes être des concepts réutilisables dans les projets ultérieurs. L'expérience de construction d'un outil B2B générateur de revenus a forge un état d'esprit orienté produit qui s'est avéré précieux dans les rôles suivants.

## Regard critique

_Analyse rétrospective et enseignements_

**Strengths:** Points forts

**Improvements:** Points d'amélioration

**Would Change:** Ce que je ferais différemment

**Lessons:** Enseignements durables
