Karuselle
Une marketplace multilingue de mode de créateurs de seconde main sélectionnée : recherche sémantique, commissions vendeurs flexibles, déclarations fiscales européennes et nouveaux moyens de paiement sur une base de code Laravel en croissance.

Défi
Une marketplace de mode multilingue, avec de nombreux vendeurs et plusieurs canaux de vente externes, devait continuer à grandir sur une base de code vieillissante : une recherche plus intelligente, des commissions justes et flexibles, des déclarations fiscales européennes, davantage de moyens de paiement — et une boutique qui reste rapide et sûre.
Solution
Trois ans en tant que seul développeur :
- Mise à niveau du framework : Laravel 5.8 → 6 → 7 → 8 → 9 → 10 → 11 avec tous les paquets, et PHP 7.4 → 8.x en deux semaines, ainsi qu’une migration vers un nouveau serveur.
- Recherche sémantique en quatre langues : un service d’embeddings et une base de données vectorielle auto-hébergés, synchronisation incrémentale de l’index via des files d’attente, repli sur la recherche classique avec un circuit breaker, un interrupteur dans l’administration sans déploiement, un filtre déterministe couleur/catégorie/matière, des synonymes et des commandes de diagnostic.
- Catalogue et vitrine : filtres AJAX en direct dans des tiroirs avec compteurs, conversion des tailles vers les tailles UE et les systèmes de tailles par pays, filtres par remise et par vendeur, URL optimisées pour le SEO, refonte complète des fiches, de l’en-tête, du pied de page et du méga-menu, bannières et sliders de la page d’accueil gérés par glisser-déposer.
- Faire une offre : l’acheteur propose un prix, l’administrateur fait une contre-offre par e-mail, même aux invités, avec limites par personne, expiration et protection contre les doubles clics.
- Paiement et moyens de paiement : frais Buyer Protection dans le panier, le paiement, les e-mails et les factures avec TVA ; codes promo, livraison selon le pays ; Stripe avec 3D Secure, Apple Pay et Google Pay, PayPal REST, Paysera avec vérification du montant.
- Vendeurs et argent : canaux de vente avec leurs propres commissions et factures, une facture distincte par vendeur dans une même commande, dates de versement aux vendeurs, une déclaration fiscale européenne DAC7 en XML, des numéros de facture attribués sous verrou de base de données, et un module Commission Rules avec un résolveur unique, des taux par canal, des règles selon l’ancienneté de l’annonce, un aperçu, un tri par glisser-déposer et un journal des modifications.
- Flux et marketing : Google Merchant, Facebook, marketplaces partenaires en CSV, synchronisation e-commerce avec Mailchimp, consent mode v2.
- SEO et GEO : données structurées pour les produits, le fil d’Ariane et la FAQ, canonical et hreflang uniquement pour les traductions existantes, noindex pour les facettes, règles robots pour les robots d’IA et llms.txt, un sitemap quotidien et une commande de contrôle SEO.
- Langues : LT, EN, PL et RU avec traduction à l’enregistrement et commandes de synchronisation hebdomadaires.
- Administration et exploitation : panneaux des files et des jobs avec heartbeat des workers, exports en arrière-plan, récupération de session qui conserve le texte saisi, nettoyage des brouillons de produits abandonnés.
- Sécurité : un audit de sécurité a comblé des failles de contrôle d’accès et d’accès aux fichiers, ajouté une limitation des connexions par compte et par IP, mis fin aux sessions lors d’un changement de mot de passe et restreint les types de fichiers téléversés.
- Tests : une suite de tests passée de zéro à 239 tests, avec un garde-fou qui empêche de les lancer en production.
Résultat
- Calcul des commissions pour 50 produits : de 101 requêtes en base à 2.
- Liste des offres : 169 → 121 requêtes par page ; un produit avec 35 offres : 92 → 64.
- Miniatures de produits : 136 Ko → 20 Ko chacune (60 par page de catégorie) ; images d’un produit 2,5 Mo → 0,5 Mo.
- Les gains des vendeurs dans l’historique des ventes affichent désormais ce qui a réellement été facturé — une erreur touchant la plupart des lignes historiques a été détectée et corrigée.
- La recherche sémantique couvre environ 9 000 produits en production.