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.
Ce que c'est
30 secondesLe geste
5 minutesDeux 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 · 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 · la ficheproduit.htmlContenance, doses, EAN, dosage, mentions de danger, responsable de mise sur le marché. Tout est relevé sur l'emballage, et un champ
sourcedit d'où vient chaque chiffre. - 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 · 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 · 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 · 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 · 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.
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.
La structure
15 minutesLe 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/2026Ce 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
refundsn'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.