Accueil
Services
Configurateur 3D produit Visualisation Web 3D Modélisation 3D de catalogue Packshot 3D Photoréaliste Réalité Augmentée
Secteurs
Mobilier Textile & Mode Bijoux et Luxe Objets publicitaires Maillot de sport
Intégrations
Shopify WooCommerce PrestaShop WordPress
Ressources
FAQ Documentation Valeurs Contact
Demandez un RDV
Guide développeur — Shopify

Un configurateur 3D
sur Shopify.
2 lignes de code.

<viewer-3dvue> est un Web Component natif. Aucune dépendance, aucun framework requis. Il fonctionne partout où vous pouvez coller du HTML — section Liquid, theme.liquid, product template.

Zéro dépendance
Compatible Shopify 2.0
Attributs HTML ou API JS
IntersectionObserver intégré
theme.liquid
Étape 1
<!-- Dans <head> ou avant </body> -->
<script src="https://cdn.jsdelivr.net/gh/3dvue/api@v4/viewer-3dvue-min.js"></script>
product.liquid
Étape 2
<viewer-3dvue
  name="monViewer"
  src="https://app.3dvue.fr/view?p=AB01-CD02"
></viewer-3dvue>

<!-- C'est tout. -->
+94%
de conversions sur les fiches avec un modèle 3D
Source : Shopify
−40%
de retours après visualisation 3D du produit
Source : Shopify
+27%
de commandes après interaction avec le modèle 3D
Source : Rebecca Minkoff / Shopify
82%
des visiteurs activent la vue 3D quand disponible
Source : Cappasity
Installation

Prêt en 3 étapes. Sans build tool.

Un Web Component natif — aucun React, Vue ou bundler requis. Ça marche dans tout environnement qui accepte du HTML.

1
Inclure le script

Ajoutez le script dans votre theme.liquid, dans <head> ou juste avant </body>. Une seule inclusion suffit pour toutes vos pages produit.

Le script CDN ci-dessus est public. L'attribut src du composant <viewer-3dvue> est l'URL spécifique à votre configurateur — elle vous est fournie par 3DVue à la livraison du projet.
theme.liquid
<script src="https://cdn.jsdelivr.net/gh/3dvue/api@v4/viewer-3dvue-min.js"></script>
2
Placer le composant

Collez la balise <viewer-3dvue> là où vous voulez afficher le configurateur — dans votre section produit Liquid, dans un bloc personnalisé ou dans une section dédiée. Deux attributs sont requis : name (identifiant unique) et src (URL de votre configurateur).

Le name sert à cibler ce viewer depuis les boutons HTML ou l'API JS. Utilisez un identifiant unique par page si vous avez plusieurs viewers.
product.liquid
<!-- Attributs requis -->
<viewer-3dvue
  name="monViewer"
  src="https://app.3dvue.fr/view?p=AB01-CD02"
></viewer-3dvue>

<!-- Optionnel : active les logs console -->
<viewer-3dvue
  name="monViewer"
  src="https://app.3dvue.fr/view?p=AB01-CD02"
  debug
></viewer-3dvue>
3
Brancher vos sélecteurs

Ajoutez des attributs viewer-3dvue sur vos boutons ou selects existants pour déclencher des changements de matériaux. Aucun JavaScript à écrire — le composant écoute automatiquement les événements click et change.

product.liquid — sélecteurs couleur
<!-- Bouton qui change le tissu au clic -->
<button
  viewer-3dvue="monViewer"
  viewer-3dvue-clic="setMaterial"
  viewer-3dvue-meshs-materials='{"1":"0n","2":"1a"}'
>
  Coloris Bleu nuit
</button>

<!-- Select qui change la couleur -->
<select
  viewer-3dvue="monViewer"
  viewer-3dvue-change="setMaterial"
  viewer-3dvue-mesh="2,4"
>
  <option value="0n">Rouge</option>
  <option value="1a">Bleu</option>
  <option value="2b">Vert</option>
</select>
Contrôle HTML pur

Zéro JavaScript.
Tout en attributs HTML.

Le composant écoute automatiquement les événements click et change sur tout élément portant les bons attributs. Idéal pour brancher vos swatches Shopify existants.

setMaterial sur clic
Idéal pour des boutons couleur ou des swatches. Applique plusieurs matériaux simultanément en une seule action.
<button
  viewer-3dvue="monViewer"
  viewer-3dvue-clic="setMaterial"
  viewer-3dvue-meshs-materials='{"1":"0n","3":"2b","5":"1c"}'
>
  Thème bois naturel
</button>

// {"indexMesh": "idMaterial"}
// L'index 0 est réservé — commence à 1
setMaterial sur <select>
Branchez un select natif Shopify. La valeur sélectionnée est appliquée à tous les meshes listés dans viewer-3dvue-mesh.
<select
  viewer-3dvue="monViewer"
  viewer-3dvue-change="setMaterial"
  viewer-3dvue-mesh="2,4"
>
  <option value="0n">Rouge</option>
  <option value="1a">Bleu</option>
</select>

// viewer-3dvue-mesh="2,4"
// applique à mesh 2 ET mesh 4
API JavaScript

Pour les cas avancés.

Quand vous avez besoin de contrôle programmatique — chargement dynamique de modèles, capture d'image, export SVG. Toutes les méthodes vérifient que le viewer est prêt avant d'exécuter.

querySelector Récupérer la référence du composant — point de départ de toute l'API JS
const viewer = document.querySelector('viewer-3dvue[name="monViewer"]');

// Toutes les méthodes vérifient que le viewer est chargé (LOAD_COMPLETE)
// Si pas prêt → warning console, appel ignoré
setMaterial() Applique des matériaux sur un objet — même logique que les attributs HTML, mais en JS
// Sur l'objet 0 (défaut)
viewer.setMaterial({ "1": "0n", "3": "2b" });

// Sur un objet spécifique (multi-segments)
viewer.setMaterial({ "1": "1a" }, 1);
// setMaterial(materialList, objectIndex = 0)
loadModel() / addModel() / removeModel() Gestion dynamique des modèles — pour les produits multi-composants
// Charger un nouveau modèle (remplace l'actuel)
viewer.loadModel("AB01-CD02");

// Ajouter un segment au modèle existant
viewer.addModel("EF03");
viewer.addModel("EF03-GH04");

// Supprimer un segment par son index
viewer.removeModel(1);
// ⚠ Impossible de supprimer le dernier segment restant
captureToBase64() Capture le rendu courant en image base64 — utile pour les previews de commande ou les partages
viewer.captureToBase64();

viewer.addEventListener("onCaptureBase64Complete", (e) => {
  const { base64, error } = e.detail;
  if (error) { console.error(error); return; }
  // base64 = "data:image/png;base64,..."
  document.querySelector("#preview").src = base64;
});
resetCamera() · pauseRenderer() · startRenderer() Contrôle de la caméra et du rendu. pauseRenderer/startRenderer sont appelés automatiquement par l'IntersectionObserver.
// Ramène la caméra à sa position initiale
viewer.resetCamera();

// Mise en pause manuelle (économise le GPU)
viewer.pauseRenderer();
viewer.startRenderer();

// ℹ Ces méthodes sont gérées automatiquement
// quand le composant sort/entre dans le viewport
API SVG — Personnalisation avancée

Texte, logos, BAT.
Tout en SVG.

L'API SVG permet d'ajouter du texte et des images directement sur le produit 3D via des dropzones définies dans le modèle. Utilisée pour les produits personnalisables — marquage, gravure de texte, upload de logo client.

Méthode Description
addSVGText(text, opts) Ajoute un texte dans une dropzone. Options : fill, fontFamily, selectable
addSVGImage(source, opts) Ajoute une image (File ou ArrayBuffer) dans une dropzone. Zero-copy via Transferable Objects.
setSVGElementParam(param, value, id) Modifie un paramètre d'un élément SVG existant. id=null cible l'élément sélectionné.
exportSVG() Génère le fichier SVG du produit configuré — BAT prêt pour production.
Exemple — upload logo client
// 1. Ajouter du texte sur le produit
viewer.addSVGText("Mon texte", {
  fill: "#ffffff",
  fontFamily: "Arial",
  dropzone: "dropzone001",
  selectable: true
});

// 2. Upload logo depuis un input file
const file = input.files[0];
await viewer.addSVGImage(file, {
  dropzone: "dropzone001"
});

// 3. Exporter le BAT SVG
viewer.exportSVG();
viewer.addEventListener("onSVGExportComplete", (e) => {
  const { path, error } = e.detail;
  // path = URL du fichier SVG généré
});
Documentation complète

Référence API, attributs HTML, événements, exemples Shopify Liquid. Tout est documenté et maintenu à jour.

Voir la documentation
Support technique humain

Pas de ticketing automatisé. Vous parlez directement à Matthieu, le développeur qui a conçu l'API. Réponse sous 24h.

Prendre un RDV
Démo interactive

Testez le configurateur en conditions réelles avant d'intégrer. Voyez ce que vos clients verront sur votre boutique.

Voir la démo
Intégrons ensemble

Prêt à intégrer ?
On s'occupe des modèles 3D.

Vous gérez le code côté Shopify, on s'occupe de tout le reste — modélisation, matières, configuration. En 30 minutes, on vous explique ce qu'on peut faire sur votre catalogue.

Script fourni à la livraison — prêt à coller
ID modèles et matières documentés par projet
Support direct avec le développeur de l'API
Compatible Shopify 2.0, OS 2.0, Dawn et tous themes