Contact
Vamos trabalhar juntos
Sistema de sindicacao automatizado para 25+ portais imobiliarios

Sistema de sindicacao automatizado para 25+ portais imobiliarios

Pipeline ETL completo extraindo anuncios imobiliarios do PIM Akeneo, transformando-os no formato exigido por cada parceiro (XML, CSV, JSON) e entregando ao SeLoger, LeBonCoin, BienIci, LogicImmo e outros portais - 4 anos de operacao continua.

Janeiro 2019 - 2023
~4 anos
Technical Lead depois Project Manager - Distribuicao Export
PHPSymfonyAkeneo PIM v2REST APIXMLCSVJSONFTP/SFTPGitLab CIDockerKubernetesMySQL

Portais parceiros

27+

Migrados, integrados e mantidos

Formatos de exportacao

3

XML, CSV, JSON

Duracao do projeto

~4 years

Evolucao continua

Volume diario

~2,000/day

Anuncios processados em todos os portais

Disponibilidade

99.5%+

Em 4 anos de operacao continua

Branches GitLab

12+

Features e hotfixes documentados

Apresentacao

Definicao e escopo do projeto

O sistema "Export Ligneurs" e o motor de distribuicao automatizada de anuncios imobiliarios do Groupe Pichet. Ele extrai dados de programas e lotes do PIM Akeneo, transforma-os no formato especifico exigido por cada parceiro (XML, CSV ou JSON) e os exporta automaticamente para as plataformas de distribuicao imobiliaria.

O sistema constitui o elo critico entre os dados de produtos da empresa e sua visibilidade comercial: cada anuncio imobiliario publicado nos grandes portais franceses (SeLoger, LeBonCoin, BienIci, LogicImmo...) passa por este pipeline. Qualquer interrupcao ou inconsistencia de dados se traduz diretamente em perda de leads e oportunidades comerciais perdidas.

Como unico responsavel tecnico deste sistema, eu era responsavel por todas as decisoes de arquitetura, desenvolvimento, deploy, monitoramento e resposta a incidentes - com responsabilidade total sobre um pipeline que alimentava um volume estimado de 400K euros/mes em aquisicao de leads.

Natureza

Pipeline ETL automatizado (Extract-Transform-Load) para distribuicao multicanal de anuncios imobiliarios

Dominio

Imobiliario / PropTech - B2B (equipes internas, portais parceiros) e B2C (indireto, compradores potenciais)

Escopo funcional
  • Extracao automatizada de dados da API REST PIM Akeneo v2
  • Transformacao no formato especifico de cada parceiro (XML, CSV, JSON)
  • Entrega automatizada por FTP/SFTP para 25+ plataformas parceiras
  • Gestao de imagens com adaptacao multi-formato (4/3, 16/9, panoramico, quadrado, ratios especificos por portal)
  • Mapeamento de tipologias imobiliarias (apartamento, casa, duplex, triplex, estudio, T1-T5+)
  • Monitoramento de execucoes com alertas por email e integracao SOFT Monitor
  • Capacidade de ativacao/desativacao individual por parceiro
  • Algoritmo de matching SKU para programas reais vs. programas criados manualmente no PIM
System Architecture
Export Ligneurs - System Architecture Overview
Escolhas tecnologicas e justificativas

PHP / Symfony

Coerente com o ecossistema backend do Groupe Pichet. O componente Symfony Console oferecia um framework solido para execucao de comandos batch agendados.

Akeneo PIM v2

Escolha estrategica da empresa para gestao do catalogo de produtos. Sua API REST fornecia acesso estruturado a todos os dados de programas e lotes com endpoints versionados.

Docker / Kubernetes

Cada job de exportacao isolado em seu proprio container, evitando conflitos de recursos entre modulos parceiros. K8s no AWS EKS gerenciava scheduling e recuperacao automatica de jobs falhos.

GitLab CI

Automatizacao do ciclo build-test-deploy para cada modulo parceiro de forma independente, permitindo deploys direcionados sem impactar outros feeds ativos.

Objetivos, Contexto, Desafios e Riscos

Visao estrategica e restricoes

Objetivos
  • 1Migrar todos os feeds de exportacao do antigo PIM v1.4 para o novo PIM v2 Akeneo
  • 2Executar a migracao parceiro por parceiro com validacao de negocios a cada etapa
  • 3Verificar a consistencia dos dados entre o PIM fonte e os feeds enviados aos portais
  • 4Gerenciar as especificidades de cada portal (formatos de imagem, tipologias, campos obrigatorios)
  • 5Automatizar a supervisao dos feeds (alertas de erro, relatorios de execucao)
Contexto

O projeto foi iniciado durante a transferencia de conhecimento de Andoni L. (Kariba) em janeiro de 2019. O sistema existente funcionava no antigo PIM v1.4 e precisava ser totalmente migrado para o PIM v2 Akeneo, mantendo o servico continuo para todos os portais parceiros.

A migracao precisava ser realizada portal por portal - cada um com suas proprias especificacoes de formato, campos obrigatorios, restricoes de imagem e mapeamentos de tipologias - tornando impossivel uma migracao "big bang". Cada parceiro exigia validacao individual pelas equipes de negocios antes de entrar em producao.

O sistema fazia parte de um ecossistema de dados mais amplo: upstream, os dados vinham dos ERPs Qualiac, G2P e Oracle alimentando o PIM, enquanto downstream os feeds conectavam-se a 75+ fornecedores de leads gerando um volume estimado de 1 lead a cada 2 segundos em todos os portais.

Desafios

Os portais imobiliarios parceiros (SeLoger, LeBonCoin, BienIci...) sao os principais canais de aquisicao de prospects do Groupe Pichet, alimentando um pipeline estimado em 400K euros/mes em leads. Qualquer interrupcao ou erro nos feeds se traduz diretamente em perda de leads e reducao do pipeline comercial. Com 25+ parceiros para migrar individualmente, o projeto exigiu atencao sustentada por varios anos mantendo zero tempo de inatividade nos feeds ativos.

Riscos

Inconsistencia de dados

Risco de publicar precos incorretos, imagens erradas ou imoveis ausentes nos portais - impactando diretamente a confianca dos compradores e os resultados comerciais.

Interrupcao de servico

Qualquer falha de feed significa que os imoveis desaparecem dos portais, causando perda imediata de leads para as equipes comerciais.

Divergencia de formatos

Cada portal tem requisitos unicos (proporcoes de imagem, codigos de tipologia, campos obrigatorios) - uma abordagem generica era impossivel.

Instabilidade da API

Problemas de conexao com a API PIM Akeneo podiam bloquear todas as exportacoes simultaneamente, exigindo gestao solida de erros e logica de retry.

Decisoes de arquitetura chave

Arquitetura modular por parceiro

Decisao: Um modulo isolado por portal parceiro ao inves de um motor generico configuravel

Justificativa: Cada portal tinha restricoes unicas (proporcoes de imagem, mapeamento de campos, codigos de tipologia). Um motor generico se tornaria um pesadelo monolitico de configuracao. A abordagem modular forneceu isolamento de falhas: um bug no modulo BienIci nao podia impactar os exports SeLoger. Tambem permitiu deploy e teste independente de cada feed.

Migracao progressiva ao inves de big-bang

Decisao: Migracao portal por portal com validacao de negocios a cada etapa, distribuida ao longo de 4 anos

Justificativa: Com 25+ parceiros alimentando diretamente a aquisicao comercial, uma migracao simultanea apresentava risco inaceitavel. Cada portal tinha especificacoes unicas para verificar. A abordagem incremental limitava o raio de impacto a um parceiro por vez e permitia rollback imediato em caso de problemas.

Processamento batch ETL ao inves de streaming em tempo real

Decisao: Exportacoes batch agendadas por CRON ao inves de publicacao em tempo real orientada a eventos

Justificativa: Os portais parceiros consumiam dados via depositos de arquivos FTP/SFTP, nao webhooks ou APIs. Eles processavam arquivos em seu proprio cronograma (geralmente uma ou duas vezes por dia). O processamento em tempo real teria adicionado complexidade sem beneficio dado o padrao de consumo downstream.

Pre-geracao multi-formato de imagens

Decisao: Pre-gerar todas as variantes de formato de imagem (4/3, 16/9, quadrado, panoramico) centralmente ao inves de sob demanda por parceiro

Justificativa: Os portais tinham restricoes rigorosas de imagem e nenhuma capacidade de redimensionamento do lado deles. A pre-geracao na origem permitia verificar a conformidade antecipadamente e armazenar resultados em cache, evitando processamento redundante da mesma imagem em multiplos portais.

ETL Data Pipeline
Extract-Transform-Load pipeline for partner feed generation

As etapas - O que eu fiz

Progressao cronologica do projeto

Fase 1
Transferencia de conhecimento e migracao inicial
Janeiro 2019

Antes de escrever qualquer linha de codigo, realizei uma auditoria completa do sistema existente: mapeamento das especificacoes de todos os 25+ parceiros, avaliacao da divida tecnica e definicao de uma matriz de priorizacao baseada no impacto comercial. Portais de alto trafego (SeLoger, LogicImmo) foram migrados primeiro para proteger a maior parte do volume de leads.

  • Gestao da transferencia completa de conhecimento de Andoni L. (Kariba) - tornei-me o unico responsavel tecnico em 2 semanas
  • Obtencao de acesso Master no repositorio GitLab Export Ligneurs
  • Migracao do primeiro lote de portais: SeLoger Neuf, LogicImmo, TULN, Paru Vendu, Mister Bell, Explorimmoneuf
  • Definicao dos criterios de validacao com Leslie A. e Gaetan B. - criacao da checklist de aceitacao reutilizada em todas as migracoes seguintes
Fase 2
Desenvolvimento de funcionalidades e novas integracoes
Junho - Setembro 2019

Priorizacao da integracao BienIci baseada em seu rapido crescimento de participacao de mercado no setor imobiliario frances. Escolha de construir adaptacao de imagem especifica por parceiro (conversao 16/9 para 4/3) ao inves de um redimensionador generico, pois as restricoes de cada portal eram diferentes demais para serem abstraidas em uma unica solucao.

  • Desenvolvimento de feature/add-hermes-lots - adicao de lotes Hermes nas exportacoes com correcoes do pipeline CI
  • Integracao do portal BienIci (feature/add-bienici-in-master) com adaptacao de imagens personalizada
  • Adaptacao do feed ImmoNeuf para conversao de formato de imagem 16/9 para 4/3
  • Debug dos feeds SeLoger e Knock (hotfix/debug-seloger, hotfix/debug-knock)
Fase 3
Estabilizacao e correcoes criticas
Janeiro 2020

Erros de precos exigiam resolucao no mesmo dia dado o impacto direto na receita. Implementei padroes defensivos: circuit breakers nas chamadas de API do PIM, logica de retry idempotente com backoff exponencial e logging estruturado para reduzir o tempo medio de diagnostico de horas para minutos.

  • Correcao de erros de precos nas exportacoes (hotfix/debug-prices) - resolvidos em horas para evitar impacto comercial
  • Resolucao de problemas de conexao com a API PIM (hotfix/debug-pim-api-connexion)
  • Implementacao de padrao circuit breaker e logica de retry com backoff exponencial para chamadas API
  • Adicao de logging estruturado para rastreamento de execucao das exportacoes, reduzindo tempo de diagnostico de incidentes
Fase 4
Novos parceiros e evolucao continua
Junho 2020 - 2023

Transicao do projeto do modo migracao para o modo plataforma. Estabelecimento de um processo padronizado de onboarding de novos parceiros (analise de especificacoes, scaffolding de modulo, checklist de validacao), reduzindo o tempo de integracao de semanas para dias nos builds Investimeo e BienIci.

  • Criacao da integracao Investimeo do zero (junho-outubro 2020) usando o processo de onboarding padronizado
  • Criacao do feed BienIci (outubro 2020) - integracao de novo portal
  • Atualizacao do feed de retargeting Criteo (outubro 2020)
  • Desativacao do parceiro Marketshot (outubro 2020) - remocao limpa do modulo sem afetar outros feeds
  • Evolucao do fluxo NEEDOCS para lignagem PI (JIRA LIGNEURS-74, fevereiro 2022)
  • Resolucao da anomalia de exportacao automatica BienIci (KESD-58153, julho 2022)
  • Correcao dos lotes Green Valley ausentes nos feeds (KESD-72984, 2023)
Cronologia cumulativa de migracao dos parceiros
Partner Migration Process
Step-by-step process for each partner migration

Os atores e interacoes

Ecossistema colaborativo

Como unico responsavel tecnico, eu coordenava diretamente com os stakeholders de negocios, fornecedores externos e portais parceiros. Cada migracao envolvia definir criterios de aceitacao, pilotar ciclos de validacao e tomar decisoes de go/no-go para deploy em producao. Isso exigia traduzir restricoes tecnicas em termos de negocios e vice-versa.

Andoni L.

Predecessor (Kariba)

Gestao da transferencia completa de conhecimento. Alcance da operacao autonoma completa do sistema de exportacao em 2 semanas, tornando-me a unica referencia tecnica para todo o escopo.

Gaetan B.

Referente de negocios

Co-definicao e aplicacao dos criterios de aceitacao para cada migracao: precisao de dados, conformidade de imagens, mapeamento de tipologias. Criacao de checklist de validacao reutilizavel.

Leslie A.

Referente de negocios

Conducao do processo de aceitacao funcional, coordenacao entre correcoes tecnicas e prioridades de negocios para manter a velocidade de migracao.

Franck C.

Gerente (N+1)

Reporte do progresso das migracoes, avaliacao de riscos e necessidades de recursos. Recomendacoes tecnicas para decisoes de coordenacao com fornecedores.

Sebastien B.

Equipe Kariba

Coordenacao do cronograma de deploy em producao. Estabelecimento de protocolo de deploy: validacao preprod, aprovacao de negocios, deploy prod, janela de monitoramento 24h.

Os resultados

Impacto para mim e para a empresa

Para mim
  • Responsabilidade tecnica completa de um sistema critico impactando diretamente a geracao de receita - canal principal de aquisicao de leads da empresa
  • Decisoes de arquitetura autonomas em um escopo de alto valor com responsabilidade total pela confiabilidade do sistema e precisao dos dados
  • Capacidade comprovada de pilotar um projeto tecnico de 4 anos com multiplos stakeholders: equipes de negocios, fornecedores externos e 25+ portais parceiros
  • Gestao do ciclo de vida completo do sistema: design de arquitetura, desenvolvimento, deploy, monitoramento, resposta a incidentes e evolucao continua
  • Lideranca transversal: definicao de processos de validacao, coordenacao de equipes de negocios e tecnicas, estabelecimento de procedimentos operacionais de onboarding de parceiros
Para a empresa
  • 25+ portais parceiros migrados do PIM v1.4 para o PIM v2 Akeneo sem interrupcao de servico - protecao de um pipeline de aquisicao de leads estimado em 400K euros/mes
  • 2 novas integracoes de parceiros construidas do zero (BienIci, Investimeo), expandindo a rede de distribuicao em ~8%
  • ~2.000 anuncios processados diariamente em 27+ portais, alimentando o canal principal de geracao de leads comerciais
  • 99,5%+ de disponibilidade do sistema em 4 anos de operacao continua, com tempo medio de resolucao de incidentes inferior a 4 horas
  • Gestao de tipologias imobiliarias padronizada em todos os feeds parceiros, reduzindo relatos de inconsistencia de dados pelas equipes de negocios
Distribuicao por tipo de parceiro
Distribuicao dos formatos de exportacao
Status de migracao dos parceiros
Tipologias imobiliarias gerenciadas

O que aconteceu depois

O que aconteceu apos a entrega

Resultado imediato: Apos a onda inicial de migracao (2019), o sistema entrou em uma fase de manutencao e evolucao continua. Novos parceiros foram adicionados conforme as necessidades de negocios, os feeds existentes foram atualizados para corresponder as especificacoes em evolucao dos portais, e as anomalias foram resolvidas a medida que eram detectadas.

A medio prazo: O sistema provou sua resiliencia ao longo de 4 anos de operacao continua, gerenciando mudancas de formato dos parceiros (atualizacoes de especificacoes BienIci, adicao de campos SeLoger) e evolucoes internas do modelo de dados (novos tipos de imoveis, mudancas na estrutura de precos).

Perspectiva de longo prazo: O sistema de exportacao se tornou uma peca de infraestrutura fundamental no Groupe Pichet, alimentando diretamente o pipeline comercial. As escolhas arquiteturais - modulos individuais por parceiro, gestao solida de erros, monitoramento automatizado - permitiram ao sistema escalar do lote inicial de portais para 27+ sem necessidade de redesign fundamental. A arquitetura modular que escolhi permitiu a qualquer desenvolvedor adicionar uma nova integracao de parceiro seguindo os padroes estabelecidos, sem necessidade de conhecer profundamente todo o sistema.

Distribuicao do esforco tecnico

Meu olhar critico

Analise retrospectiva honesta

O que funcionou bem
  • A estrategia de migracao portal por portal foi a decisao correta - minimizou riscos e permitiu validacao de negocios a cada etapa, com capacidade de rollback imediato
  • A gestao solida de erros e alertas por email permitiram detectar problemas antes de impactarem os resultados comerciais - tempo medio de deteccao inferior a 30 minutos
  • A arquitetura modular (um modulo por parceiro) facilitou a adicao, modificacao ou desativacao de feeds individuais sem efeitos colaterais nos outros parceiros
  • O estabelecimento de um processo padronizado de onboarding de novos parceiros reduziu o tempo de integracao de semanas para dias
O que poderia ter sido melhor
  • Um dashboard centralizado para monitoramento dos feeds teria reduzido o tempo gasto verificando alertas de email individuais
  • Testes de integracao automatizados para cada formato de parceiro teriam detectado regressoes de formato mais cedo
  • Melhor documentacao dos requisitos especificos de cada parceiro teria acelerado a integracao de novos membros na equipe
Se eu tivesse que refazer hoje
  • Eu implementaria um registro de especificacoes de parceiros desde o primeiro dia: uma base estruturada dos requisitos de formato, mapeamentos de campos e restricoes de imagem de cada portal. Isso teria reduzido o tempo de onboarding de novos parceiros em pelo menos 50%.
  • Eu adicionaria testes de integracao automatizados gerando exports de amostra e validando-os contra o schema de cada parceiro antes do deploy. Os ciclos de verificacao manual adicionavam 1 a 2 dias por migracao.
  • Eu construiria um dashboard de monitoramento centralizado com status dos feeds em tempo real ao inves de depender de alertas por email. O custo de troca de contexto de verificar emails individuais era significativo ao longo de 4 anos.
  • Eu pressionaria por uma camada de notificacao orientada a eventos acima do batch ETL, para alertar proativamente a equipe de negocios quando um feed termina ou falha, ao inves de esperar verificacoes manuais periodicas.
Licoes-chave aprendidas
  • Em sistemas multi-parceiros, nao existe "solucao universal" - cada integracao tem restricoes unicas que devem ser respeitadas
  • Projetos de longo prazo exigem uma mentalidade de manutencao desde o primeiro dia, nao apenas uma abordagem "construir e entregar"
  • A validacao de negocios a cada etapa de migracao e inegociavel quando o sistema impacta diretamente a geracao de receita
  • Como unico responsavel tecnico, o investimento mais valioso e na observabilidade do sistema - a capacidade de diagnosticar rapidamente os problemas importa mais do que prevenir cada falha possivel

Trajetoria relacionada

Experiencia profissional ligada a esta realizacao

Competencias aplicadas

Competencias tecnicas e humanas aplicadas

Galeria de imagens

Capturas e visuais do projeto