Commerce électronique dès la conception

Simple à l’achat.Simple à gérer.

Une boutique a deux côtés : celui que voit votre clientèle et celui que gère votre équipe. Sur notre nouveau système, les deux reposent sur des règles inscrites dans le code : un choix avant le panier, un panier qui ne se perd pas, des prix revérifiés à la caisse, des taxes au cent près. Plus bas, une petite boutique de démonstration, Nocturne, est ouverte. Ajoutez, choisissez, changez d’idée : rien n’est vendu, rien n’est facturé.

Nocturne est une démonstration : ses articles sont dessinés pour cette page, ses prix sont inventés et aucune donnée de paiement n’est demandée. Les règles s’exécutent dans votre navigateur, et votre panier de démonstration y reste.

01 · L’étalage

Un geste, et le panier répond.

Rien à choisir : un geste depuis la carte. Des options : la carte demande d’abord. Regardez le panier répondre, puis prenez la main : les articles sont inventés, le panier est du vrai code de boutique, gardé dans votre navigateur.

Démonstration · rien n’est vendu

Nocturneprovisions pour nuits claires

01 · L’étalage

  • Graines de comète

    9,00 $

    Rien à choisir

  • Casse-tête constellation

    29,00 $

    3 au plus dans le panier

  • Verre de marée

    24,00 $

    Format unique · 500 ml

  • Lanterne de lune

    38,00 – 64,00 $

    4 phases · 1 épuisée

    Lanterne de lune

    Choisissez une phase38,00 – 64,00 $

  • Thé des étoiles

    14,00 – 28,00 $

    50 g ou 120 g

    Thé des étoiles

    Choisissez un format14,00 – 28,00 $

  • Écharpe aurore

    72,00 $

    4 couleurs · 1 épuisée

    Écharpe aurore

    Choisissez une couleur72,00 $

02 · Votre panier

Montré par la visite

 

Sous-total

Articles dessinés, prix inventés. Le panier est du vrai code de boutique, gardé dans votre navigateur, sans rien envoyer.

Comment c’est lu

Un geste, ou un choix d’abord

Les règles d’achat communes de notre nouveau système décident de l’action de chaque carte. Un produit sans rien à choisir, ou à option unique, entre dans le panier d’un seul geste, depuis sa carte. Un produit à options demande d’abord le choix, et sa carte affiche la fourchette de prix tant que rien n’est choisi. Une option épuisée reste en vue, désactivée. Chaque produit garde aussi sa propre limite par ligne.

Ce qu’une ligne garde

Le produit, l’option choisie, la quantité, et un prix gardé pour l’affichage seulement : à la caisse, la boutique reprend le panier à ses propres prix.

Où il est gardé

Dans le stockage de ce navigateur, sous un nom qui lui est propre : il vous suit dans un deuxième onglet et après un rechargement. Rien n’en est envoyé. La vraie boutique de ce site garde un panier distinct, auquel cette page ne touche pas.

La visite

L’histoire qui joue d’abord se déroule dans un panier à elle, marqué « Montré par la visite ». Elle n’écrit jamais dans le vôtre : seuls vos propres gestes le font.

02 · Les choix

Pas de choix, pas de panier.

Tant qu’aucune phase n’est choisie, la lanterne affiche sa fourchette de prix et son bouton dit ce qui manque. Une phase épuisée reste visible, désactivée. Retirez la règle et voyez ce que fait une boutique ordinaire.

Règles en direct · Produit dessiné

La fiche de la lanterne de lune

01 · La pièce

02 · Le choix

Lanterne de lune

38,00 – 64,00 $

fourchette de prix · aucun choix

Phase
Quantité1 – 2 par phase
1
Verre de maréeFormat unique · 500 ml
24,00 $

03 · Les règles

0 sur 5 allumées par vous
  1. Rien n’entre sans choix, pas encore appliquée
  2. Sans choix, le prix est une fourchette, pas encore appliquée
  3. L’option épuisée reste visible, désactivée, pas encore appliquée
  4. Une seule option n’est pas une question, pas encore appliquée
  5. La quantité respecte les limites du produit, pas encore appliquée

Quarantaine · hors de votre panier

Vide. Seul le mode « Sans elle » y dépose une ligne.

Les règles s’exécutent en direct, depuis le code des boutiques de notre nouveau système. La lanterne, ses prix et son stock sont inventés.

Comment c’est lu
Rien n’entre sans choix
Le bouton Ajouter consulte d’abord les règles d’achat partagées. Tant qu’aucune phase n’est choisie, elles répondent qu’un choix manque, et aucune ligne n’est créée. Mettre la première option au panier sans demander produit une commande fausse et pourtant cohérente : c’est la clientèle qui la découvre, pas un test.
Sans choix, le prix est une fourchette
Tant qu’aucune phase n’est choisie, aucun prix unique n’est vrai : la fiche affiche le plus bas et le plus haut des phases de la lanterne. Un seul prix apparaît dès que les règles ont une phase à évaluer.
L’option épuisée reste visible, désactivée
Une phase épuisée reste sur la fiche, nommée et désactivée. Le clavier l’atteint toujours et entend pourquoi elle ne peut pas être choisie ; une phase disparue laisserait la clientèle se demander si elle a déjà existé.
Une seule option n’est pas une question
Quand un produit n’a qu’une option, les règles la choisissent d’avance, même sur une fiche qui demande tous les autres choix. Le verre de marée entre d’un seul geste.
La quantité respecte les limites du produit
Le sélecteur prend son minimum, son maximum et son pas dans le produit, et les règles les vérifient de nouveau quand la ligne est créée. Votre panier tient chaque ligne au même maximum : la lanterne s’arrête à deux par phase.
En direct, et « Sans elle »
Chaque anneau s’allume selon la réponse des règles partagées, calculée dans votre navigateur, pas selon une minuterie. « Sans elle » fait passer la même lanterne par un raccourci, la première phase quand rien n’est choisi ; sa ligne reste en quarantaine et n’atteint jamais votre panier. La visite appuie sur les mêmes boutons que vous et n’écrit jamais dans votre panier.

03 · Le panier

Un panier qui suit.

Changez une quantité : chaque chiffre suit. Retirez une ligne : elle peut revenir. Franchissez le seuil : un cadeau s’ajoute. Puis rechargez la page ou ouvrez un deuxième onglet : le panier est gardé dans votre navigateur.

En direct · le panier de démonstration

Le panier, sur l’établi

Ouvrir un autre onglet

01 · Le panier

Lecture de votre panier…

Encore 28,00 $ pour une carte postale du ciel, gratuite

  • Graines de comète

    9,00 $ l’unité

    1
    9,00 $
  • Verre de marée

    500 ml

    24,00 $ l’unité

    1
    24,00 $
  • Thé des étoiles

    50 g

    14,00 $ l’unité

    1
    14,00 $
Sous-total estimé · prix inventés47,00 $

02 · Gardé dans votre navigateur

Lu en direct

PersistantlocalStorage · mystya.demo-bag.v1
Révision—
Lignes · produit, option, quantité

—

Enregistré0octets
Requêtes—modifiez le panier pour compter

03 · Un autre onglet

Ouvrez un deuxième onglet et changez-y le panier : celui-ci suit.

 

Ouvrez un deuxième onglet pour le voir

Lu en direct dans le stockage de ce navigateur. Rien de ce panier ne quitte votre appareil.

Comment c’est lu

Où vit le panier

Le panier est le module de panier qu’utilisent les boutiques WordPress découplées de notre nouveau système, gardé dans le localStorage de ce navigateur sous une clé à lui. Chaque modification réécrit tout le panier avec une nouvelle révision, un identifiant aléatoire qui permet à la boutique de distinguer une version de la suivante. Les octets sont la longueur de ce qui est enregistré, comptée en UTF-8.

Après un rechargement, dans un deuxième onglet

Au chargement, le panier est relu depuis le stockage, et de nouveau à l’événement pageshow : les boutons Précédent et Suivant le ramènent aussi. Un autre onglet de ce site reçoit un événement storage chaque fois que celui-ci écrit, et relit le panier : les deux restent à jour. Un événement storage ne survient que pour une modification faite dans un autre onglet ; l’étiquette « en direct » est donc la preuve qu’il existe.

Quand le stockage est refusé

Certaines fenêtres privées et certains réglages stricts refusent le stockage. Le panier vit alors en mémoire pour cette visite, et le dit ici, au lieu d’échouer.

Des intentions, pas une commande

Le panier garde des produits, des options et des quantités, avec les prix affichés. Ce n’est pas une commande : les prix sont confirmés à la caisse, d’après les registres de la boutique (section 04).

Le cadeau et les requêtes

Une boutique peut offrir un cadeau à partir d’un seuil ; celui de Nocturne, la carte postale et ses prix sont inventés. Ici, le cadeau se tient en tête du panier, déduit du sous-total : ce n’est pas une ligne, il n’est donc ni compté, ni facturé, ni retiré. Sur les boutiques WordPress de notre nouveau système, le serveur de la boutique applique de nouveau la règle à la commande qu’il reçoit. Le compte de requêtes lit le Resource Timing du navigateur : les requêtes lancées dans la seconde qui suit chacune de vos modifications ici, sans compter les préchargements de pages du cadriciel.

La visite

La visite se joue sur une copie : de votre panier s’il a des lignes, d’un panier d’exemple s’il est vide. Son rechargement et son deuxième onglet sont montrés, pas faits ; les deux boutons du haut les font réellement.

04 · La caisse

Les prix se fixent à la porte.

Ce qui quitte votre navigateur nomme des produits, des options et des quantités, sans aucun prix. La boutique les reprend à ses propres prix et les taxe selon la destination. Modifiez un prix ici : il est ignoré.

Projection en direct · Boutique illustrative

01 · Votre navigateur

Le panier, en données

basketId
6e6f637475726e65a7c3e19052d48f6b
revision
3f1c9a7e5b2d4086c1e8f3a59b7d2e60
  • Graines de comètecombien ×1prix affiché 9,00 $9001 · 0
  • Verre de marée · 500 mlcombien ×1prix affiché 24,00 $9003 · 90031
  • Thé des étoiles · 50 gcombien ×1prix affiché 14,00 $9005 · 90051
  • Lanterne de lune · Croissantcombien ×1prix affiché 38,00 $9004 · 90041

02 · Notre serveur

Ce qui part vraiment

version
1locale fr
basketId
6e6f637475726e65a7c3e19052d48f6b
revision
3f1c9a7e5b2d4086c1e8f3a59b7d2e60
  • productId 9001variationId 0quantity 1
  • productId 9003variationId 90031quantity 1
  • productId 9005variationId 90051quantity 1
  • productId 9004variationId 90041quantity 1
écartésÉcartés avant le scellage : price, name, option, image, currency, minorUnit, soldIndividually, slug.

Sceau · HMAC-SHA-256valable 5:00

—

—

après le # de l’adresse, hors des journaux

03 · Les registres

Prix repris, taxes selon l’adresse

  • Graines de comète×1affiché 9,00 $9,00 $
  • Verre de marée · 500 ml×1affiché 24,00 $24,00 $
  • Thé des étoiles · 50 g×1affiché 14,00 $14,00 $produit d’épicerie de base · ni TPS ni TVQ
  • Lanterne de lune · Croissant×1affiché 38,00 $38,00 $

Sous-total85,00 $

taxes sur 71,00 $

  • TPS 5 %3,553,55
  • TVQ 9,975 %7,082257,08

Total95,63 $

04 · Le paiement

Scellé, et pas chez nous

Un panneau scellé : aucun champ, aucun formulaire

Les données de carte se saisissent dans les champs sécurisés du fournisseur de paiement, jamais dans les nôtres. Pour une boutique WordPress, la caisse de WooCommerce prend le relais ici.

Cette démonstration s’arrête à la porte.

Code de paiement chargé par cette page

—

js.stripe.com · m.stripe.network

01 · Le panier

Tel qu’il est

revision
3f1c9a7e5b2d4086c1e8f3a59b7d2e60
caisse ouverte à
b84e2a6c90d13f57e2a8c4b6d1f09e35
  • Graines de comète×1
  • Verre de marée · 500 ml×1
  • Casse-tête constellation×1ajouté depuis
  • + 2 autres lignes

02 · Le reçu

Au retour de la caisse

état
completed
pour la révision
b84e2a6c90d13f57e2a8c4b6d1f09e35
articles
—

isLostCheckout(receipt)false

03 · Le panier après

Ce que les règles décident

reconcileBasket(bag, receipt)

Gardé5 lignes

  • Graines de comète×1
  • Verre de marée · 500 ml×1
  • Casse-tête constellation×1
  • + 2 autres lignes

04 · Quatre retours

Essayez chacun

Seule une commande terminée pour ce panier exact le vide.

Modifiez un prix, passez à la caisse, modifiez le paquet : chaque vérification s’exécute dans votre navigateur, sur une copie du panier.

Le paquet est construit à partir du panier d’exemple ; les taxes suivent les taux vérifiés le 2026-10-02. Le côté boutique est simulé. Signé ici avec une clé jetable créée dans votre navigateur pour cette page. Une vraie boutique signe sur son serveur, avec un secret que le navigateur ne voit jamais.

Comment c’est lu
La projection
La fonction qu’exécutent les boutiques WordPress de notre nouveau système avant la caisse, appliquée en direct à une copie du panier. Elle garde la version, le panier, sa révision, la langue et, pour chaque ligne, le produit, l’option et la quantité. Toute autre clé est écartée, et la liste des clés écartées est calculée, pas écrite.
Le sceau
Un HMAC-SHA-256 calculé par la cryptographie de votre navigateur, sur le paquet écrit en base64url, avec une clé créée une seule fois à l’ouverture de cette page, jamais enregistrée, disparue quand vous partez. Sur nos boutiques WordPress, le serveur signe avec un secret qu’il ne partage qu’avec la boutique ; le paquet vaut cinq minutes et voyage après le # de l’adresse. Pour notre propre boutique, le serveur vérifie lui-même le panier et fixe le prix de chaque article d’après son catalogue avant d’appeler le fournisseur de paiement.
Les prix
Le catalogue de Nocturne tient lieu des registres de la boutique : le côté serveur est simulé dans votre navigateur, et les prix sont inventés.
Les taxes
Le module de taxes de vente du site, pour une boutique québécoise inscrite aux fichiers de la TPS/TVH et de la TVQ : chaque taxe est calculée sur les lignes taxables et arrondie au cent séparément, comme sur une facture. Le Thé des étoiles, produit d’épicerie de base, est détaxé. Une taxe de vente provinciale ne s’applique que là où la boutique y est inscrite : aucune n’est montrée.
Le retour
Les deux règles qu’appliquent les boutiques de notre nouveau système quand on revient de la caisse, sur une copie du panier et avec des reçus inventés. Un reçu pour une révision plus ancienne n’efface jamais des choix plus récents, et une caisse ouverte qui ne contient rien est traitée comme perdue, pas comme un choix.
Le code de paiement
Lu en direct dans le Resource Timing : les requêtes de cette page vers js.stripe.com et m.stripe.network. Notre propre boutique ne charge le script de Stripe qu’à l’ouverture de sa caisse, et cette page n’a pas de caisse.

05 · Votre côté

Un geste pour eux. Quatre choses pour vous.

La clientèle voit une confirmation dans sa langue. De votre côté, au même moment : la commande arrive dans WordPress, le stock baisse là où il est suivi, les courriels partent, le paiement est inscrit. Regardez les deux côtés.

Illustratif · votre panier, vrai calcul

01 · Leur écran

02 · Votre côté

Une commande d’exemple, montrée par la visite

Merci

Commande DEMO-7F3A

  • Graines de comète×1
  • Verre de marée×1
  • Thé des étoiles×1
  • +1 de plus
  • Carte postale du cielGratuit

Total95,63 $

Une confirmation est en route

  1. Commandesdans WordPress
    En attente de la prochaine commandeDEMO-7F3A4 articles95,63 $PayéeNouvelle
    DEMO-9B052 articles66,69 $PayéeExemple
    DEMO-2C811 article28,00 $PayéeExemple
    DEMO-7F3A · 4 articles · 95,63 $Payée
  2. Stocklà où la boutique le suit+1 autre ligne
    Lanterne de lune · Croissant2 → 1Stock bas · votre équipe est avisée
    Verre de marée · 500 ml7 → 6 
    Thé des étoiles · 50 g12 → 11 
    Lanterne de lune · Croissant · 2 → 1Stock bas · votre équipe est avisée
  3. Courrielsenvoyés par votre boutique

    À la clientèle · en françaisDessiné, non envoyé

    Votre commande Nocturne DEMO-7F3A est confirmée

    Merci. 4 articles, 95,63 $, TPS & TVQ incluses.

  4. Paiementinscrit à la commande
    1. Payé
    2. Inscrit à la commande
    3. Versé selon les conditions de votre fournisseur

    Total 95,63 $ : sous-total 85,00, plus TPS 3,55, TVQ 7,08. Thé des étoiles : produit d’épicerie de base · ni TPS ni TVQ.

    Payé · inscrit · versé selon les conditions de votre fournisseurThé des étoiles : produit d’épicerie de base · ni TPS ni TVQ95,63 $

1 commande · 4 articles · stock à jour · 2 courriels · 95,63 $ inscrits

Dans l’administration de votre boutique, là où votre équipe modifie déjà le site. Enregistrer un produit actualise la vitrine en arrière-plan (voir Performance dès la conception).

Aucune commande n’est créée, rien n’est facturé. Les étapes sont celles d’une vente sur notre nouveau système ; temps dessinés ; taxes calculées sur votre panier.

Comment c’est lu
Là où votre équipe travaille
Dans l’administration de votre boutique, là où votre équipe modifie déjà le site. Enregistrer un produit actualise la vitrine en arrière-plan (voir Performance dès la conception).
Illustratif
Le déroulement et ses temps sont dessinés. Aucune commande n’est créée, aucun courriel n’est envoyé et rien n’est facturé. Le stock de Nocturne et les deux commandes d’exemple de la liste sont inventés, comme ses articles et ses prix.
Les quatre étapes
C’est ainsi qu’une vente s’inscrit dans les boutiques WooCommerce de notre nouveau système : la commande créée dans WooCommerce, le stock diminué là où la boutique le suit, la confirmation à la clientèle et l’avis de nouvelle commande à l’équipe envoyés par la boutique, et le paiement inscrit à la commande par le fournisseur de paiement. Un panier qui demande plus que l’étalage n’en contient est refusé à la caisse.
Réel
Les montants sont calculés sur le panier, en cents entiers. Les taxes viennent du module de taxes de vente du site, calculées sur les lignes taxables (le Thé des étoiles, produit d’épicerie de base, ne porte ni TPS ni TVQ), chaque taxe arrondie au cent séparément, aux taux vérifiés le 2026-10-02. Votre panier est vidé par la vraie règle : l’ouverture de la caisse marque la révision du panier, et seule une commande complétée pour cette même révision le vide ; un panier changé depuis est gardé. « Remettre le panier » y replace vos lignes.
Dans notre propre boutique
La boutique de ce site ajoute deux étapes à elle : un paiement est confirmé par un message signé du fournisseur de paiement et vérifié auprès de ses registres, un message répété n’étant compté qu’une fois ; puis un lien de téléchargement privé est envoyé par courriel dans la langue de l’acheteur, valable sept jours.

La pratique

Une boutique tient parole. À chaque clic.

Une bonne boutique repose sur des règles communes, plutôt que redécidées à chaque projet : un choix avant le panier, un panier qui ne se perd pas, un prix vérifié à la porte, des taxes calculées au cent près, et des données de paiement confiées au fournisseur de paiement. Nous bâtissons des boutiques sur WordPress et WooCommerce pour les équipes qui gèrent leur propre catalogue, et sur Stripe pour les catalogues plus petits, comme le nôtre. Notre nouveau système part de ces règles pour chacune ; le style, les produits et la voix sont les vôtres.

Ce que montre cette page, c’est notre nouveau système, notre façon de bâtir aujourd’hui. Les sites livrés avant lui ne l’incluent pas forcément.

Une boutique en vue ?

Dites-nous ce que vous vendez. Nous vous montrerons les premières règles que nous appliquerions à votre boutique.

Nocturne · démonstration

Votre panier de démonstration

0 articles

Votre panier de démonstration est vide.

Ajoutez un article de l’étalage de Nocturne : rien n’est vendu, rien n’est facturé.

Aller à l’étalage