Gérer le stock physique d’un magasin de vélos dans PrestaShop

Dans une boutique de vélos, le stock n’est pas comparable à celui d’un e-commerce classique. Chaque vélo est une pièce identifiée — taille, coloris, numéro de série, parfois millésime. Deux Orbea Kemen H30 taille M en magasin ne sont pas interchangeables sur le ticket : l’un peut être de série 2025, l’autre 2026, avec des composants différents.

Le module Stock Physique relie ce niveau de granularité au catalogue PrestaShop, pour que le client en ligne voie ce qui est réellement disponible chez le vélociste.

Côté client : ce que voit l’acheteur

Sur la fiche produit, en plus du stock global du site marchand, le client voit :

  • Disponibilité immédiate en magasin (vélos prêts à l’essai)
  • Tailles et coloris exacts présents
  • Possibilité de demander un essai (croisement avec le module Demandes d’essai)

Pour le magasin, c’est un argument différenciant face aux pure players : « venez le voir, l’essayer aujourd’hui ». Pour le client, c’est zéro déception en se déplaçant.

Côté technique

Le module ajoute à PrestaShop 9 une nouvelle table vlstockphys_unit dans laquelle chaque ligne représente un vélo physiquement présent en magasin. Ces unités sont rattachées au catalogue PrestaShop via id_product et id_product_attribute, ce qui permet de tracer indifféremment un produit simple ou une déclinaison particulière (taille M, coloris noir mat). Les champs typiques d’une unité couvrent le numéro de série, l’emplacement physique en magasin, la date d’entrée en stock, le prix d’achat et l’état neuf ou occasion.

L’import initial des données s’effectue depuis un Google Sheet via la Google Sheets API, en utilisant une clé service-account pour lire le classeur « Stock Veloland Lorient » et ses huit feuilles dédiées chacune à une catégorie vélo. Cet import a été conçu comme un outil ponctuel destiné à la migration pré-production. En exploitation courante, c’est le back-office PrestaShop qui prend le relais pour gérer les entrées et les sorties de stock via une interface CRUD dédiée.

Côté affichage, le module se branche sur le hook displayProductExtraContent pour injecter le bloc de disponibilité physique directement sur la fiche produit, sans nécessiter de modification dans le thème.

Pourquoi c’est pertinent pour un vélociste

Un vélo se choisit en personne. Position, géométrie, sensations à l’essai — autant de critères impossibles à valider sur photo. Le vélociste qui peut prouver en temps réel « ce modèle est ici aujourd’hui, en taille M, prêt à essayer » gagne sur les deux terrains : visibilité web et conversion en magasin.

Retour en haut