Passer au contenu principal

ArtinTech Solution

Shopify cart drawer with a Safety Package shipping protection toggle switched on

Le message est arrivé un mercredi matin, avec une capture d’écran et un morceau d’ancien code en pièce jointe. Le propriétaire d’une boutique en ligne de Copenhague qui vend des valises en aluminium et des articles de voyage, que nous appellerons Havn & Co., avait vu quelque chose dans le panier d’un concurrent et le voulait aussi : un petit encadré sous les produits avec le texte Pack sécurité : protection contre la perte, le vol et les dommages, et un interrupteur que le client peut activer avant de payer.

Nous le voulons exactement comme ça, disait le message, et nous voulons modifier nous-mêmes le texte, l’image et les couleurs. Pas de nouvelle application, s’il vous plaît. Cette étude de cas montre comment nous avons construit cet interrupteur de protection de livraison Shopify : ce que fait la fonction, pourquoi chaque élément est là, la surprise découverte sur la boutique en ligne et toutes les options ajoutées à l’éditeur de thème.

À propos de cette étude de cas : elle s’appuie sur un vrai projet Shopify pour un client danois. Le nom de la boutique a été modifié et les images sont des illustrations. Les fonctions, réglages et tests sont décrits tels qu’ils ont été livrés.

Panier Shopify avec l’interrupteur de protection de livraison Pack sécurité activé
L’encadré Pack sécurité terminé dans le panier, activé. (Illustration.)

Le projet en bref

ClientBoutique en ligne danoise de valises et d’articles de voyage, prix en DKK
PlateformeShopify, thème Horizon 3.5, application de panier Upcart
FonctionInterrupteur facultatif « Pack sécurité » (protection de livraison) dans le panier
Livré1 snippet, 1 script, 1 feuille de style, un nouveau groupe Safety package dans les réglages du thème et de petits ajouts dans 4 fichiers
ContraintesPas d’application de protection supplémentaire, pas de changement de thème, tout modifiable dans l’éditeur, textes en danois

La demande : ce que voulait la boutique

À partir de la capture, de l’exemple de code et d’un court appel, nous avons résumé la demande en cinq besoins concrets :

  1. Un encadré de protection dans le panier, juste sous les produits, avec une icône, un titre, une courte description et un interrupteur.
  2. Un seul geste pour l’ajouter ou le retirer, avec un total mis à jour instantanément et sans rechargement de page.
  3. Un panier propre : la protection ne doit pas apparaître comme une ligne produit supplémentaire déroutante.
  4. Un contrôle total dans l’éditeur de thème : texte, image, tailles, couleurs et produit tarifé, sans toucher au code.
  5. Des textes en danois sur la boutique : Sikkerhedspakke et Beskyttelse mod tab, tyveri og skade.

Un interrupteur de protection de livraison : quoi et pourquoi

Un interrupteur de protection de livraison permet au client de choisir, à la dernière étape avant le paiement, de régler de petits frais pour être couvert si le colis est perdu, volé ou endommagé. Derrière l’interrupteur se trouve un produit Shopify classique (49 kr dans nos illustrations) ajouté au panier ou retiré.

Pour une boutique qui vend des valises à plusieurs centaines de couronnes, il remplit trois rôles à la fois :

  • De la sérénité au bon moment. La question « et s’il se perd ? » trouve sa réponse à côté du bouton de paiement, là où l’hésitation apparaît.
  • Plus de revenus par commande. Chaque client qui l’active ajoute les frais à la commande, et la boutique décide comment les utiliser pour couvrir les sinistres.
  • Moins de demandes au service client. Si un colis disparaît, un accord clair sur ce qui est couvert existe déjà.

Une règle a façonné tout le design : dans l’UE, une option payante supplémentaire doit être choisie activement par le client. La directive sur les droits des consommateurs (2011/83/UE, article 22) interdit les cases précochées pour les paiements supplémentaires. C’est pourquoi l’interrupteur est désactivé par défaut, et le mode d’ajout automatique facultatif est clairement indiqué dans les réglages et respecte toujours le client qui le désactive.

Comparaison du panier Shopify avec la protection de livraison désactivée puis activée, le total passe de 489 kr à 538 kr
Désactivé et activé : l’interrupteur ajoute le produit de protection et le total se met à jour aussitôt. (Illustration.)

La surprise : le panier n’était pas celui du thème

Notre première version intégrait l’encadré dans le panier latéral du thème Horizon. Le code fonctionnait, mais sur la boutique en ligne, il restait introuvable. La raison : la boutique utilise Upcart, une application qui remplace entièrement le panier du thème et dessine le sien, isolé des styles du thème.

Plutôt que de demander au client de coller du code dans l’application, nous avons inspecté la boutique en ligne, vérifié les fonctions Upcart disponibles et changé d’approche : le thème conserve tous les réglages, et un petit script place l’encadré dans le panier Upcart, le maintient en place quand Upcart se redessine et demande à Upcart de se rafraîchir après chaque changement. La version pour le panier du thème reste en réserve si la boutique retire un jour Upcart.

Les fonctions, une par une

1. Un interrupteur et un total instantané

Quoi : l’interrupteur ajoute ou retire le produit de protection via l’API panier de Shopify, puis le panier et le compteur se mettent à jour. Pourquoi : recharger la page à ce moment casse le parcours et coûte des ventes. Le client voit le nouveau total en une seconde environ.

2. Une ligne de protection masquée

Quoi : le produit de protection est masqué dans la liste des articles, dans Upcart comme dans le panier du thème. Pourquoi : une seconde « ligne produit » avec ses propres boutons de quantité déroute. L’encadré indique déjà l’état, et le prix reste compris dans le total et la commande.

3. Des règles de panier intelligentes

Quoi : après chaque changement du panier, trois règles s’exécutent automatiquement. Pourquoi : un panier ne doit jamais se retrouver dans un état étrange, par exemple avec une protection achetée seule.

  • Jamais vendue seule : si le client retire le dernier vrai produit, la protection est retirée aussi.
  • Toujours une quantité de 1 : les doublons ou les quantités supérieures à un sont corrigés.
  • Respecte un « non » : avec l’ajout automatique actif, un client qui désactive la protection n’est plus sollicité pendant sa visite.
Trois règles de panier pour la protection de livraison : jamais vendue seule, toujours quantité un, respect du refus du client
Les trois règles qui gardent le panier cohérent. (Illustration.)

4. Compatible avec Upcart et avec le thème

Quoi : la même fonction tourne dans le panier Upcart, dans celui du thème Horizon et sur la page panier complète. Pourquoi : les marchands changent d’applications. L’encadré doit survivre à ce choix sans être reconstruit.

5. Un code léger, dont la boutique est propriétaire

Quoi : un petit script et une feuille de style, chargés par le thème. Pourquoi : pas d’abonnement mensuel pour une autre application de protection, pas de script tiers sur chaque page, et le code vit dans le thème du marchand.

Toutes les options ajoutées à l’éditeur de thème

Tous les réglages se trouvent dans un nouveau groupe : Boutique en ligne → Thèmes → Personnaliser → Paramètres du thème → Safety package. Le marchand peut tout modifier ci-dessous sans développeur.

Éditeur de thème Shopify avec les réglages du Pack sécurité : produit de protection, titre, description, tailles et couleurs de l’interrupteur
Le nouveau groupe Safety package dans les paramètres du thème, avec aperçu. (Illustration.)
GroupeRéglageRôle
GénéralEnable safety packageActive ou désactive toute la fonction
Protection productLe produit (et le prix) ajouté au panier
Add automatically to cartAjout automatique facultatif, désactivé par défaut ; mémorise le refus du client
Hide protection product in the item listGarde le panier propre
Also show on cart pageAffiche aussi l’encadré sur la page panier
ContenuImage, largeur de l’imageVotre propre image, ou l’icône intégrée carton et bouclier
Couleur du bouclier de l’icôneCouleur du bouclier dans l’icône intégrée
Titre, descriptionN’importe quel texte, dans n’importe quelle langue
Afficher le prix près du titreAffiche le prix de la protection
TypographieTaille du titre, espacement, majuscules, taille de la descriptionS’accorde à la typographie de la boutique
Style de l’encadréCouleur du texte et du fond, séparateur, épaisseur et couleur de la bordure, arrondi, marge intérieure, marge latérale dans UpcartS’accorde au design du panier
InterrupteurCouleurs activé, désactivé et boutonUn interrupteur aux couleurs de la marque

Comment ça marche en coulisses

Fonctionnement de la protection de livraison Shopify avec Upcart : le client appuie, appel à l’API panier, rafraîchissement, panier propre
Un interrupteur, quatre étapes, aucun rechargement. (Illustration.)

Pour ceux qui construisent eux-mêmes des boutiques Shopify, en bref : le thème affiche les réglages sous forme d’un petit bloc JSON et d’un modèle HTML. Le script les lit, attend le chargement d’Upcart, puis place l’encadré sous la liste des produits d’Upcart. Un MutationObserver le remet en place chaque fois qu’Upcart se redessine. L’interrupteur appelle les points d’accès standard du panier, puis rafraîchit le panier :

// activer
await fetch('/cart/add.js', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ items: [{ id: protectionVariantId, quantity: 1 }] }),
});

// laisser Upcart redessiner le panier avec le nouveau total
window.upcartRefreshCart?.();

La ligne de protection est masquée grâce à son identifiant de variante, qu’Upcart inclut dans l’identifiant de chaque ligne. Les requêtes du panier passent par une file d’attente : des appuis rapides répétés ne créent jamais de conflit.

Tests sur la boutique en ligne

Avant la livraison, nous avons testé le comportement sur la vraie boutique, dans une session de navigateur isolée et avec un produit de substitution, sans créer de vraie commande :

TestRésultat
Ajouter un produit et ouvrir le panierL’encadré apparaît sous l’article, désactivé
ActiverProtection ajoutée, ligne masquée, total mis à jour
DésactiverProtection retirée, total revenu au prix du produit
Activer puis supprimer le dernier vrai produitProtection retirée automatiquement, panier vide

Ce que le client a obtenu

  • Un encadré Pack sécurité fidèle à sa référence, en danois, dans le panier que ses clients voient réellement.
  • Un groupe de réglages modifiable en quelques minutes : texte, image, couleurs, tailles et produit tarifé.
  • Aucun nouvel abonnement mensuel pour la fonction de protection.
  • Des règles qui gardent chaque panier valide, et un choix actif conforme aux règles européennes de consommation.
  • Un guide simple pour créer le produit de protection et activer la fonction.

Fonction sur mesure ou application de protection ?

Application de protectionInterrupteur sur mesure
Coût mensuelGénéralement un abonnement ou une part de chaque fraisDéveloppement unique, puis gratuit
DesignLe widget de l’application, style limitéVotre design exact, réglé dans l’éditeur de thème
PanierPas toujours compatible avec toutes les applications de panierConçu pour votre panier (ici Upcart) et le thème
Gestion des sinistresSouvent assurée par l’éditeur de l’applicationAssurée par la boutique elle-même
Idéal pourLes boutiques qui veulent externaliser les sinistresLes boutiques qui veulent garder le contrôle et une expérience à leur image

Aucune option n’est toujours la bonne. Si la boutique veut qu’un tiers gère les sinistres, une application a du sens. Si elle veut maîtriser les frais, le texte et l’apparence, un interrupteur sur mesure est plus léger et moins cher à long terme.

Que peut encore accueillir votre panier ?

Le même principe (un réglage dans l’éditeur de thème, un petit script, un produit ou un attribut de panier derrière) fonctionne pour beaucoup d’autres options qui augmentent la valeur de commande ou réduisent les questions :

Fonctions sur mesure pour le panier Shopify : emballage cadeau, barre de livraison gratuite, date de livraison, garantie, arrondi solidaire, gravure
Des fonctions de panier que nous construisons selon le même principe. (Illustration.)
  • Emballage cadeau en option payante.
  • Barre de progression vers la livraison gratuite qui incite à ajouter un article.
  • Choix de la date de livraison enregistré dans la commande.
  • Garantie prolongée par produit.
  • Arrondi solidaire pour une bonne cause.
  • Gravure et notes de commande avec validation.

Questions fréquentes

Est-ce compatible avec Upcart ?

Oui. L’encadré est placé dans le panier Upcart et reste synchronisé quand Upcart se redessine. Il fonctionne aussi dans le panier du thème et sur la page panier.

Peut-on ajouter la protection automatiquement dans l’UE ?

Les options payantes doivent être choisies par le client, c’est pourquoi l’interrupteur est désactivé par défaut. L’ajout automatique est facultatif ; une boutique qui l’active devrait demander son propre avis juridique.

Le prix peut-il être un pourcentage du panier ?

Par défaut, c’est un prix fixe défini sur le produit de protection. Une tarification par paliers selon la valeur du panier est possible avec plusieurs variantes et un peu de logique en plus.

Est-ce que cela ralentit la boutique ?

Non. C’est un petit script et une feuille de style, et les requêtes du panier ne s’exécutent que lorsque le client utilise l’interrupteur ou que le panier change.

Peut-on changer le texte plus tard ?

Oui. Le titre, la description, l’image et les couleurs sont des réglages du thème : ils se modifient en quelques minutes, dans n’importe quelle langue.

À retenir

  • Proposez la protection là où la décision se prend : dans le panier, à côté du total.
  • Faites-en un choix actif au prix clair, et respectez le client qui dit non.
  • Masquez la ligne technique, gardez un total honnête.
  • Vérifiez quel panier la boutique utilise réellement avant de développer.
  • Placez textes, couleurs et tailles dans l’éditeur de thème, pour que le marchand en garde la maîtrise.

Vous voulez une fonction comme celle-ci dans votre boutique ? Nous créons des fonctions de panier sur mesure, des intégrations Upcart et thème, ainsi qu’un développement Shopify complet pour des boutiques dans toute l’Europe. Découvrez nos services ou parlons-en.

Share this article

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *