Contact
Refonte Plateforme E-Commerce Magento Enterprise Edition (Fleurance Nature)

Refonte Plateforme E-Commerce Magento Enterprise Edition (Fleurance Nature)

Refonte complète de fleurancenature.fr sur Magento Enterprise Edition - architecture multi-site avec 60 modules custom sur 3 sites.

Juillet 2017 - Septembre 2017
3 mois
Senior Software Engineer - Full-Stack
PHP 5.3Magento EE 1.10ElasticSearchZend FrameworkMySQLVarnishApacheWordPressSolrLXCGit

Modules custom

60+

Modules Magento custom

Fichiers PHP

1040

Modifies ou créés

Sites web

3

FR, International, Mincifine

Environnements

8

Du local a la production

Présentation

Périmètre du projet et contexte métier

Fleurance Nature est une entreprise française fondée en 1972, spécialisée dans les produits naturels et biologiques (sante, beaute, complements alimentaires). La société vend via son site fleurancenature.fr, qui tourne sur Magento Enterprise Edition 1.10.

Le projet consistait en une refonte complète de la plateforme e-commerce, réalisée chez Smile (agence Open Source Solutions). Le périmètre couvrait 3 sites web (Fleurance Nature France, International, Mincifine), une migration de Solr vers ElasticSearch pour le moteur de recherche, et une refonte complète des flux de données ERP.

Le code existant était fortement personnalisé avec 60 modules Magento, 1040 fichiers PHP et des règles de tarification complexes impliquant 4 groupes clients sur 3 boutiques. Le modèle B2C cible les consommateurs a la recherche de produits de sante et beaute naturels.

Une part importante du travail portait sur l'architecture de base de données EAV (Entity-Attribute-Value) de Magento - un schéma ou les attributs produits étaient stockés sous forme de lignes dans des tables séparées plutôt que comme colonnes dans une seule table. Cette approche offrait une flexibilité maximale pour ajouter des attributs produits custom (comme "actifs naturels", "poids min/max", "identifiants de categories virtuelles") sans modifier le schéma de base. La contrepartie etait la complexité des requêtes : une simple lecture de produit peut nécessiter des JOINs sur 6+ tables (une par type d'attribut : varchar, int, decimal, text, datetime, plus la table entité principale).

Le système de configuration et de surcharge de classes par XML de Magento permettait aux 60 modules custom de surcharger le comportement natif (modèles, blocs, controleurs, helpers) sans modifier une seule ligne du code source, via des déclarations XML fusionnées au démarrage.

Domaine

E-commerce B2C - produits naturels et biologiques (sante, beaute, complements alimentaires)

Utilisateurs cibles

Consommateurs finaux (France et international) achetant des produits naturels en ligne. Utilisateurs back-office gérant le catalogue, les commandes et les promotions.

Périmètre fonctionnel
  • Recherche autocomplete et navigation a facettes avec ElasticSearch
  • Refonte responsive mobile, vitrine internationale avec tarification localisée
  • Regles tarifaires complexes (4 groupes clients x 3 sites)
  • Flux de données ERP bidirectionnels
Modules custom par domaine fonctionnel
Fleurance Nature - Multi-site Magento EE architecture with Varnish, ElasticSearch, ERP and CRM integrations

Objectifs, Contexte & Points de vigilance

Objectifs stratégiques et contraintes

Objectifs
  • Refondre le front-end et le back-office des 3 sites Magento avec un theme responsive moderne
  • Migrer le moteur de recherche de Solr vers ElasticSearch avec autocomplete et navigation a facettes
  • Intégrer le blog WordPress dans Magento via synchronisation de flux RSS
  • Refondre les flux de données ERP pour la synchronisation catalogue, stocks et commandes
  • Mettre en place l'intégration de la plateforme marketing (tracking, emailing, analytics)
Contexte

La plateforme tournait sur Magento Enterprise Edition 1.10, l'état de l'art du e-commerce enterprise au lancement du projet. Le code avait accumulé 60 modules custom au fil des années, reflet naturel d'une plateforme maintenue activement depuis plusieurs années en production.

La tarification était particulièrement complexe : 4 groupes clients (anonymes, general, abonnes fidèles, comites d'entreprise) disposaient chacun de catalogues de prix différents sur 3 sites. Cela formait une matrice de 12 combinaisons tarifaires, chacune avec ses propres règles et promotions.

Les spécifications ont traverse 7 versions en 2 mois (de la v1.0 a 30 pages a la v1.6 a 50 pages), refletant la découverte progressive des cas limites et règles métier encapsules dans le code existant.

Technology Distribution
Points de vigilance identifiés

Compatibilite descendante

60 modules custom accumulés : chaque changement imposait des tests de régression sur les 3 sites.

Seuils de performance

Site de production live : aucune dégradation tolérée, cache Varnish opérationnel tout au long du process.

Intégration blog WordPress via RSS

Parsing de flux RSS, cohérent avec les pratiques d'intégration 2008-2014 avant la généralisation des API REST et CMS headless. 512 articles a migrer sans perte.

Volumetrie des flux ERP

Synchronisation catalogue complète : toute erreur pouvait corrompre produits, prix ou stocks sur les 3 boutiques.

Phases de réalisation

Découpage chronologique sur 13 mois

Répartition de l'effort par phase (jours)
Phase 1
Phase 1 - Flux ERP
Janvier - Juillet 2017
  • Retro-ingénierie des flux ERP existants et reconception de la synchronisation bidirectionnelle (produits, stocks, commandes, clients)
  • Intégration de la plateforme marketing (pixels de tracking, déclencheurs email)
  • Tests automatisés pour la validation des flux avant déploiement
Phase 2
Phase 2 - Conception graphique & Wireframing
Février - Juin 2017
  • Wireframes et mises en page responsives (mobile, tablette, desktop) pour toutes les pages clés
  • Validation itérative des maquettes visuelles avec le client
  • Spécifications graphiques pour 3 themes de sites distincts
Phase 3
Phase 3 - Specifications & Développement
Juillet - Octobre 2017
  • Spécifications fonctionnelles détaillées (7 versions, de 30 a 50 pages)
  • Migration moteur de recherche Solr vers ElasticSearch (autocomplete, facettes, categories virtuelles)
  • Intégration blog WordPress via RSS et theme front-end responsive sur les 3 boutiques
Phase 4
Phase 4 - Recette & Livraison
Septembre 2017 - Janvier 2018
  • Recette interne Smile + recette client avec signature formelle de PV
  • Phase de contribution : migration de 512 articles blog et données produits
  • Coordination du déploiement en production sur 8 environnements
Phase 5
Phase 5 - Garantie
Décembre 2017 - Mars 2018
  • Support post-lancement pendant la periode de garantie de 58 jours
  • Suivi de la stabilité de l'indexation ElasticSearch et correctifs de production
  • Transmission documentation et procedures de maintenance a l'équipe TMA
Pipeline de déploiement

L'équipe & les parties prenantes

Organisation du projet et interactions

Équipe Smile

Le projet suivait un workflow structure d'agence avec des portes de validation formelles. Chaque livrable nécessitait un procès-verbal (PV) signé avant de passer a la phase suivante. Cette approche réduisait l'ambiguite mais ajoutait du temps a chaque cycle d'itération.

La communication passait par des réunions de suivi hebdomadaires, un système de tickets partagé et des revues formelles de spécifications. Le client avait un contact projet dédié (Philippe B.) qui centralisait toutes les decisions métier.

Équipe Smile

  • Nicolas C. - Chef de projet - Planning, relation client, suivi budgetaire
  • Richard B. - Rédacteur de spécifications - Analyse fonctionnelle, recueil de besoins, rédaction de specs
  • José DA COSTA - Développeur - Développement Magento, migration ElasticSearch, personnalisation de modules

Parties prenantes externes

  • Philippe B. - Contact projet client chez Fleurance Nature
  • Fournisseur de plateforme marketing (tracking, emailing)
  • Fournisseur ERP - Synchronisation catalogue produits et commandes
  • Ideematic - Partenaire externe pour des integrations spécifiques
Processus de validation

Validation formelle avec des documents PV (procès-verbal) a chaque phase. Specifications revues et approuvees avant le développement. Recette client avec validation écrite avant le déploiement en production.

Modules custom par domaine fonctionnel

Résultats

Compétences acquises et livrables

Livrables
  • Moteur de recherche ElasticSearch avec autocomplete et navigation a facettes sur 3 sites
  • Refonte responsive complète de fleurancenature.fr, international et Mincifine
  • Flux de données ERP bidirectionnels refondus (produits, stocks, commandes, clients)
  • Intégration de la plateforme marketing (tracking, emailing, analytics)
  • Theme responsive mobile avec support de la vitrine internationale
  • Migration du blog WordPress (512 articles) intégrée dans Magento via RSS
Compétences acquises
  • Maîtrise de l'architecture EAV Magento (6+ tables par attribut, requêtes optimisees, attributs custom)
  • Surcharge de classes par XML Magento : rewrites dans config.xml sans modifier le core, debug de configs fusionnees
  • Experience pratique d'ElasticSearch (indexation, mapping, requêtes, autocomplete, facettes)
  • Complexité tarifaire e-commerce (multi-groupes, multi-sites, règles catalogue et panier)
  • Workflow d'agence (specs formelles, signature de PV, periodes de garantie)
  • Rédaction de spécifications (7 versions, 50 pages d'exigences fonctionnelles)
  • Gestion de déploiement multi-environnements (8 environnements du local a la production)

La suite du projet

Ce qui s'est passe après la livraison

Le site redesigne a été mis en production et a continué de servir les clients de Fleurance Nature. La migration vers ElasticSearch a amélioré la pertinence de la recherche et les temps de réponse de l'autocomplete par rapport a l'ancienne configuration Solr.

Magento 1 a atteint sa fin de vie officielle en juin 2020. Adobe (qui a rachete Magento en 2018) a cesse de fournir des correctifs de sécurité - cycle de vie naturel de la technologie, amenant la communauté Magento 1 a planifier une migration vers Magento 2 ou une plateforme alternative.

Regard rétrospectif

Analyse a la lumière du contexte de l'époque

Ce qui avait bien fonctionne
  • Qualité des spécifications - 7 versions (de 30 a 50 pages) avaient detecte la plupart des cas limites avant le développement, limitant les surprises en recette.
  • Approche de compatibilité descendante - Préservation méthodique sur 60 modules : production stable tout au long de la migration, aucune régression majeure.
  • Pipeline de déploiement structure - Pipeline a 8 environnements avec validation formelle - problèmes détectés tot en intégration ou preprod.
Choix techniques replacés dans leur contexte
  • Magento 1 en 2017 - L'état de l'art éprouvé pour un e-commerce enterprise a fort trafic. Magento 2 posait encore des risques de stabilité - miser sur la fiabilité éprouvée reflétait les contraintes de l'époque.
  • Intégration blog WordPress via RSS - Cohérent avec les pratiques d'intégration 2008-2014, avant la généralisation des API REST et CMS headless. 512 articles migres avec succes.
  • Reproduction fidèle de la matrice tarifaire - 12 combinaisons reproduites plutot que simplifiees : décision pragmatique pour préserver la continuité business pendant la refonte.
Leçons durables
  • Des spécifications bien écrites avaient réduit les surprises pendant le développement - le processus en 7 versions avait prouvé sa valeur.
  • La compatibilité descendante multipliait la complexité de façon exponentielle - la couverture de tests croissait de façon quadratique.
  • La tarification e-commerce s'était révélée plus complexe que le brief initial - les règles cachees étaient émergées pendant l'implémentation.

Parcours associé

Expérience professionnelle liée à cette réalisation

Compétences mobilisées

Compétences techniques et humaines appliquées

Galerie d'images

Captures et visuels du projet

Page d'accueil Fleurance Nature après la refonte e-commerce
Page d'accueil - front-end responsive redesigne
Gestionnaire de tickets Redmine avec les taches du projet Fleurance Nature
Redmine - gestion de projet et suivi des tickets
En-tete du document de spécifications fonctionnelles pour la refonte Fleurance Nature
Specifications fonctionnelles - 7 versions, 30 a 50 pages
Specifications ElasticSearch montrant l'architecture des filtres et facettes
Specifications ElasticSearch - architecture des filtres
Page de couverture du document de spécifications ElasticSearch
Specifications ElasticSearch - page de couverture
Diagramme de Gantt montrant la planification du projet Fleurance Nature sur 13 mois
Planification projet - diagramme de Gantt sur 13 mois

Vous avez une plateforme Magento a faire évoluer ?

J'ai réalisé de nombreux projets Magento, aussi bien en Enterprise Edition qu'en Community Edition, pour des acteurs grands comptes (Fleurance Nature, Bricorama, GIFI, Cultura) : refontes multi-sites, développement de modules custom, architectures EAV avancées, migrations moteur de recherche ElasticSearch, flux ERP bidirectionnels et pipelines de déploiement multi-environnements. Parlons de votre contexte.

Contactez-moi