Contato
Redesign da Plataforma E-Commerce Magento Enterprise Edition (alias Fleurance Nature)

Redesign da Plataforma E-Commerce Magento Enterprise Edition (alias Fleurance Nature)

Redesign completo do fleurancenature.fr em Magento Enterprise Edition - arquitetura multi-site com 60 modulos customizados em 3 sites.

Julho 2017 - Setembro 2017
3 meses
Senior Software Engineer - Full-Stack
Smile Open Source Solutions
PHP 5.3Magento EE 1.10ElasticSearchZend FrameworkMySQLVarnishApacheWordPressSolrLXCGit

Modulos customizados

60+

Modulos Magento customizados

Arquivos PHP

1040

Modificados ou criados

Sites

3

FR, Internacional, Mincifine

Ambientes

8

Do local a producao

Apresentacao

Escopo do projeto e contexto de negocio

Fleurance Nature e uma empresa francesa fundada em 1972, especializada em produtos naturais e organicos (saude, beleza, suplementos alimentares). A empresa vendia pelo site fleurancenature.fr, rodando em Magento Enterprise Edition 1.10.

O projeto foi um redesign completo da plataforma de e-commerce, realizado na Smile (agencia Open Source Solutions). O escopo cobria 3 sites (Fleurance Nature Franca, Internacional, Mincifine) e uma reformulacao dos fluxos de dados ERP.

O codigo existente era fortemente customizado com 60 modulos Magento, 1040 arquivos PHP e regras de precificacao complexas envolvendo 4 grupos de clientes em 3 lojas. O modelo B2C visava consumidores que buscavam produtos naturais de saude e beleza.

Uma parte significativa do trabalho envolveu a arquitetura de banco de dados EAV (Entity-Attribute-Value) do Magento - um design de schema onde os atributos dos produtos eram armazenados como linhas em tabelas separadas em vez de colunas em uma unica tabela. Essa abordagem oferecia flexibilidade maxima para adicionar atributos customizados de produtos (como "ativos naturais", "peso min/max", "identificadores de categorias virtuais") sem alterar o schema do banco. A contrapartida era a complexidade das consultas: uma simples leitura de produto pode exigir JOINs em 6+ tabelas (uma por tipo de atributo: varchar, int, decimal, text, datetime, e a tabela principal da entidade).

O sistema de configuracao e sobrecarga de classes por XML do Magento permitia que os 60 modulos custom sobrescrevessem o comportamento nativo (modelos, blocos, controladores, helpers) sem modificar uma unica linha do codigo fonte, via declaracoes XML mescladas na inicializacao.

Dominio

E-commerce B2C - produtos naturais e organicos (saude, beleza, suplementos alimentares)

Usuarios-alvo

Consumidores finais (Franca e internacional) comprando produtos naturais online. Usuarios de back-office gerenciando catalogo, pedidos e promocoes.

Escopo funcional
  • Busca autocomplete e navegacao facetada com ElasticSearch
  • Redesign responsivo mobile e loja internacional com precificacao localizada
  • Regras de precificacao complexas (4 grupos de clientes x 3 sites)
  • Fluxos de dados ERP bidirecionais
Modulos customizados por dominio funcional
Fleurance Nature - Multi-site Magento EE architecture with Varnish, ElasticSearch, ERP and CRM integrations

Objetivos, Contexto & Pontos de atencao

Metas estrategicas e restricoes

Objetivos
  • Redesenhar o front-end e o back-office dos 3 sites Magento com um tema responsivo moderno
  • Migrar o motor de busca de Solr para ElasticSearch com autocomplete e navegacao facetada
  • Integrar o blog WordPress ao Magento via sincronizacao de feed RSS
  • Reformular os fluxos de dados ERP para sincronizacao de catalogo, estoque e pedidos
  • Implementar a integracao da plataforma de marketing (tracking, emailing, analytics)
Contexto

A plataforma rodava em Magento Enterprise Edition 1.10, o estado da arte do e-commerce enterprise no inicio do projeto. O codigo havia acumulado 60 modulos customizados ao longo dos anos, reflexo natural de uma plataforma mantida ativamente em producao.

A precificacao era particularmente complexa: 4 grupos de clientes (anonimos, geral, assinantes fieis, comites de empresa) tinham catalogos de precos diferentes em 3 sites. Isso formava uma matriz de 12 combinacoes de precos, cada uma com suas proprias regras e promocoes.

As especificacoes passaram por 7 versoes em 2 meses (da v1.0 com 30 paginas ate a v1.6 com 50 paginas), refletindo a descoberta progressiva de casos limites e regras de negocio encapsuladas no codigo existente.

Technology Distribution
Pontos de atencao identificados

Compatibilidade retroativa

60 modulos customizados acumulados: cada mudanca exigia testes de regressao nos 3 sites.

Limites de performance

Site de producao live: nenhuma degradacao de performance tolerada, cache Varnish operacional durante todo o processo.

Integracao do blog WordPress via RSS

Parsing de feed RSS, coerente com as praticas 2008-2014 antes que APIs REST e CMS headless se tornassem o padrao. 512 artigos a migrar sem perda.

Volumetria dos fluxos ERP

Sincronizacao completa do catalogo: qualquer erro podia corromper produtos, precos ou estoque nas 3 lojas.

Fases de implementacao

Divisao cronologica ao longo de 13 meses

Distribuicao de esforco por fase (dias)
Phase 1
Fase 1 - Fluxos ERP
Janeiro - Julho 2017
  • Conduzi a engenharia reversa dos fluxos ERP existentes e redesenhei a sincronizacao bidirecional (produtos, estoque, pedidos, clientes)
  • No lado da martech, integrei a plataforma de marketing com seus pixels de tracking e gatilhos de email
  • Para tornar os deploys mais seguros, implantei testes automatizados de validacao dos fluxos antes de qualquer release em producao
Phase 2
Fase 2 - Design grafico & Wireframing
Fevereiro - Junho 2017
  • Produzi os wireframes e os layouts responsivos (mobile, tablet, desktop) para todas as paginas-chave
  • No lado do design, conduzi a validacao iterativa dos mockups visuais com o cliente
  • Para orientar as equipes graficas, redigi as especificacoes graficas dos 3 temas de sites distintos
Phase 3
Fase 3 - Especificacoes & Desenvolvimento
Julho - Outubro 2017
  • Redigi e iterei as especificacoes funcionais detalhadas (7 versoes, de 30 a 50 paginas)
  • No lado da busca, conduzi a migracao do motor Solr para ElasticSearch (autocomplete, facetas, categorias virtuais)
  • No lado do conteudo, integrei o blog WordPress via RSS e entreguei o tema front-end responsivo nas 3 lojas
Phase 4
Fase 4 - Testes & Entrega
Setembro 2017 - Janeiro 2018
  • Conduzi os testes internos na Smile e depois acompanhei o ciclo de aceitacao do cliente ate a assinatura formal do PV
  • Para migrar os conteudos, conduzi a fase de contribuicao: transferencia de 512 artigos do blog e dos dados de produtos
  • No lado do release, coordenei o deploy em producao atraves de 8 ambientes
Phase 5
Fase 5 - Garantia
Dezembro 2017 - Marco 2018
  • Garanti o suporte pos-lancamento durante os 58 dias do periodo de garantia
  • No lado da operacao, monitorei a estabilidade da indexacao ElasticSearch e entreguei as correcoes de producao
  • Para assegurar o handover, transferi a documentacao e os procedimentos de manutencao para a equipe TMA
Pipeline de deploy

A equipe e as partes interessadas

Com quem interagi diretamente e como colaborei

Equipe Smile - meus colegas no dia a dia

Operei dentro de um fluxo de trabalho de agencia estruturado, com portoes de validacao formais. Cada entregavel passava por um documento de aceitacao assinado (PV - proces-verbal) antes de avancar para a fase seguinte - uma abordagem que reduzia a ambiguidade mas alongava cada ciclo de iteracao.

No dia a dia, eu conduzia reunioes semanais de acompanhamento, usava um sistema compartilhado de tickets e participava de revisoes formais de especificacoes. No lado do cliente, me apoiava em um contato dedicado ao projeto (Philippe B.) que centralizava todas as decisoes de negocio.

Equipe Smile - meus colegas no dia a dia

  • Nicolas C. - Gerente de Projeto com quem eu enquadrava o planejamento, o relacionamento com o cliente e o acompanhamento orcamentario
  • Richard B. - Autor de especificacoes com quem co-escrevi a analise funcional, o levantamento de requisitos e as specs
  • José DA COSTA - Meu papel - Senior Software Engineer: conduzi o desenvolvimento Magento, a migracao ElasticSearch e a customizacao dos modulos

Partes interessadas externas com quem interagi

  • Philippe B. - contato do projeto no cliente Fleurance Nature, com quem enquadrei as decisoes de negocio ao longo do projeto
  • Colaborei com o fornecedor da plataforma de marketing para o tracking e o emailing
  • No lado do ERP, coordenei com o fornecedor a sincronizacao do catalogo de produtos e dos pedidos
  • Para integracoes especificas, trabalhei com o parceiro externo Ideematic
Processo de validacao

Operei dentro de um quadro de validacao formal: a cada fase, eu garantia um PV (proces-verbal) assinado, fazia revisar e aprovar as especificacoes antes do desenvolvimento e obtinha uma aceitacao escrita do cliente antes de qualquer deploy em producao.

Modulos customizados por dominio funcional

Resultados

Competencias adquiridas e entregaveis

Entregaveis
  • Motor de busca ElasticSearch com autocomplete e navegacao facetada nos 3 sites
  • Redesign responsivo completo do fleurancenature.fr, internacional e Mincifine
  • Fluxos de dados ERP bidirecionais reformulados (produtos, estoque, pedidos, clientes)
  • Integracao da plataforma de marketing (tracking, emailing, analytics)
  • Tema responsivo mobile com suporte a loja internacional
  • Migracao do blog WordPress (512 artigos) integrada ao Magento via RSS
Competencias adquiridas
  • Consolidei meu dominio da arquitetura EAV do Magento (6+ tabelas por atributo, queries otimizadas, atributos custom)
  • Em sobrecarga de classes por XML do Magento, aprendi a entregar rewrites no config.xml sem tocar no core e a depurar configs mescladas
  • No lado da busca, adquiri experiencia pratica com ElasticSearch (indexacao, mapping, queries, autocomplete, facetas)
  • Peguei o jeito da complexidade de precificacao e-commerce (multi-grupos, multi-sites, regras de catalogo e carrinho)
  • Este projeto mudou minha forma de trabalhar: incorporou o fluxo de agencia (specs formais, assinatura de PV, periodos de garantia) a minha pratica, e tenho reaplicado esse modelo em todos os engajamentos seguintes
  • No lado da redacao, evolui na escrita de especificacoes (7 versoes, 50 paginas de requisitos funcionais)
  • No lado do release, afinei minha gestao de deploy multi-ambientes (8 ambientes do local a producao)

O que aconteceu depois

O que ocorreu apos a entrega

O site redesenhado entrou em producao e continuou atendendo os clientes da Fleurance Nature. A migracao para ElasticSearch melhorou a relevancia das buscas e os tempos de resposta do autocomplete em comparacao com a configuracao anterior em Solr.

O Magento 1 atingiu seu fim de vida oficial em junho de 2020. A Adobe (que adquiriu o Magento em 2018) parou de fornecer patches de seguranca - ciclo de vida natural da tecnologia, levando a comunidade Magento 1 a planejar uma migracao para Magento 2 ou uma plataforma alternativa.

Olhar retrospectivo

Com o recuo, como julgo este projeto

O que funcionou bem
  • Qualidade das especificacoes - Com o recuo, reivindico o esforco nas 7 versoes de specs (de 30 a 50 paginas): esse trabalho a montante me permitiu antecipar a maioria dos casos limites e reduzir surpresas nos testes do cliente.
  • Abordagem de compatibilidade retroativa - Defendi uma preservacao metodica nos 60 modulos: a producao permaneceu estavel durante toda a migracao, sem regressao grave para os usuarios finais.
  • Pipeline de deploy estruturado - Hoje mensuro o valor do pipeline de 8 ambientes com validacao formal que implantei: os problemas eram detectados cedo em integracao ou preprod.
Escolhas tecnicas recolocadas em seu contexto
  • Magento 1 em 2017 - Optei por Magento 1, estado da arte comprovado para e-commerce enterprise de alto trafego na epoca. Magento 2 ainda trazia riscos de estabilidade - com o recuo, apostar na confiabilidade refletia as restricoes do momento.
  • Integracao do blog WordPress via RSS - Escolhi uma integracao via RSS, coerente com as praticas 2008-2014, antes que APIs REST e CMS headless se tornassem padrao. Os 512 artigos foram migrados com sucesso.
  • Reproducao fiel da matriz tarifaria - Decidi reproduzir as 12 combinacoes em vez de simplifica-las: uma escolha pragmatica que eu refaria para preservar a continuidade do negocio durante a reformulacao.
Os ensinamentos duradouros que este projeto me trouxe
  • Levo como aprendizado que especificacoes bem escritas reduzem muito as surpresas durante o desenvolvimento - o processo em 7 versoes que mantive provou seu valor.
  • Mensurei que a compatibilidade retroativa multiplica a complexidade de forma exponencial - a cobertura de testes cresce de forma quadratica com o numero de modulos preservados.
  • Aprendi que a precificacao e-commerce e bem mais complexa do que qualquer briefing inicial sugere - regras escondidas emergem durante a implementacao, e agora procuro identifica-las desde a fase de enquadramento.

Trajetória relacionada

Experiência profissional ligada a está realização

Competências aplicadas

Competências técnicas e humanas aplicadas

Galeria de imagens

Capturas e visuais do projeto

Pagina inicial Fleurance Nature apos o redesign do e-commerce
Pagina inicial - front-end responsivo redesenhado
Gerenciador de tickets Redmine com as tarefas do projeto Fleurance Nature
Redmine - gerenciamento de projeto e rastreamento de tickets
Cabecalho do documento de especificacoes funcionais para o redesign Fleurance Nature
Especificacoes funcionais - 7 versoes, 30 a 50 paginas
Especificacoes ElasticSearch mostrando a arquitetura de filtros e facetas
Especificacoes ElasticSearch - arquitetura de filtros
Pagina de capa do documento de especificacoes ElasticSearch
Especificacoes ElasticSearch - pagina de capa
Grafico de Gantt mostrando o planejamento do projeto Fleurance Nature em 13 meses
Planejamento do projeto - grafico de Gantt em 13 meses

Voce tem uma plataforma Magento para evoluir ?

Realizei diversos projetos Magento, tanto em Enterprise Edition quanto em Community Edition, para grandes contas (Fleurance Nature, Bricorama, GIFI, Cultura): reformulacoes multi-sites, desenvolvimento de modulos custom, arquiteturas EAV avancadas, migracoes do motor de busca ElasticSearch, fluxos ERP bidirecionais e pipelines de deploy multi-ambientes. Vamos conversar sobre seu contexto.

Entrar em contato