Comment ajouter la photographie de produit à 360 degrés sur Shopify

Dernière mise à jour
Revu par un expert
5 min de lecture
Jacques Blom
Jacques Blom
CTO chez Fudge.

À retenir

  • La photographie de produit à 360° sur Shopify est une séquence d’images que le client fait défiler pour faire tourner le produit. Une configuration courante comprend 36 images à des intervalles de 10 degrés.1
  • Shopify intègre nativement des médias 3D et AR dans son système de médias de produits. Cela utilise le model-viewer de Google et nécessite un modèle 3D, pas une séquence de photos.2
  • Pour les vues 360° à partir de photos, vous avez le choix entre une application 360 et un viewer JavaScript sur mesure. Les applications sont plus rapides à déployer ; le code sur mesure permet de garder le markup directement dans votre thème.
  • La performance est le vrai risque. Un ensemble de 36 images en pleine résolution peut atteindre 10 à 20 Mo, alors compressez chaque image et chargez le viewer en lazy-loading.1
  • Ne mettez jamais votre image LCP en lazy-loading. La première image de la galerie que l’acheteur voit doit être chargée immédiatement.3

La photographie de produit à 360° montre un produit sous tous les angles dans un seul viewer interactif. L’acheteur fait glisser son curseur vers la gauche ou la droite, ou les images tournent automatiquement, et le produit semble pivoter. Sur une page produit Shopify (PDP), cela élimine les devinettes en offrant une vue complète de l’article.

Ce guide explique comment capturer les images, préparer les fichiers et ajouter un spinner sur la page. Il compare les médias 3D natifs de Shopify, les applications dédiées à la vue 360° et les viewers codés sur mesure, tout en considérant la vitesse de chargement comme une priorité absolue.


Pourquoi vous pouvez nous faire confiance

Jacques a plus de 15 ans d’expérience en développement et a travaillé avec des centaines de boutiques Shopify. Nous avons créé Fudge - un page builder et éditeur de boutique Shopify basé sur l’IA, noté 4.8 sur l’App Store et doté du badge Built for Shopify. Nous travaillons tous les jours avec les médias de pages produits.


Qu’est-ce que la photographie de produit à 360 degrés ?

Un spin 360 n’est ni une simple photo ni une vidéo. C’est une suite ordonnée de frames (images) fixes, chacune représentant le produit tourné d’un millimètre. Le programme remplace les images quand l’utilisateur fait glisser, ce qui donne l’effet que l’objet tourne sur lui-même.

Les deux variables qui comptent :

Cela est bien différent d’un modèle 3D, qui est un unique fichier de forme géométrique rendu en temps réel par le navigateur. Le pipeline de médias natif de Shopify peut traiter les modèles 3D et l’AR, mais pas les séquences photo.2 Plus de détails sur cette nuance plus bas.


Comment capturer des séquences d’images à 360°

Plateau tournant (turntable) et appareil photo

La méthode la plus sûre est d’utiliser un plateau tournant motorisé. Placez le produit au centre, verrouillez l’appareil photo et l’éclairage, et capturez une image par étape de rotation. Une rotation tous les 10 degrés donne 36 images.1

La régularité est ce qui rend l’effet crédible :

Choisir le nombre d’images (frames)

Moins de frames accélèrent le téléchargement mais la rotation est saccadée. Plus de frames fluidifient l’effet, avec un poids en kilooctets plus élevé. 24 frames (par crans de 15 degrés) est une version plutôt légère ; 36 frames (par crans de 10 degrés) est le juste milieu très populaire ; 72 frames doublent l’effet de fluidité mais aussi le téléchargement global.1

Travailler sans studio photo

Si vous n’êtes pas équipé en interne, un studio de photographie de produits peut vous fournir une séquence prête à l’emploi. Nombre d’entre eux vous fourniront 36 JPEG HD par produit par tranches de 10 degrés.1 Il ne vous restera plus qu’à ajuster la mise en forme et l’intégration web.


Préparation des fichiers

Les rushs de studio sont rarement directement mis en ligne. Trois étapes s’imposent.

  1. Nommez les images par ordre. Utilisez le format numérique rempli de zéros (frame-01.webpframe-36.webp) de sorte que le viewer puisse les charger dans le bon ordre d’exécution.
  2. Recadrez et alignez chaque frame à l’identique. La moindre différence d’alignement produira une vibration lors de la rotation.
  3. Compressez chaque image. C’est l’étape que la grande partie des sites e-commerces saute, et c’est pourtant celle qui préserve la rapidité d’affichage.

Les formats récents sont mieux compressés. Les images WebP sont plus légères de 30 % que le JPEG avec la même qualité, et l’AVIF le fait encore mieux.4 Pour les photos de produits, régler la qualité entre 75 et 85 permet de garder vos détails en écourtant le poids d’origine.4

Faites le calcul sur un total global. 36 frames pesant chacune 300 Ko donnent un total de 10,8 Mo. Vos 36 frames de 60-80 Ko atteignent seulement 2 voire 3 Mo.1 C’est tout ce qui détermine une bonne PDP rapide vis-à-vis d’une lente.


Trois façons d’ajouter un spin 360 à une PDP Shopify

Il y a trois approches. Elles diffèrent par l’effort de mise en place, l’emplacement du code et les éléments requis.

MéthodeFormat d’entréeEmplacementIdéal pour
Médias 3D et RA natifsUn modèle 3D (GLB)Médias du produit ShopifyLes boutiques qui ont ou peuvent créer des modèles 3D et veulent de la RA
App de vue 360Une séquence de photosBloc injecté par l’app ou embedMise en place la plus rapide avec un plateau tournant photo
Viewer 360 JS sur mesureUne séquence de photosLe code de votre thèmeContrôle total sur le markup, le style et le chargement

Méthode 1 : Média 3D et AR natif Shopify

Shopify permet l’ajout de modèles 3D directement dans votre onglet Médias du produit. Uploadez un modèle et le thème s’occupe de l’afficher avec le composant model-viewer de Google, et les acheteurs pourront alors y faire un zoom ou une rotation sur l’interface du navigateur.2 L’AR marche par le module Shopify-XR, moteur sous le capot de l’AR natif sur Quick Look avec Safari iOS ainsi que Scene Viewer avec Android.2

Dans un thème, le système affiche les médias via la boucle product.media appliquant le fameux filtre Liquid assigné. Sur l’utilisation d’un modèle 3D ce filtre est model_viewer_tag.2

Le principal compromis est la ressource utilisée. Les médias natifs Shopify utilisent un modèle 3D, mais jamais de spin de photos. S’il ne vous reste qu’un tournage de type photographique à place de modélisation réelle, cette pratique est donc inopportune. La recommandation d’UX sur Shopify consiste à ce que le contenu 3D natif par défaut désactivé à chargement, accompagné d’une barre de loading pour qu’elle puisse se charger.5

Pour mettre en ligne un modèle avec 0 code à l’appui, rendez-vous dans le menu Produits > (votre produit) > Médias. Pour suivre de l’optimisation des médias associées, reportez-vous sur comment ajouter de la vidéo à une page de produit sur Shopify et d’autre part comment mettre à jour des images de vos produits Shopify.

Méthode 2 : Une application de spin 360

Les applications de spin reprennent des suites d’images et créent une interface complète interactive prête sur votre PDP. Le flux consiste à envoyer vos images sur l’interface de plugin, régler ses niveaux, par ex le toucher sensible ou la fonction auto, avant d’ancrer le module sur la présentation web par un outil injecté.

Le plus grand profit c’est son traitement immédiat. Sans la partie de construction du support, votre module est adapté à intervertir le mobile avec les clicks inter-images. Par défaut la concession à cela est similaire aux systèmes habituels : un appel script rajouté avec l’usage récurrent sur une page produit pour tout markup inabordable sur lequel nous n’avons aucun statut. Testez et gardez l’œil par son résultat PDP avant tout.

Vous souhaitez un espace de vue avec options interactives sans alourdir avec l'installation d'une application ?
Try Fudge for Free

Méthode 3 : Un viewer de spin JavaScript sur mesure (custom)

Si vous voulez intégrer le viewer dans votre propre thème sans script tiers, un spinner sur mesure ne demande qu’un peu de code. L’idée : précharger la séquence d’images, puis changer l’image visible en fonction de la distance de glissement du pointeur.

<div id="spin-360" data-frames="36" style="touch-action: pan-y;">
    <img
        id="spin-frame"
        src="/cdn/shop/files/frame-01.webp"
        width="1200"
        height="1200"
        alt="Vue 360 du produit, image 1"
    />
</div>

<script>
    const el = document.getElementById('spin-360')
    const img = document.getElementById('spin-frame')
    const total = parseInt(el.dataset.frames, 10)
    const base = '/cdn/shop/files/frame-'
    const pad = (n) => String(n).padStart(2, '0')

    let current = 1
    let dragging = false
    let startX = 0

    // Précharge les images pour que les changements soient instantanés une fois le viewer actif.
    const preload = () => {
        for (let i = 1; i <= total; i++) {
            const pre = new Image()
            pre.src = base + pad(i) + '.webp'
        }
    }

    const setFrame = (n) => {
        current = ((n - 1 + total) % total) + 1
        img.src = base + pad(current) + '.webp'
    }

    const onMove = (x) => {
        if (!dragging) return
        const step = Math.round((x - startX) / 8) // pixels par image
        if (step !== 0) {
            setFrame(current + step)
            startX = x
        }
    }

    el.addEventListener('pointerdown', (e) => {
        dragging = true
        startX = e.clientX
        preload() // charge l'ensemble complet à la première interaction, pas au chargement de la page
    })
    window.addEventListener('pointermove', (e) => onMove(e.clientX))
    window.addEventListener('pointerup', () => (dragging = false))
</script>

Deux détails font que ce viewer se comporte bien. Les Pointer events gèrent la souris et le tactile avec un seul bout de code. touch-action: pan-y sur le conteneur permet aux acheteurs de toujours faire défiler la page verticalement tout en faisant tourner le produit horizontalement, ce qui est crucial sur mobile.

Le préchargement à la première interaction, plutôt qu’au chargement de la page, permet de garder cet ensemble d’images volumineux hors du chemin critique (critical path). La première image est une photo normale dans la galerie ; le reste ne se charge que lorsque l’acheteur interagit avec le spin 360.

Créer cela à la main implique de modifier les fichiers du thème. Si vous préférez décrire le viewer avec des mots simples et obtenir un code Shopify natif et fidèle à votre marque, généré pour vous, c’est ce que fait Fudge. Consultez également notre guide sur la personnalisation d’une page produit Shopify.


Interaction tactile (drag et touch) sur smartphone

Le smartphone est la zone où un viewer satisfait vraiment ou frustre. On constate deux erreurs de fond.

Les informations de médias propres de la politique Shopify préconise l’inactivité par défaut sur un affichage sur mobile, permettant la déclinaison d’action des manuels en annulant la détection auto préconstruite d’expérience client complète.5 Ajustez l’impact du composant normal lors du codage. En un mot : chargez-le bien lors une simple frame et donnez suite avec son changement exclusif que le l’internaute fera au dernier moment par clic manuel long.


Performance : gardez le spin hors du critical path

Un viewer 360 est l’une des choses les plus lourdes que vous puissiez intégrer à une PDP. Un ensemble de 36 images pleines résolutions pèse 10 à 20 Mo.1 Mal gérée cela bloque complètement votre site global et les délais afférents. Le format suivant peut modifier son rôle et sa mise en ordre correcte.

1. Compressez chaque image (frame)

Comme dit plus haut ceci représente le meilleur gain possible. Un travail des médias comme du modèle : faites face avec des extensions WebP ou AVIF, étant capables d’exploiter la norme de compression du format de l’ordre d’environ 30 % avec JPEG respectif selon les qualités acquises.4 Compter à la ligne à environ une poignée de l’ordre de dizaines en Mo mais non cent en KB globaux.1

2. Lazy-loader les ensembles de la séquence web

Seuls les premiers accès initiaux des résolutions de chargement valent l’usage complet. Ne charger que leurs déclinaisons interactives liées au lancement interactif utilisateur, au profit notamment ou quand bien même sa zone correspond autour d’un placement visuel (viewport) se pose dans les abords de champ respectif d’interface. À proprement utilisé l’intégration par attribut en standard soit loading="lazy" va permettre ce gain et bloquer l’usage de données inapercues.3 Cette déclinaison fonctionnelle rend un résultat optimisé avant utilisation sur son déclenchement, avec une charge différée au clic ainsi montré sur l’aspect complet détaillé du document avant qu’il ne se lance.

3. Protégez votre image LCP

Ne lazy-loadez pas votre image LCP. web.dev souligne formellement : désactiver ou refuser tout concept d’image lazy load susceptible d’entrer du premier coup avec la vue (viewport) immédiate de chargement, ce format incluant très largement le type dit image LCP.3 Typiquement avec base pour une PDP l’affichage des informations image de galerie d’accueil constitue son objet typique LCP, laissez son ordre normal complet par système instantané (eager load) ; pour cela un bloc de restriction complète en différé s’allie logiquement vers les suppléments tels que la séquence 360 entière. On veillera particulièrement à fixer sur une référence fixe l’assignement de taille de fond concernant ses objets pour s’éclipser : format width puis height via son but sur aucune déclinaison ni le CLS Layout Shift.3

Etant en complément afin de l’accélération d’exécution large en global pour ce travail sur un développement PDP orientez vous vers l’article dédié expliquant les actions et procédés de performances relatives Shopify orienté avec thème tout autant la bonne application comment un différé vidéo de la gestion globale et locale l’optimisation au module Shopify propre, dont se basent au global et tout modèle identique différé ou appelé jusqu’aux exigences requises des médias pesants d’utilisation large.


Apps vs custom code : une comparaison honnête

Il n’y a pas formellement de choix gagnant complet. Suivant comment sont disposées l’application sur le flux des usages par votre niveau d’équipement.

Cette version via l’usage d’une application est adéquate si les accès immédiats sur mise des diffusions interactifs sans délais sur des ressources comptent énormément de l’urgence, ou moins le travail de type code d’application avec l’intention totale acceptée de rajout code en un outil application d’usage script PDP qui tourne en arrière au site. Le programme assume d’intégrer automatiquement fonction auto comme paramètre.

Du code custom gagne fortement sur son choix si ses attributs font de lui tout ce qui lui offre en code HTML vers un respect avec sa direction complète de l’application thème avec des appels aux chargements optimisés selon votre propre niveau de précision : le format pour limiter d’utiliser et souscrire encore pour ce traitement, qui coûte globalement au forfait application abonnement récurrent plus tierce d’usages en script avec les mises et maintien en suivi direct qui incombe cette option.

Nous ajoutons une alternative dont il sort complètement aux autres qui constitue de nature comme le système en rendu par 3D direct : exceptionnel quand tout s’y prête ; alors oui elle intègre logiquement ce format depuis modèle propre modélisant l’état avec son modèle via la 3D, mais loin en rapport d’effett photo ; il permet sans comparaison sans d’aucune image standard tournante possible dans le cas du choix de l’état pur de type photographique.

Sur quoi il vaut de souligner de choisir, que chaque format garde la règle du placement de ses médias initiaux complets : en son centre même on définit avec l’apparition avec ses usages dont sa vue primaire de démarrage. Apprenez ce système en réarrangement des médias images pour le fond à une gestion sur Shopify de s’assurer ce cadre parfait avec ses acheteurs et client selon son entrée du fameux élément objet visuel image avec LCP vu de premier abord devant.


En résumé

La photographie de produit 360 change de vue et permet ce principe interactif à l’effet de plateau en le constituant statique avant. Saisissez ce processus avec ses prises sur le système d’usages entre 24 ou voire vers au modèle et ses 72 pour un passage fort réduit par la compression de masse : incluez ce traitement et utilisez les sur pages par ses méthodes classiques 3D propres du média, via une extension plugin application et voire au mieux encore sur Javascript intégré sur-mesures (custom code), et ce dont le niveau correspond le mieux d’abord à base pour d’autant de bonne méthode de maintien en vitesse : son rendu est optimisé après diminution compression image. Lazy-loadez l’ensemble du set, sans lazy-loader jamais au LCP image au vue du format image initial première impression LCP.134

Vous êtes peu d’appétence avec un besoin manuel touchant du codage ou désirez parler explicitement aux mots d’utilisateur en une écriture d’instruction et ses mots propres : ce Fudge créera directement du contenu de construction sur la norme de standard pour l’app natif sur ses fonctionnalités vers de vos objets au Shopify en direct pour produire les éléments propre aux pages du media directement depuis propre thème.


FAQ

Combien d'images (frames) me faut-il pour un spin 360 fluide ?

Une configuration courante est de 36 images capturées à des intervalles de 10 degrés, ce qui donne une rotation fluide sans avoir un poids de fichier excessif. 24 images (paliers de 15 degrés) est une option plus légère, et 72 images double la fluidité pour un poids qui sera lui aussi doublé. Faites des tests sur mobile pour confirmer que le téléchargement reste raisonnable.

Est-ce que Shopify supporte nativement les vues 360 ?

Shopify prend nativement en charge les modèles 3D et la RA via le système de médias de produits, rendus avec le composant model-viewer de Google. Cela gère un fichier de géométrie 3D plutôt qu'une séquence photo. Pour une vue 360 créée à partir de photos, vous devez utiliser une app de vue 360 ou un viewer JavaScript sur mesure dans votre thème.

Est-ce qu'un viewer 360 va ralentir ma page produit ?

C'est possible, car un ensemble de 36 images en pleine résolution peut atteindre 10 à 20 Mo. Gardez de bonnes performances en compressant chaque image à quelques dizaines de kilo-octets, en utilisant du WebP ou de l'AVIF, en chargeant l'ensemble des images en lazy-loading et en ne chargeant que la première image au chargement initial de la page. Ne mettez jamais en lazy-loading votre image LCP.

Dois-je utiliser une app de vue 360 ou du code sur mesure ?

Une app est plus rapide à mettre en place et gère le changement d'images ainsi que le tactile, au prix d'un abonnement récurrent et d'un script supplémentaire sur votre page produit (PDP). Le code sur mesure permet de garder le viewer dans votre propre thème avec un contrôle total sur le moment où les images se chargent, mais vous devez en assurer la maintenance. Les deux méthodes fonctionnent ; le choix dépend de votre équipe.

Comment faire fonctionner une vue 360 avec le scroll sur mobile ?

Ajoutez la propriété "touch-action: pan-y" sur le conteneur du viewer pour qu'un glissement horizontal fasse pivoter le produit tandis qu'un balayage vertical fasse toujours défiler la page. Utilisez les Pointer events pour que la souris et le tactile partagent le même code, et laissez le média inactif par défaut pour que l'acheteur déclenche lui-même le spin 360, plutôt que la page ne détourne son premier toucher.

Quel format de fichier faut-il utiliser pour les images 360 ?

Utilisez du WebP ou de l'AVIF, qui sont environ 30 % plus légers que le JPEG à qualité équivalente. Prenez vos photos avec une largeur d'environ 1200 à 1500 px, compressez avec un réglage de qualité autour de 75 à 85 pour les photos, et nommez les images avec des zéros initiaux (zero-padded) pour que le viewer les charge dans le bon ordre.

Jacques's signature
Ajoutez des vues 360 à votre boutique sans coder.

Footnotes

  1. Orbitvu, “How to Add 360 Product Photography to Your Shopify Website.” https://orbitvu.com/blog/how-add-360-product-photography-your-shopify-website 2 3 4 5 6 7 8 9 10 11

  2. Shopify, “Support product media.” https://shopify.dev/docs/storefronts/themes/product-merchandising/media/support-media 2 3 4 5

  3. web.dev, “Browser-level image lazy loading.” https://web.dev/articles/lazy-loading-images 2 3 4 5

  4. web.dev, “Image performance.” https://web.dev/learn/performance/image-performance 2 3 4

  5. Shopify, “Product media UX guidelines.” https://shopify.dev/docs/storefronts/themes/product-merchandising/media/media-ux 2

You might also be interested in

Créer un configurateur de produits sur mesure sur Shopify
Créez un configurateur de produits Shopify pour vos PDP sur mesure. Paramétrez les variantes, les line item properties, les méta-champs, les prix en direct et la validation.