Une boutique B2B qui ne vend pas au panier.
Chez Jemapub, on n’achète pas un stylo, on en commande 500 avec son logo dessus. Le prix dépend de la quantité, du marquage et du pays où le produit est fabriqué. L’ancienne boutique tournait sur Prestashop, et chaque mise à jour de tarif passait par des manipulations à la main sur des milliers de fiches.
La migration de Prestashop vers WooCommerce a été l’occasion de rendre l’équipe autonome sur ces tâches. Les produits, les catégories, les clients et les adresses des pages ont été repris, avec des redirections pour conserver le référencement acquis.
Les grilles tarifaires s’importent en CSV.
Chaque fiche affiche un prix unitaire par palier de quantité, 250, 500, 1 000 pièces, puis sur devis au-delà. J’ai écrit un import CSV directement dans l’administration WordPress : il détecte le séparateur et l’encodage du fichier, crée ou met à jour les variations WooCommerce, génère le tableau de prix de la fiche, et rend compte des lignes qu’il n’a pas pu traiter. Jemapub estime à 80 % le temps gagné sur la mise à jour des prix.

Les clients cherchent par référence.
Un acheteur qui recommande ses goodies connaît la référence, pas le nom du produit. La recherche WooCommerce ne regardait que les titres et les descriptions. Elle couvre maintenant aussi les références, et une correspondance exacte mène tout droit à la fiche.
Les nouveautés ont leur propre page, et la durée pendant laquelle un produit compte comme nouveau se règle dans l’administration. Les filtres et la pagination y fonctionnent comme dans le reste du catalogue.
D’où vient le produit ?
Pour des acheteurs publics et des entreprises qui doivent justifier leurs achats, le pays de fabrication compte. Chaque produit porte le sien, 47 pays au total, et une carte interactive permet de n’afficher que les produits conçus ou fabriqués dans le pays choisi. Le filtrage se fait en Ajax, sans rechargement, avec un cache des requêtes pour ne pas faire attendre.
Dans le catalogue, trois filtres résument l’essentiel : fabrication française, européenne ou écologique, avec le nombre de produits de chaque famille.


Sous le capot.
Un thème Sage 11 construit sur Octa.
Le thème repose sur Octa, la base WordPress que je publie en open source : Bedrock, Sage 11 et Acorn côté PHP, Vite, Tailwind CSS 4 et TypeScript côté interface. Les blocs Gutenberg sont décrits avec ACF Composer, et les fonctionnalités métier vivent dans des service providers testés unitairement, pour qu’un autre développeur les reprenne sans deviner.
Les maquettes ont été dessinées sur Figma et intégrées en mobile first. La boutique est hébergée et maintenue par inRage depuis sa mise en ligne.






