
Fleurance Nature - E-Commerce Platform Redesign
Full redesign of fleurancenature.fr on Magento Enterprise Edition - migration from Solr to ElasticSearch, ERP flux overhaul, multi-site architecture with 60 custom modules across 3 websites.
Custom Modules
60+
Magento custom modules
PHP Files
1040
Modified or created
Websites
3
FR, International, Mincifine
Blog Articles
512
Migrated from WordPress via RSS
Environments
8
From local to production
Spec Pages
50
Final specification document (v1.6)
Presentation
Project scope and business context
Fleurance Nature is a French company founded in 1972, specialized in natural and organic products (health, beauty, food supplements). The company sells through its website fleurancenature.fr, which runs on Magento Enterprise Edition 1.10.
The project was a full redesign of the e-commerce platform, carried out at Smile (Open Source Solutions agency). The scope covered 3 websites (Fleurance Nature France, International, Mincifine), a migration from Solr to ElasticSearch for the search engine, and a complete overhaul of ERP data flows.
The existing codebase was heavily customized with 60 Magento modules, 1040 PHP files, and complex pricing rules involving 4 customer groups across 3 storefronts. The B2C business model targets consumers looking for natural health and beauty products.
A significant part of the work involved Magento's EAV (Entity-Attribute-Value) database architecture - a schema design where product attributes are stored as rows in separate tables rather than columns in a single table. This approach gives maximum flexibility for adding custom product attributes (like "natural actives", "min/max weight", "virtual category identifiers") without altering the database schema. The trade-off is query complexity: a simple product read can require JOINs across 6+ tables (one per attribute type: varchar, int, decimal, text, datetime, and the main entity table).
Equally central was Magento's XML configuration and class override system. Every module behavior in Magento 1 is declared via XML files (config.xml, system.xml, layout XML). To customize a core behavior - for instance, how product prices are indexed or how search results are sorted - a developer creates an XML declaration in their custom module that overrides ("rewrites") the original class. The system loads all module XML files at bootstrap and builds a merged configuration tree. This mechanism allowed Fleurance Nature's 60 custom modules to alter Magento's core behavior at any level (models, blocks, controllers, helpers) without modifying a single line of core code. The downside: debugging requires tracing through the XML configuration chain to understand which class is actually loaded at runtime.
B2C e-commerce - natural and organic products (health, beauty, food supplements)
End consumers (France and international) purchasing natural products online. Back-office users managing catalog, orders, and promotions.
- Autocomplete search with ElasticSearch
- Faceted navigation and virtual categories
- Mobile-responsive redesign
- International storefront with localized pricing
- WordPress blog integration via RSS feed (512 articles)
- SKU reference search for returning customers
- Complex pricing rules (4 groups x 3 websites)
- ERP bidirectional data flows
Objectives, Context & Risks
Strategic goals and constraints
Redesign the front-end and back-office of 3 Magento websites with a modern responsive theme
Migrate the search engine from Solr to ElasticSearch with autocomplete and faceted navigation
Integrate the WordPress blog into Magento via RSS feed synchronization
Overhaul the ERP data flows for product catalog, stock, and order synchronization
Set up the 1000mercis marketing platform integration (tracking, emailing, analytics)
The platform ran on Magento Enterprise Edition 1.10, a version already aging in 2017. The codebase had accumulated 60 custom modules over the years, making upgrades difficult and risky.
Pricing was particularly complex: 4 customer groups (anonymous, general, loyalty subscribers, company committees) each had different price catalogs across 3 websites. This created a matrix of 12 pricing combinations, each with its own set of rules and promotions.
The specifications went through 7 versions over 2 months (from v1.0 at 30 pages to v1.6 at 50 pages), reflecting the progressive discovery of edge cases and business rules hidden in the existing code.
Backward Compatibility
With 60 custom modules, any change risked breaking existing functionality. Each modification required regression testing across all 3 websites.
Performance Thresholds
The production site served real customers daily. Performance degradation during the migration was not acceptable - Varnish caching had to remain operational throughout.
Blog Integration Fragility
The WordPress-to-Magento blog integration relied on RSS feed parsing - an artisanal approach with no transactional guarantee. 512 articles needed to migrate without data loss.
ERP Data Volumetry
The ERP flux handled the full product catalog synchronization. Any error in the flow could corrupt product data, prices, or stock levels across all 3 storefronts.
Implementation Phases
Chronological breakdown over 13 months
- Reverse-engineered existing ERP data flows to document all exchange formats
- Redesigned the bidirectional synchronization (products, stock, orders, customers)
- Implemented the 1000mercis marketing platform integration (tracking pixels, email triggers)
- Built automated tests for flux validation before production deployment
- Created wireframes for all key pages (home, category, product, cart, checkout)
- Designed responsive layouts for mobile, tablet, and desktop breakpoints
- Validated visual mockups with the client through iterative review cycles
- Produced the graphic design specifications for 3 distinct website themes
- Wrote detailed functional specifications (7 versions, 30 to 50 pages)
- Migrated search engine from Solr to ElasticSearch with autocomplete and facets
- Developed virtual categories and faceted navigation modules
- Implemented the WordPress blog integration via RSS feed synchronization
- Built the responsive front-end theme across 3 storefronts
- Executed internal testing at Smile (recette Smile) across all 3 websites
- Managed client acceptance testing (recette client) with formal PV sign-off
- Content contribution phase: migrated 512 blog articles and product data
- Coordinated production deployment across 8 environments
- Provided post-launch support during the 58-day warranty period
- Fixed production issues reported by the client and end users
- Monitored performance metrics and ElasticSearch indexing stability
- Handed over documentation and maintenance procedures to the TMA team
Specification document grew from 30 to 50 pages across 7 versions (Jul-Sep)
The Team & Stakeholders
Project organization and interactions
The project followed a structured agency workflow with formal validation gates. Each deliverable required a signed acceptance document (PV - proces-verbal) before moving to the next phase. This approach reduced ambiguity but added time to each iteration cycle.
Communication happened through weekly progress meetings, a shared ticketing system, and formal specification reviews. The client had a dedicated project contact (Philippe B.) who centralized all business decisions.
Nicolas C.
Project Manager - Planning, client relationship, budget tracking
Richard B.
Specification Author - Functional analysis, requirement gathering, spec writing
Jose DA COSTA
Developer - Magento development, ElasticSearch migration, module customization
Philippe B. - Client project contact at Fleurance Nature
1000mercis - Marketing platform provider (tracking, emailing)
ERP provider - Product catalog and order synchronization
Ideematic - External partner for specific integrations
Formal sign-off with PV (proces-verbal) documents at each phase. Specifications reviewed and approved before development. Client acceptance testing with written validation before production deployment.
Results
Skills acquired and deliverables
ElasticSearch search engine with autocomplete and faceted navigation across 3 websites
Complete responsive redesign of fleurancenature.fr, international, and Mincifine storefronts
Overhauled ERP bidirectional data flows (products, stock, orders, customers)
1000mercis marketing platform integration (tracking, emailing, analytics)
Mobile-responsive theme with international storefront support
WordPress blog migration (512 articles) integrated into Magento via RSS
Deep mastery of Magento EAV database architecture - understanding how product data is split across 6+ tables by attribute type, writing optimized queries that JOIN entity tables with attribute value tables, and creating custom EAV attributes with their own source models and backend types
Practical expertise in Magento XML class override system - declaring module rewrites in config.xml to alter core models, blocks, and controllers without touching core code; debugging the merged XML configuration tree to trace class resolution chains across 60+ modules
Hands-on ElasticSearch experience (indexing, mapping, queries, autocomplete, facets)
E-commerce pricing complexity (multi-group, multi-website, catalog rules, cart rules)
Agency workflow (formal specs, PV sign-off, structured delivery, warranty periods)
Specification writing (contributed to 7 versions across 50 pages of functional requirements)
Multi-environment deployment management (8 environments from local to production)
8 environments from local development to production - each with distinct configuration
4 customer groups x 3 websites = 12 unique pricing combinations
The Project Aftermath
What happened after delivery
The redesigned site went live and continued serving Fleurance Nature customers in production. The ElasticSearch migration improved search relevance and autocomplete response times compared to the previous Solr setup.
Magento 1 reached its official end-of-life in June 2020. Adobe (which acquired Magento in 2018) stopped providing security patches, forcing all Magento 1 merchants to plan a migration to Magento 2 or an alternative platform.
For Fleurance Nature, this meant the 60 custom modules built during the redesign would need to be rewritten or replaced. The heavy customization that made the platform powerful also made the eventual migration significantly more expensive and time-consuming.
Critical Reflection
Honest retrospective analysis
Specification Quality
The 7-version specification process (30 to 50 pages) caught most edge cases before development. This upfront investment saved time during implementation and reduced the number of surprises during client testing.
Backward Compatibility Approach
The methodical approach to preserving existing functionality across 60 modules paid off. Production stayed stable throughout the migration, and no major regression reached end users.
Structured Deployment Pipeline
The 8-environment pipeline (local to production) with formal validation at each stage gave confidence in each release. Issues were caught early in integration or preprod, not in production.
Staying on Magento 1 in 2017
Magento 2 was already available. Starting a 13-month project on Magento 1 in 2017 meant building on a platform with only 3 years of remaining support. A Magento 2 migration would have been more future-proof, though significantly more expensive at the time.
Artisanal Blog Integration
The WordPress-to-Magento blog integration via RSS feed parsing was fragile. A proper API-based integration or a headless CMS approach would have been more reliable for the 512 articles.
Pricing Complexity
The 4-group x 3-website pricing matrix (12 combinations) was documented but never simplified. The business rules could have been rationalized before implementation rather than faithfully reproducing all existing complexity.
Well-written specifications reduce surprises during development - the 7-version process proved its value despite the time investment
Backward compatibility multiplies complexity exponentially - each new module interacts with all existing ones, and testing coverage grows quadratically
E-commerce pricing is always more complex than what the initial briefing suggests - hidden rules emerge during implementation, not during requirement gathering
Related journey
Professional experience linked to this achievement
Skills applied
Technical and soft skills applied
Image gallery
Project screenshots and visuals






