Le guide précédent a présenté les cinq grandes familles de développement Shopify. Ce guide vous entraîne à choisir la bonne, à partir de besoins concrets, formulés comme un client ou un collègue les formulerait vraiment.

« Je veux changer le design d'une fiche produit »

C'est une question d'apparence, qui touche à la façon dont un contenu déjà existant (le produit) est présenté. Ce besoin appelle un thème : vous modifierez ou créerez un template et des sections Liquid dédiés aux pages produit. Aucune application ni API n'est nécessaire ici.

« Je veux ajouter un bloc réutilisable dans le thème »

Toujours une question d'apparence et de structure, mais avec une nuance : si c'est vous-même, ou le marchand, qui allez ajuster ce bloc directement dans l'éditeur de thème, un thème personnalisé (une section avec des blocks configurables) reste la bonne réponse. Si en revanche ce bloc doit être distribué à d'autres marchands, installable sans toucher à leur code, vous entrez alors dans le territoire d'une Theme App Extension, développée depuis une application.

« Je veux synchroniser des commandes avec mon logiciel »

Ce besoin ne touche à aucune apparence : il s'agit de faire circuler des données entre Shopify et un système extérieur. C'est le territoire d'une application, qui utilisera l'Admin API pour lire les commandes, et probablement un webhook pour être prévenue automatiquement dès qu'une nouvelle commande arrive, plutôt que de devoir vérifier sans cesse si quelque chose a changé.

« Je veux ajouter une fonctionnalité dans l'administration »

Ajouter un écran, un tableau de bord ou un outil visible directement dans l'administration Shopify, pour le marchand qui gère sa boutique, relève aussi d'une application, avec une interface intégrée à l'administration elle-même. C'est différent d'une modification de thème : ici, rien n'est visible par les clients de la boutique, seulement par la personne qui la gère.

« Je veux construire complètement le storefront avec React »

C'est le besoin le plus ambitieux des cinq : remplacer entièrement la boutique publique Shopify par votre propre interface, construite avec vos propres outils. C'est le territoire du headless, via la Storefront API, éventuellement avec Hydrogen, le framework officiel de Shopify pensé pour ce cas précis. C'est aussi, de loin, l'option la plus coûteuse en temps de développement et en maintenance continue : à réserver à des besoins qui le justifient réellement.

Les questions à se poser, dans l'ordre

Face à un nouveau besoin, posez-vous ces questions, dans cet ordre : Le résultat doit-il être visible par les clients, ou seulement par le marchand ? S'agit-il uniquement d'apparence, ou d'un vrai traitement de données ? Ce développement doit-il être installable par d'autres marchands, ou reste-t-il propre à une seule boutique ? Avez-vous réellement besoin de remplacer toute l'expérience d'achat, ou seulement d'en ajuster une partie ?

Le headless n'est pas automatiquement la meilleure option

Construire un storefront entièrement sur mesure impressionne, mais représente un engagement de maintenance important, sur le long terme, pour un bénéfice qui ne se justifie pas toujours. Avant d'envisager le headless, vérifiez d'abord si un thème personnalisé, éventuellement complété par des applications ciblées, ne résout pas déjà votre besoin, plus simplement.

Vérifiez que vous avez compris

On vous demande d'ajouter, uniquement sur la boutique Atelier Lumière, un encart qui met en avant les avis clients sur la page d'accueil. Cet encart n'a pas vocation à être réutilisé sur d'autres boutiques. Choisissez-vous un thème personnalisé, ou une application distribuable ?

Un thème personnalisé. Puisque ce besoin reste propre à une seule boutique et concerne uniquement l'apparence de la page d'accueil, une section de thème, éventuellement avec un block configurable, suffit largement. Développer une application complète pour un besoin aussi ciblé et non réutilisable ajouterait de la complexité sans bénéfice réel.