causeimyourfat  /  cartes  /  panda boutique

En rayon,
jamais en ligne

PANDA vend ses lessives chez Stokomani et B&M, mais n'a ni site, ni catalogue, ni caisse : chaque commande passe par un message privé qu'un humain finit par lire. La boutique ci-dessous ne remplace pas un vendeur — elle remplace l'attente. Elle est la sœur de la carte web exemple : même geste, mais sur une marque réelle et avec la chaîne entière derrière la caisse.

00

Ce que c'est

30 secondes
Ce que c'estBoutique + consolevitrine en ligne, serveur prêt à poser
Pour quiPanda Group B.V.lessives et hygiène, déjà en GMS française
Échelle10 pages · 6 robots≈ 2 400 lignes de serveur
SocleNode 22 · SQLitezéro dépendance npm, zéro script tiers
1Le nombre de personnes qu'il faut pour tenir la chaîne. Achat, stock, commande, facture, expédition, service après-vente : chaque maillon est écrit comme une RÈGLE, pas comme une tâche à faire. Le patron ne traite plus, il arbitre — il ne voit que ce qui sort de la règle.
01

Le geste

5 minutes

Deux parcours, pas un : celui du visiteur qui achète un pack, et celui de la commande une fois payée — c'est le second qui coûtait des journées.

  1. 1 · la vitrineindex.htmlSeize packshots officiels du fabricant, et le prix au pack. Un bidon de 3 L à 5,95 € coûte 5 à 7 € à expédier : vendu seul, il perd de l'argent — l'unité d'achat est donc le lot.
  2. 2 · la ficheproduit.htmlContenance, doses, EAN, dosage, mentions de danger, responsable de mise sur le marché. Tout est relevé sur l'emballage, et un champ source dit d'où vient chaque chiffre.
  3. 3 · le panierpanier.htmlLe navigateur n'envoie jamais un prix : il n'envoie que {slug, qty}. Le total est recalculé en base à chaque devis. Un panier trafiqué au DevTools ne change aucun montant.
  4. 4 · la caisseStripe CheckoutLe webhook est signé (HMAC-SHA256, comparaison à temps constant, fenêtre de 5 min). Le passage en « payé » est idempotent : webhook et retour navigateur peuvent arriver tous les deux, le stock ne descend qu'une fois.
  5. 5 · la voie propro.htmlLe vrai client d'une marque de lessive, c'est une centrale ou un discount. SIRET, activité, volume, références — et un pipeline dans la console, à la place des messages privés triés à la main.
  6. 6 · la chaîneserver/flux.jsUne fois payé, plus personne ne touche la commande : facture émise et envoyée, transporteur choisi, suivi créé, client prévenu à chaque étape, réclamation simple traitée seule.
  7. 7 · la consoleadmin.htmlChaque chiffre est recalculé depuis la table events — aucun compteur tenu à part, donc aucun compteur qui dérive. Cliquer sur un visiteur déroule tout son parcours jusqu'à la commande.
Du fournisseur au service après-vente
FOURNISSEURréappro proposée
STOCKcouverture surveillée
COMMANDEprix relu en base
STRIPEwebhook signé
FACTUREémise, envoyée
EXPÉDITIONsuivi, relances
SAVtrié, escaladé

Les six robots sont débrayables un par un, et tout ce qu'ils font est journalisé dans robot_log : la traçabilité est la contrepartie de l'automatisme. Un robot qui agit sans laisser de trace est un robot qu'on finit par débrancher en entier. La vitrine publique s'arrête à la troisième case — la suite demande un serveur, voir plus bas.

02

La structure

15 minutes

Le flux

server/flux.js : les six robots — réappro, facturation, expédition, SAV, panier abandonné, entretien. Chacun s'éteint seul depuis la console, aucun ne le fait en silence.

Le traqueur

server/activity.js : une seule table events. L'entonnoir compte des visiteurs distincts, pas des clics — un visiteur qui ajoute trois fois au panier compte pour un.

La garde

server/garde.js : seaux à jetons, verrou de compte, CSP. Mots de passe en scrypt avec sel, comparaison à temps constant, 400 ms de latence sur échec.

Le courrier

server/courrier.js : client SMTP écrit sur node:net et node:tls. Sans configuration, le message est enregistré « simulé » et s'affiche dans la console — jamais perdu, jamais silencieux.

Le générateur de vitrine

outils/vitrine-statique.js : régénère les dix pages depuis la base et les publie par SSH. Chaque script porte l'empreinte de son contenu dans son adresse — l'hébergeur garde sept jours.

Le guide

Le destinataire ne gère pas de serveurs. La console porte donc son mode d'emploi, et la mise en service est écrite ligne à ligne dans DEPLOIEMENT.md.

Une marque déjà en rayon n'a pas un problème de notoriété, elle a un problème de guichet : il n'y en a aucun. Tant que la seule porte d'entrée est un message privé, la vente s'arrête à la vitesse de lecture d'une personne — et chaque campagne se juge à l'intuition, faute de savoir laquelle a vendu.

Panda Group B.V. · Vilvoorde · BCE 0787.411.851 · relevé du 07/09/2026

Ce que ça ne fait pas

  • La vitrine en ligne n'encaisse rien. Un hébergement mutualisé ne garde pas de secret, donc pas de clé Stripe : le catalogue et le panier marchent, la caisse attend un serveur à ~5 €/mois.
  • Le robot d'après-vente annonce un remboursement que Stripe n'exécute pas : l'appel refunds n'est pas branché. Relevé à l'audit du 09/09/2026, pas encore corrigé.
  • Sur téléphone, l'entête de la boutique déborde — le bouton panier est hors de l'écran (mesuré à 458 px pour un écran de 390). Même audit, même statut.
  • CGV, mentions légales, politique de retour et cookies : rien n'est écrit. La TVA relève du guichet OSS au-delà de 10 000 € annuels — à trancher avec un comptable avant la première vente, pas après.
  • Les photos sont les packshots publiés par le distributeur. À faire valider par la marque avant toute mise en ligne publique — l'idéal reste ses propres fichiers sources.
  • Aucun accord avec la marque. C'est une proposition construite sur des relevés publics, pas une commande. Deux références papier restent marquées « à confirmer » et sont à stock zéro.
Voir tournerLa vitrine PANDA En ligne — vrai catalogue, panier qui marche, n'encaisse rien.ouvrir → Les autresToutes les cartes Dix projets, dix plans lisibles en cinq minutes. ← revenir
Voir la vitrine accès libre