Développeur Shopify Plus : Liquid, Shopify Functions et checkout

Sur Shopify, personne ne touche au code de la plateforme. Le développeur travaille dans le cadre qu'elle fixe, avec des thèmes Liquid, des apps, des Shopify Functions et des extensions de checkout, sous des quotas d'API stricts.

Recevoir la fiche complète

Mis à jour le Par l'équipe Delectus5 min de lecture

La fiche Développeur Shopify : technologies, chaîne du poste, une question et la grille d'évaluation

Un développeur Shopify construit et fait évoluer des thèmes en Liquid, écrit des apps qui passent par l'Admin API en GraphQL, et branche l'ERP, le PIM ou l'outil logistique par webhooks. Sur Shopify Plus, il personnalise aussi le checkout avec des Checkout UI Extensions et des Shopify Functions, et gère le B2B et plusieurs marchés. Certains projets passent en headless avec Hydrogen, basé sur React Router et hébergé sur Oxygen, branché sur la Storefront API.

Le calendrier a bousculé les boutiques Plus. Les Shopify Scripts, ces scripts Ruby qui calculaient remises, livraisons et paiements au checkout, ont cessé de fonctionner le 30 juin 2026. Il a fallu les réécrire en Functions, en Rust ou en JavaScript compilé en WebAssembly, avec des limites d'exécution strictes. Un profil qui a mené cette migration en parle avec précision.

Le CV à vérifier aligne des dizaines de boutiques montées à partir de thèmes achetés et d'apps installées. C'est un métier réel, plus proche de l'intégration que du développement. Demandez une section écrite de zéro avec ses blocs, une app qui respecte les limites de débit ou un webhook rejoué sans doublon. Le PDF contient un cas de 20 minutes sur une remise B2B à recoder après la fin des Scripts.

Les briques Shopify qu'un développeur doit connaître

Liquid et Online Store 2.0

Liquid est le langage de templates des thèmes Shopify. Depuis Online Store 2.0, les pages sont des templates JSON composés de sections et de blocs que le marchand déplace dans l'éditeur, et les apps s'insèrent par des app blocks sans toucher au code du thème. Un développeur qui écrit encore tout dans des templates Liquid figés travaille à l'ancienne.

Shopify CLI, GitHub et Theme Check

La CLI lance un thème en local (shopify theme dev), le publie, et crée apps et extensions. L'intégration GitHub synchronise une branche avec un thème de la boutique. Theme Check repère les erreurs et les mauvaises pratiques Liquid avant la mise en ligne.

Metafields et metaobjects

Les champs personnalisés de Shopify. Les metafields ajoutent des données à un produit, une variante, une commande ou un client. Les metaobjects créent des contenus structurés réutilisables, comme un guide des tailles. Leur définition décide de ce que le marchand peut saisir et de ce que le thème peut afficher.

Admin API GraphQL et apps

Les apps lisent et écrivent les données de la boutique par l'Admin API, en GraphQL ; l'API REST est en mode legacy et Shopify impose le GraphQL aux nouvelles apps publiques. Les limites de débit se comptent en coût de requête, avec un seau qui se vide à vitesse fixe. Pour les gros volumes, les bulk operations traitent l'export ou l'import en tâche de fond.

Webhooks

Shopify prévient l'app d'un événement (commande créée, produit modifié) par un appel HTTP signé. L'app vérifie la signature HMAC, répond vite et traite le message en file d'attente. Le même webhook peut arriver deux fois, donc le traitement doit supporter les doublons.

Checkout Extensibility

Le checkout ne se modifie plus par checkout.liquid. Les Checkout UI Extensions ajoutent des blocs à des emplacements prévus. Elles s'écrivent en Preact avec les composants web Polaris et tournent dans un environnement isolé, sans accès au DOM de la page. Sur les étapes informations, livraison et paiement, elles demandent Shopify Plus.

Shopify Functions

Du code exécuté par Shopify pendant le checkout pour les remises, la validation du panier, les options de livraison, les moyens de paiement ou la transformation du panier. Il s'écrit en Rust ou en JavaScript, compilé en WebAssembly, avec des limites strictes de taille, de mémoire et d'instructions. Les Functions remplacent les Shopify Scripts arrêtés le 30 juin 2026.

Hydrogen et Storefront API

Hydrogen est le framework headless de Shopify, basé sur React Router et hébergé sur Oxygen. Il lit le catalogue et gère le panier par la Storefront API. Le headless donne une liberté totale sur le front, mais oblige à refaire ce que le thème et les apps fournissaient tout prêts.

Shopify Plus, B2B et Markets

Shopify Plus ouvre le B2B (comptes entreprise, catalogues et listes de prix, conditions de paiement), les extensions sur tout le checkout, les apps sur mesure qui contiennent des Functions et des limites d'API plus hautes. Markets gère pays, devises, langues et domaines depuis une seule boutique.

Les annonces parlent de développeur Shopify, de développeur Shopify Plus, de développeur Liquid ou de développeur full-stack Shopify quand une app en Node.js et React s'ajoute au thème. Deux profils existent. L'intégrateur de thèmes est fort en Liquid, CSS et JavaScript. Le développeur d'apps maîtrise GraphQL, OAuth, les webhooks et les Functions. Shopify Plus ajoute le checkout, le B2B et des volumes d'API plus élevés. Une partie de la demande passe par des missions en freelance. Demandez des boutiques ou des apps précises, avec la part du code écrite par la personne.

À évaluer chez un développeur Shopify

  • Thèmes Liquid et Online Store 2.0
  • Metafields et metaobjects
  • Apps et Admin API GraphQL
  • Webhooks et intégrations
  • Checkout Extensibility et Functions
  • Performance et headless Hydrogen

Ce qu'on demande à un développeur Shopify en entretien technique

Chaque question vient avec ce qu'une bonne réponse contient et le signal qui doit vous alerter. Pas besoin d'être technique pour les poser : écoutez si le candidat raconte du vécu.

  1. Question 1 · junior à confirmé

    Le marchand veut une section « avant / après » qu'il peut ajouter sur n'importe quelle page et remplir lui-même. Comment la construisez-vous ?

    Une bonne réponseUn fichier de section en Liquid avec son schéma : réglages, un bloc par paire d'images, valeurs par défaut et un preset pour qu'elle apparaisse dans l'éditeur. Les images passent par image_url et image_tag pour servir la bonne taille. Le JavaScript reste léger et ne se charge que si la section est présente. Il vérifie le rendu dans l'éditeur de thème.

    Signal d'alerteDu code collé dans un template Liquid figé, que le marchand ne peut ni déplacer ni modifier, ou des textes codés en dur.

  2. Question 2 · confirmé

    Votre app doit mettre à jour le prix de 40 000 variantes chaque nuit. Comment l'écrivez-vous sans vous faire bloquer par les limites de l'API ?

    Une bonne réponseUne bulk operation, ou des mutations groupées comme productVariantsBulkUpdate produit par produit, en lisant le coût renvoyé dans chaque réponse pour régler le rythme. Il connaît le seau qui se vide à vitesse fixe, prévoit une attente et une reprise en cas de throttle, et n'envoie que les variantes dont le prix change.

    Signal d'alerte40 000 appels REST lancés en parallèle, puis des erreurs 429 non gérées.

  3. Question 3 · confirmé

    L'ERP dit qu'il lui manque des commandes alors que votre webhook orders/create est en place. Que cherchez-vous ?

    Une bonne réponseD'abord si l'endpoint répond vite avec un code 200 : un appel trop lent ou en erreur compte comme un échec, Shopify réessaie, puis peut finir par supprimer l'abonnement. Ensuite une vérification HMAC qui rejette des appels valides, ou un traitement synchrone trop long. Le correctif : accuser réception tout de suite, traiter en file d'attente, dédupliquer sur l'identifiant de l'événement et rattraper les manques par une réconciliation régulière via l'API.

    Signal d'alerteCompter sur les webhooks seuls, sans rattrapage, ou traiter toute la commande avant de répondre.

  4. Question 4 · confirmé

    Un Shopify Script donnait 10 % aux clients étiquetés « pro » sur une collection. Comment le refaites-vous après l'arrêt des Scripts ?

    Une bonne réponseUne Shopify Function de remise : une requête d'entrée qui lit les étiquettes ou un metafield du client et les produits du panier, une logique en Rust ou en JavaScript qui renvoie la remise, et une remise créée dans l'admin qui active la Function. Il connaît les limites (taille du binaire, nombre d'instructions, coût de la requête d'entrée) et teste avec de gros paniers. Il précise que dans une app sur mesure, les Functions demandent Shopify Plus.

    Signal d'alerteRecopier le Ruby du Script, ou remplacer la règle par un code promo à saisir par le client.

  5. Question 5 · confirmé

    Le score mobile de la boutique s'est effondré après l'installation de plusieurs apps. Comment trouvez-vous le coupable ?

    Une bonne réponseLe rapport de vitesse de la boutique et les données terrain des Core Web Vitals, puis Lighthouse et l'onglet réseau pour rattacher chaque script à son app. Il cherche le code laissé dans le thème par des apps désinstallées, préfère les apps qui passent par des app blocks et des app embeds désactivables, et charge les scripts tiers en différé. Côté thème, images servies par image_url avec leurs dimensions, et pas de boucle Liquid imbriquée sur de grandes collections.

    Signal d'alerteDésinstaller des apps au hasard, ou installer une app « d'optimisation de vitesse ».

Recevez la fiche d'entretien complète en PDF

La fiche pour mener l'entretien de bout en bout, prête à imprimer ou à partager avec le manager.

  • 30 questions sur 6 axes, avec la bonne réponse, le signal d'alerte et la relance
  • Le niveau visé pour chaque question
  • Une mise en situation de 20 minutes et ce qu'on attend du candidat
  • La grille d'évaluation de 1 à 4, axe par axe

Recruter un développeur Shopify : questions fréquentes

Quelle différence entre un intégrateur Shopify et un développeur d'apps ?

L'intégrateur travaille dans le thème : Liquid, sections, CSS, JavaScript, metafields, performance. Le développeur d'apps écrit un back-end, souvent en Node.js, qui parle à l'Admin API en GraphQL, reçoit des webhooks et livre des extensions et des Functions. Les deux profils se recoupent sur Shopify Plus. Précisez dans l'offre lequel vous cherchez et choisissez les questions en conséquence. Le PDF sépare les axes thème et app.

Que faut-il savoir de Shopify Plus pour recruter ?

Plus donne accès à la personnalisation des étapes informations, livraison et paiement du checkout, au B2B natif, aux apps sur mesure qui contiennent des Functions et à des limites d'API plus hautes. Un développeur qui n'a jamais travaillé sur Plus connaît le thème et les apps, rarement ces sujets. Demandez-lui une extension de checkout ou une Function qu'il a écrite, et les limites qu'il a rencontrées.

Quel test technique pour un développeur Shopify ?

Pour un profil thème, une section avec blocs et réglages à créer sur une boutique de développement, en une à deux heures. Pour un profil app, un endpoint qui reçoit un webhook, vérifie sa signature et met à jour un metafield par l'API GraphQL. Faites présenter le résultat, puis posez des questions sur les cas limites : gros catalogue, webhook reçu deux fois, limite de débit atteinte.

Les Shopify Scripts ont disparu : faut-il encore les mettre dans l'offre ?

Non pour un nouveau développement. Ils ont cessé de fonctionner le 30 juin 2026, remplacés par les Shopify Functions. Une expérience des Scripts reste utile si la personne a mené la migration : elle connaît les règles de remise et de livraison des boutiques Plus et la façon de les refaire en Function. Demandez ce qui n'a pas pu être transposé tel quel, et comment elle l'a contourné.

Pour structurer vos autres entretiens, consultez aussi nos pages sur les questions d'entretien de recrutement, la méthode de l'entretien structuré et la grille d'évaluation d'entretien.

Les fiches voisines

Toutes les fiches →

Voyez Delectus sur vos propres offres.

Commencez gratuitement. Passez à l'échelle quand vous êtes prêt.

Demander une démo

Votre ATS, connecté à Delectus

  • Workable
  • Teamtailor
  • iCIMS
  • Lever
  • SmartRecruiters
  • Jobvite
  • Greenhouse
  • Pinpoint