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

Refonte Plateforme E-Commerce Magento Enterprise Edition (alias 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
Smile Open Source Solutions
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
  • J'ai mené la rétro-ingénierie des flux ERP existants et reconçu la synchronisation bidirectionnelle (produits, stocks, commandes, clients)
  • Côté martech, j'ai intégré la plateforme marketing avec ses pixels de tracking et ses déclencheurs email
  • Pour fiabiliser les déploiements, j'ai mis en place des tests automatisés de validation des flux avant mise en production
Phase 2
Phase 2 - Conception graphique & Wireframing
Février - Juin 2017
  • J'ai produit les wireframes et les mises en page responsives (mobile, tablette, desktop) pour toutes les pages clés
  • Côté design, j'ai piloté la validation itérative des maquettes visuelles avec le client
  • Pour encadrer les équipes graphiques, j'ai rédigé les spécifications graphiques des 3 thèmes de sites distincts
Phase 3
Phase 3 - Specifications & Développement
Juillet - Octobre 2017
  • J'ai rédigé et fait évoluer les spécifications fonctionnelles détaillées (7 versions, de 30 à 50 pages)
  • Côté recherche, j'ai mené la migration du moteur Solr vers ElasticSearch (autocomplete, facettes, catégories virtuelles)
  • Sur le volet contenu, j'ai intégré le blog WordPress via RSS et livré le thème front-end responsive sur les 3 boutiques
Phase 4
Phase 4 - Recette & Livraison
Septembre 2017 - Janvier 2018
  • J'ai conduit la recette interne Smile puis accompagné la recette client jusqu'à la signature formelle du PV
  • Pour migrer les contenus, j'ai piloté la phase de contribution : transfert des 512 articles de blog et des données produits
  • Sur le volet release, j'ai coordonné le déploiement en production sur 8 environnements
Phase 5
Phase 5 - Garantie
Décembre 2017 - Mars 2018
  • J'ai assuré le support post-lancement pendant les 58 jours de garantie
  • Côté exploitation, je surveillais la stabilité de l'indexation ElasticSearch et livrais les correctifs de production
  • Pour pérenniser la reprise, j'ai transmis la documentation et les procédures de maintenance à l'équipe TMA
Pipeline de déploiement

L'équipe & les parties prenantes

Avec qui j'ai interagi directement et comment j'ai collaboré

Équipe Smile - mes coéquipiers au quotidien

J'ai évolué dans un workflow d'agence structuré, avec des portes de validation formelles. Chaque livrable passait par un procès-verbal (PV) signé avant d'enchaîner sur la phase suivante - une approche qui réduisait l'ambiguïté mais allongeait chaque cycle d'itération.

Au quotidien, je tenais des réunions de suivi hebdomadaires, j'utilisais un système de tickets partagé et je participais aux revues formelles de spécifications. Côté client, je m'appuyais sur un contact projet dédié (Philippe B.) qui centralisait toutes les décisions métier.

Équipe Smile - mes coéquipiers au quotidien

  • Nicolas C. - Chef de projet avec qui je cadrais le planning, la relation client et le suivi budgétaire
  • Richard B. - Rédacteur de spécifications avec qui je co-écrivais l'analyse fonctionnelle, le recueil de besoins et les specs
  • José DA COSTA - Mon rôle - développeur senior : j'ai porté le développement Magento, la migration ElasticSearch et la personnalisation des modules

Parties prenantes externes avec qui j'ai interagi

  • Philippe B. - contact projet client chez Fleurance Nature, avec qui j'ai cadré les décisions métier au fil du projet
  • J'ai collaboré avec le fournisseur de la plateforme marketing pour le tracking et l'emailing
  • Côté ERP, j'ai coordonné avec l'éditeur la synchronisation du catalogue produits et des commandes
  • Pour certaines intégrations spécifiques, j'ai travaillé avec le partenaire externe Ideematic
Processus de validation

J'ai opéré dans un cadre de validation formelle : à chaque phase, je sécurisais un procès-verbal (PV) signé, je faisais valider les spécifications avant tout développement, et j'obtenais une recette client é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
  • J'ai consolidé ma maîtrise de l'architecture EAV Magento (6+ tables par attribut, requêtes optimisées, attributs custom)
  • Sur la surcharge de classes par XML Magento, j'ai appris à poser des rewrites dans config.xml sans modifier le core et à déboguer des configs fusionnées
  • Côté search, j'ai acquis une expérience pratique d'ElasticSearch (indexation, mapping, requêtes, autocomplete, facettes)
  • J'ai pris en main la complexité tarifaire e-commerce (multi-groupes, multi-sites, règles catalogue et panier)
  • Ce projet a changé ma façon de travailler : il m'a fait intégrer le workflow d'agence (specs formelles, signature de PV, périodes de garantie) que j'ai rejoué ensuite sur tous mes mandats
  • Sur le plan rédactionnel, j'ai monté en compétence sur la rédaction de spécifications (7 versions, 50 pages d'exigences fonctionnelles)
  • Côté release, j'ai outillé ma gestion de déploiement multi-environnements (8 environnements du local à 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

Avec le recul, comment je juge ce projet

Ce qui a bien fonctionné
  • Qualité des spécifications - Avec le recul, je revendique l'effort sur les 7 versions de specs (de 30 à 50 pages) : ce travail en amont m'a permis d'anticiper la plupart des cas limites et de limiter les surprises en recette.
  • Approche de compatibilité descendante - J'ai défendu une préservation méthodique sur les 60 modules : la production est restée stable tout au long de la migration, sans régression majeure pour les utilisateurs.
  • Pipeline de déploiement structuré - Je mesure aujourd'hui la valeur du pipeline à 8 environnements avec validation formelle que j'ai mis en œuvre : les problèmes étaient détectés tôt en intégration ou en preprod.
Choix techniques replacés dans leur contexte
  • Magento 1 en 2017 - J'ai fait le choix de Magento 1, état de l'art éprouvé pour un e-commerce enterprise à fort trafic à l'époque. Magento 2 posait encore des risques de stabilité - avec le recul, miser sur la fiabilité reflétait les contraintes du moment.
  • Intégration blog WordPress via RSS - J'ai opté pour une intégration via RSS, cohérente avec les pratiques 2008-2014, avant la généralisation des API REST et CMS headless. Les 512 articles ont été migrés avec succès.
  • Reproduction fidèle de la matrice tarifaire - J'ai choisi de reproduire les 12 combinaisons plutôt que de les simplifier : décision pragmatique que je referais pour préserver la continuité business pendant la refonte.
Les enseignements durables que ce projet m'a apportés
  • J'en retiens que des spécifications bien écrites réduisent massivement les surprises en développement - le processus en 7 versions que j'ai tenu a prouvé sa valeur.
  • J'ai mesuré que la compatibilité descendante multiplie la complexité de façon exponentielle - la couverture de tests croît de manière quadratique avec le nombre de modules préservés.
  • J'ai appris que la tarification e-commerce est bien plus complexe qu'un brief initial ne le laisse voir - les règles cachées émergent pendant l'implémentation, et je les traque désormais dès la phase de cadrage.

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