Comment utiliser PolyDrobe.

Configurez un espace de travail, modélisez vos actifs et variantes, invitez l’équipe et corrigez les erreurs qui reviennent le plus souvent.

Opérationnel en quatre étapes

Projet, taxonomie, actifs, équipe. Dans cet ordre.

1

Créer un projet

Créez votre premier projet et définissez un slug clair.

2

Configurer la taxonomie

Configurez catégories, raretés, étiquettes, devises, statuts et versions.

3

Ajouter des assets et variantes

Ajoutez des actifs puis des variantes avec images, prix et métadonnées optionnelles.

4

Invitez votre équipe

Invitez l'équipe et attribuez les rôles Propriétaire, Éditeur ou Visionneuse.

Tout ce que vous pouvez faire

Ouvrez un workflow pour en voir les détails.

Configuration du projetCommencez par la structure avant le contenu.
  • Renseignez les détails du projet et son icône.
  • Définissez une taxonomie réutilisable dans les paramètres projet.
Gestion des actifs et variantesUtilisez les actifs pour les objets et les variantes pour les versions.
  • Ajoutez les métadonnées d'actif et assignez catégorie/rareté.
  • Ajoutez textures, images et prix aux variantes.
Revue et rechercheGardez un catalogue lisible et maintenable.
  • Utilisez les filtres, le statut et les étiquettes pour retrouver le travail qui vous attend.
  • Vérifiez les changements dans le journal d'activité.
Import et exportÉchangez les données en sécurité avec votre pipeline.
  • Exportez les données du projet en JSON ou Excel, ou cochez Inclure les fichiers multimédias pour obtenir une archive ZIP avec les images, les textures et les maillages.
  • Importez des fichiers JSON, Excel ou des archives ZIP. Chaque import commence par un aperçu : vous examinez les modifications ligne par ligne et les erreurs avant le moindre enregistrement.
Import Google SheetsImportez actifs, variantes et paramètres de projet depuis une feuille de calcul Google native.
  • Créez une feuille de calcul Google native (et non un fichier .xlsx importé) avec une feuille par type d’entité : Currencies, Rarities, Releases, Tags, Categories, Assets, Variants.
  • Placez les en-têtes de colonnes exacts sur la première ligne de chaque feuille (la casse compte). La feuille Variants attend par exemple : slug, name, asset_slug, rarity, release, currency, price, description, tags.
  • Les entités sont importées dans l’ordre de leurs dépendances : Currencies, Rarities, Releases, Tags, Categories, Assets et enfin Variants. Tout ce qu’une ligne référence doit déjà exister dans le projet ou figurer plus tôt dans la même exécution.
  • Dans votre projet, ouvrez la page Échange de données (Importer / Exporter dans le menu du projet), choisissez Feuille Google comme source d’import et connectez votre compte Google. PolyDrobe demande la portée drive.file de Google : il ne peut donc lire que les fichiers que vous lui confiez.
  • Sous Créer un profil, donnez un libellé au profil, cliquez sur Parcourir pour choisir votre feuille de calcul dans le Google Picker, ajustez les noms des feuilles si vos onglets portent d’autres noms, puis cliquez sur Enregistrer le profil.
  • Lancez d’abord Aperçu sur le profil enregistré. C’est une exécution test qui signale les erreurs de validation sans rien écrire ; Importer applique ensuite la même exécution pour de bon.
  • Pour les étiquettes des feuilles Assets ou Variants, séparez les valeurs par des points-virgules : starter;seasonal=winter;limited-edition.
  • Les prix acceptent le point comme la virgule en séparateur décimal (9.99 ou 9,99). La rareté est reconnue par son nom, la devise par son code et la version par sa chaîne de version.

Guides développeur

Connectez vos outils, vos agents et vos pipelines à PolyDrobe.

Configuration de l’API RESTIntégrez PolyDrobe à vos outils avec l’API REST standard. Disponible avec le plan Pro.

1. Générer un jeton d’accès

Ouvrez Paramètres de l’espace de travail > Jetons d’API et créez un jeton d’accès personnel. Donnez-lui un nom parlant (« CI Pipeline » ou « Script local », par exemple), cochez les portées lecture et écriture, puis choisissez une durée de validité. Copiez le jeton dès qu’il s’affiche : il n’apparaît qu’une seule fois.

# Your token will look like this:
pdtk_a8f3b2c1d4e5f6a7b8c9d0e1f2a3b4c5...

# Keep it safe. You cannot retrieve it later.
# If lost, revoke it and create a new one.

2. Authentifier vos requêtes

Envoyez le jeton comme jeton Bearer dans l’en-tête Authorization de chaque requête.

curl -H "Authorization: Bearer pdtk_abc123..." \
     https://polydrobe.app/api/v1/projects/

3. Lister vos projets

Renvoie tous les projets dont vous êtes membre. La réponse suit le format d’enveloppe standard, avec les clés data et meta.

GET /api/v1/projects/

# Response:
{
  "data": [
    {
      "id": "...",
      "name": "Cyber Skins",
      "slug": "cyber-skins",
      "asset_count": 42,
      "my_role": "owner"
    }
  ],
  "meta": { "total": 1, "page": 1, "page_size": 25 }
}

4. Créer un actif

Crée un actif dans un projet. Demande le rôle Éditeur ou Propriétaire. Le slug est généré automatiquement à partir du nom.

curl -X POST \
  -H "Authorization: Bearer pdtk_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"name": "Plasma Rifle", "description": "Sci-fi weapon", "category_slug": "weapons"}' \
  https://polydrobe.app/api/v1/projects/cyber-skins/assets/

5. Créer une variante

Ajoute à un actif une variante avec son prix, sa rareté et son statut. Toutes les clés étrangères se référencent par slug.

curl -X POST \
  -H "Authorization: Bearer pdtk_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"name": "Gold Edition", "rarity_slug": "legendary", "price": "29.99", "currency_code": "USD"}' \
  https://polydrobe.app/api/v1/projects/cyber-skins/assets/plasma-rifle/variants/

6. Rechercher des actifs

Recherche plein texte sur les actifs et les variantes, appuyée sur la recherche PostgreSQL. Elle accepte les expressions exactes, l’opérateur OR et la négation.

GET /api/v1/projects/cyber-skins/search/?q=gold+legendary&type=variant&limit=10

7. Opérations en masse

Modifiez ou supprimez plusieurs variantes d’un coup. Demande la fonctionnalité Opérations en masse, incluse dans le plan Pro.

curl -X POST \
  -H "Authorization: Bearer pdtk_abc123..." \
  -H "Content-Type: application/json" \
  -d '{"slugs": ["v1", "v2", "v3"], "updates": {"status_slug": "released"}}' \
  https://polydrobe.app/api/v1/projects/cyber-skins/bulk/variants/update/

Endpoints disponibles

L’API REST atteint toutes les ressources de projet que PolyDrobe conserve, du catalogue lui-même jusqu’aux médias, aux modifications en masse, au journal d’activité et aux webhooks. Les groupes ci-dessous en forment l’ensemble complet. Chaque ressource s’adresse par une URL à base de slug.

Projects:       GET|POST /v1/projects/
                GET|PATCH|DELETE /v1/projects/{slug}/

Assets:         GET|POST /v1/projects/{slug}/assets/
                GET|PATCH|DELETE /v1/projects/{slug}/assets/{slug}/

Variants:       GET|POST /v1/projects/{slug}/assets/{slug}/variants/
                GET|PATCH|DELETE .../assets/{slug}/variants/{slug}/
                GET /v1/projects/{slug}/variants/  (flat list)

Media:          GET .../variants/{slug}/images/
                PATCH|DELETE .../variants/{slug}/images/{uuid}/
                GET .../variants/{slug}/textures/
                DELETE .../variants/{slug}/textures/{uuid}/

Bundles:        GET|POST /v1/projects/{slug}/bundles/
                GET|PUT|PATCH|DELETE /v1/projects/{slug}/bundles/{slug}/
                GET|POST /v1/projects/{slug}/bundles/{slug}/items/
                DELETE .../bundles/{slug}/items/{variant_slug}/

Collections:    GET|POST /v1/projects/{slug}/collections/
                GET|PUT|PATCH|DELETE .../collections/{slug}/
                GET .../collections/{slug}/items/
                POST .../collections/{slug}/members/
                DELETE .../collections/{slug}/members/{variant_slug}/
                POST .../collections/{slug}/duplicate/

Classification: GET|POST /v1/projects/{slug}/{categories|tags|rarities|releases|currencies|statuses}/
                PATCH|DELETE /v1/projects/{slug}/{entity}/{slug}/

Favorites:      GET /v1/projects/{slug}/favorites/
                POST|PUT|DELETE /v1/projects/{slug}/favorites/{kind}/{uuid}/

Team:           GET|POST /v1/projects/{slug}/members/
                PATCH|DELETE /v1/projects/{slug}/members/{user_id}/

Bulk:           POST /v1/projects/{slug}/bulk/variants/update/
                POST /v1/projects/{slug}/bulk/variants/delete/

Search:         GET /v1/projects/{slug}/search/?q=term&type=all
Activity:       GET /v1/projects/{slug}/activity/
Export:         GET /v1/projects/{slug}/export/?format=json
Webhooks:       GET|POST /v1/projects/{slug}/webhooks/
                PATCH|DELETE /v1/projects/{slug}/webhooks/{uuid}/
Configuration du serveur MCPReliez vos assistants IA (Claude, ChatGPT) à PolyDrobe via le Model Context Protocol. Disponible avec le plan Pro.

1. Générer un jeton d’accès personnel

Ouvrez Paramètres de l’espace de travail > Jetons d’API et créez un jeton. Nommez-le d’après votre client IA (« Claude Desktop » ou « Claude Code », par exemple). Cochez les portées lecture et écriture, puis choisissez une longue durée de validité (1 an ou sans expiration). Copiez le jeton dès qu’il s’affiche : il n’apparaît qu’une seule fois.

# Your token will look like this:
pdtk_a8f3b2c1d4e5f6a7b8c9d0e1f2a3b4c5...

# Use this token in the configuration steps below.
# The same token works for both REST API and MCP server.

2. Connecter Claude Desktop

Ajoutez le serveur MCP PolyDrobe à la configuration de Claude Desktop. Ouvrez claude_desktop_config.json et insérez cette entrée.

{
  "mcpServers": {
    "polydrobe": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://polydrobe.app/mcp"],
      "env": {
        "MCP_HEADERS": "Authorization: Bearer pdtk_abc123..."
      }
    }
  }
}

3. Connecter Claude Code

Ajoutez le serveur MCP depuis le terminal avec la CLI Claude Code.

claude mcp add polydrobe \
  --transport http \
  --url https://polydrobe.app/mcp \
  --header "Authorization: Bearer pdtk_abc123..."

4. Développement local (mode stdio)

En développement local, lancez le serveur MCP directement sur stdio, sans HTTP. Il s’authentifie d’avance sous l’utilisateur indiqué.

python manage.py mcp_stdio --user=your-username

# Claude Desktop config for local stdio:
{
  "mcpServers": {
    "polydrobe-local": {
      "command": "python",
      "args": ["manage.py", "mcp_stdio", "--user=your-username"],
      "cwd": "/path/to/polydrobe"
    }
  }
}

5. Faire un premier essai

Une fois la connexion établie, posez à votre assistant IA des questions en langage naturel sur les données de votre projet.

# Example prompts for your AI assistant:

"List all my projects"
"Show me the assets in project 'cyber-skins'"
"Create a new asset called 'Neon Jacket' in the 'outerwear' category"
"Search for legendary variants with price above 20"
"Set up categories: Headwear, Outerwear, Footwear, Accessories"
"Tag all sword assets with 'melee' and 'weapon'"
"Export the project data as JSON"
"Give me a project overview with sample thumbnails"

Outils MCP disponibles

Chaque opération de lecture, d’écriture, de recherche et d’export de PolyDrobe est exposée comme un outil. Un assistant IA découvre l’ensemble à la connexion, regroupé par catégorie, sans rien à configurer.

Projects:       list_projects, get_project, create_project,
                update_project, delete_project

Assets:         list_assets, get_asset, create_asset,
                update_asset, delete_asset

Variants:       list_variants, create_variant,
                update_variant, delete_variant

Bundles:        list_bundles, get_bundle, create_bundle,
                update_bundle, delete_bundle, list_bundle_items,
                add_bundle_item, remove_bundle_item,
                find_bundles_containing_variant

Collections:    collections_list, collections_get,
                collections_create, collections_update,
                collections_delete, collections_add_member,
                collections_remove_member, collections_duplicate

Classification: list_categories, create_category, update_category,
                delete_category, list_tags, create_tag, delete_tag,
                list_rarities, create_rarity, list_releases,
                create_release, list_currencies, create_currency,
                list_statuses, create_status

Tags:           add_asset_tags, remove_asset_tags,
                add_variant_tags, remove_variant_tags

Favorites:      list_favorites, add_favorite,
                remove_favorite, toggle_favorite

Team:           list_members, update_member_role, remove_member

Search:         search (full-text across assets & variants)
Activity:       get_activity_log

Images:         fetch_variant_thumbnail, fetch_variant_image,
                fetch_variant_texture, set_variant_thumbnail

Bulk:           bulk_create_variants, bulk_update_variants,
                bulk_delete_variants

Data:           export_project, import_project_data

OAuth 2.1 en production (avancé)

Pour les pipelines CI/CD et les intégrations de serveur à serveur, vous pouvez employer le flux client credentials d’OAuth 2.1 à la place des jetons personnels. Contactez le support pour faire créer une application OAuth.

# Exchange client credentials for an access token:
curl -X POST https://polydrobe.app/o/token/ \
  -d "grant_type=client_credentials" \
  -d "client_id=your-client-id" \
  -d "client_secret=your-client-secret" \
  -d "scope=read write"

# For most use cases, personal access tokens from
# Workspace Settings > API Tokens are simpler and sufficient.

Qui peut faire quoi

Trois rôles, découpés selon ce que chacun a besoin de modifier. Les visionneurs restent gratuits.

Propriétaire

Gère les paramètres projet, limites de plan et accès équipe.

  • Paramètres du projet
  • Facturation
  • Gestion d'équipe
  • Créer ou modifier des assets
  • Import et export
  • Navigation en lecture seule
Siège payant

Éditeur

Crée et met à jour actifs, variantes et données opérationnelles.

  • Paramètres du projet
  • Facturation
  • Gestion d'équipe
  • Créer ou modifier des assets
  • Import et export
  • Navigation en lecture seule
Siège payant

Visionneuse

Consulte les données projet pour revue, QA ou visibilité parties prenantes.

  • Paramètres du projet
  • Facturation
  • Gestion d'équipe
  • Créer ou modifier des assets
  • Import et export
  • Navigation en lecture seule
Siège gratuit

Questions fréquemment posées

Qu’est-ce que PolyDrobe ?
PolyDrobe est une plateforme de gestion d’actifs de jeu pour documenter, versionner et travailler à plusieurs sur les actifs vestimentaires d’un projet : skins, cosmétiques et accessoires. Vous obtenez une base de données structurée et interrogeable, à la place du tableur par lequel la plupart des équipes commencent.
Quels types d’actifs PolyDrobe gère-t-il ?
PolyDrobe vise les tenues et les objets cosmétiques de jeu : skins de personnages, tenues complètes, accessoires, armes et tout objet décliné en plusieurs variantes visuelles. Chaque actif porte autant de variantes que nécessaire, pour les coloris, les niveaux de qualité ou les versions saisonnières.
PolyDrobe permet-il de prévisualiser les modèles 3D ?
Oui. PolyDrobe intègre une visionneuse de modèles 3D qui affiche les fichiers .glb et .gltf directement dans le navigateur. Attachez les maillages aux actifs et les textures aux variantes, puis prévisualisez-les sans quitter l’application.
Que vaut PolyDrobe face à Google Sheets pour suivre des actifs de jeu ?
Google Sheets n’offre ni types de données structurés, ni suivi des versions, ni contrôle des rôles, ni gestion des médias. PolyDrobe vous donne des champs dédiés à la rareté, au statut, au prix, à la version et aux étiquettes, conserve les miniatures et les modèles 3D sur la fiche, et applique un accès selon le rôle.
En quoi PolyDrobe se distingue-t-il de Notion ou d’Airtable ?
Notion et Airtable sont des outils de base de données généralistes, où le schéma des actifs de jeu reste à votre charge. PolyDrobe le fournit déjà : hiérarchie actif-variante, visionneuse de modèles 3D, gestion des textures, statuts de pipeline, niveaux de rareté et suivi des versions.
Avec quels moteurs de jeu PolyDrobe est-il compatible ?
PolyDrobe est indépendant du moteur. Il documente et coordonne le catalogue pendant que votre moteur fait tourner le jeu : les équipes sous Unity, Unreal Engine, Godot ou moteur maison l’utilisent donc de la même façon. L’export JSON et Excel ainsi que le serveur MCP acheminent les données vers votre pipeline.
Les agents IA peuvent-ils interagir avec PolyDrobe ?
Oui. PolyDrobe expose un serveur Model Context Protocol (MCP) sur https://polydrobe.app/mcp. Chaque opération de lecture, d’écriture, de recherche et d’export y est disponible comme un outil. Des assistants IA comme Claude et ChatGPT s’y connectent avec un jeton Bearer, puis listent les projets, gèrent les actifs, les variantes, les packs et les collections, configurent les classifications, posent des étiquettes, modifient des entrées en masse et interrogent la base en langage naturel. La section Guides développeur détaille la configuration.
Quelle est la différence entre l’API REST et le serveur MCP ?
Les deux atteignent les mêmes données par la même couche de services. L’API REST emploie les méthodes HTTP standard (GET, POST, PATCH, DELETE) et des enveloppes JSON, ce qui convient aux scripts, aux pipelines CI/CD et aux intégrations sur mesure. Le serveur MCP parle le Model Context Protocol : des assistants IA comme Claude et ChatGPT manipulent alors vos données en langage courant. Les deux demandent un plan Pro et une authentification OAuth2.
Comment obtenir un jeton d’accès à l’API ?
Ouvrez Paramètres de l’espace de travail > Jetons d’API et cliquez sur Créer le jeton. Donnez-lui un nom, cochez les portées (lecture, écriture) et choisissez une durée de validité. Copiez le jeton dès qu’il s’affiche : il ne s’affiche qu’une fois. Le même jeton sert à l’API REST et au serveur MCP, et les deux demandent un plan Pro.
PolyDrobe gère-t-il le travail en équipe ?
Oui. Un projet accueille plusieurs membres répartis en trois rôles : Propriétaire (contrôle total, paramètres et facturation compris), Éditeur (crée et met à jour les actifs et les variantes) et Visionneuse (lecture seule, pour la QA ou la revue des parties prenantes). Invitez vos coéquipiers par e-mail depuis les Paramètres du projet.
Chaque skin doit-il être un actif ou une variante ?
Utilisez un actif pour l'objet de base et des variantes pour chaque skin/version.
Comment garder des noms cohérents ?
Appliquez des conventions de nommage claires et des URLs basées sur slug.
Puis-je partager des données projet en externe ?
Oui, sur les plans qui incluent l'échange de données. Utilisez la page Échange de données pour exporter le projet complet en JSON ou Excel, ou dans une archive ZIP qui emporte aussi les fichiers multimédias, puis partagez-le avec les outils en aval, les éditeurs ou les prestataires externes.
Que comprend le plan Free ?
Le plan Free comprend 1 projet possédé, jusqu'à 3 membres, 1 Go de stockage d'espace de travail, des actifs illimités, 100 variantes par projet et 30 jours de rétention d'activité.
Les sièges Visionneuse comptent-ils dans la facturation ?
Non. Seuls les rôles Propriétaire et Éditeur sont facturés. Les sièges Visionneuse restent gratuits.
PolyDrobe est-il un produit SaaS ?
Oui. PolyDrobe est une application SaaS web hébergée sur polydrobe.app. Aucun logiciel à installer : inscrivez-vous, créez un projet et ajoutez vos premiers actifs dans la foulée.
Puis-je importer dans PolyDrobe des données d’actifs existantes ?
Oui. PolyDrobe importe du JSON, de l’Excel (.xlsx), des archives ZIP qui transportent les médias à côté du fichier de données, et des feuilles Google Sheets. Exportez votre tableur actuel au format attendu, puis importez-le depuis la page Échange de données. Chaque import passe d’abord par un aperçu : vous voyez, ligne par ligne, le nombre de créations, de mises à jour et d’erreurs avant d’enregistrer.
Quelles colonnes le modèle d’import Google Sheets demande-t-il ?
Chaque feuille a ses colonnes. Categories : slug, name, description, parent_slug. Tags : slug, name, value. Rarities : name, color (hexadécimal #RRGGBB), priority. Currencies : code, name, symbol. Releases : version, name, description, release_date (YYYY-MM-DD). Assets : slug, name, description, category_slug, tags. Variants : slug, name, asset_slug, rarity, release, currency, price, description, tags. Les en-têtes respectent la casse et doivent figurer sur la première ligne. La synchronisation Google Sheets couvre ces sept types d’entités ; les packs et les collections s’importent par envoi Excel ou JSON.
Pourquoi mon import Google Sheets affiche-t-il « Les métadonnées de la feuille n’ont pas pu être chargées » ?
Le fichier est sans doute un .xlsx importé puis ouvert dans Google Sheets, et non une feuille de calcul Google native. Une URL qui porte « rtpof=true » signale un fichier importé. Pour corriger, ouvrez le fichier dans Google Sheets, choisissez File > Save as Google Sheets, puis cliquez sur Parcourir dans votre profil de synchronisation et sélectionnez le fichier converti. Vérifiez aussi que le compte Google connecté peut ouvrir la feuille de calcul.
Faut-il connecter Google séparément pour chaque projet ?
Oui. Chaque projet demande sa propre connexion Google, pour garder les données de chaque client isolées. Deux projets peuvent avoir des propriétaires et des règles d’accès différents. Le même compte Google peut servir sur tous les projets.

Problèmes courants

Solutions rapides pour les problèmes les plus fréquents.

Permissions insuffisantes

Si une action est indisponible, vérifiez votre rôle et demandez un accès à un Propriétaire.

Erreurs de validation à l'import

Vérifiez champs requis, slugs de catégorie et valeurs enum avant réessai.

Problèmes d'envoi média

Vérifiez type de fichier, taille et stockage utilisé selon votre plan.

Google Sheets : « Les métadonnées de la feuille n’ont pas pu être chargées »

Le fichier est probablement un .xlsx importé plutôt qu’une feuille de calcul Google native. Ouvrez-le, choisissez File > Save as Google Sheets, puis cliquez sur Parcourir dans votre profil de synchronisation et sélectionnez le fichier converti. Vérifiez aussi que le compte Google connecté peut ouvrir la feuille de calcul.

Google Sheets : les feuilles Assets ou Variants échouent sur « Étiquette introuvable » ou « Catégorie introuvable »

Les entités référencées doivent exister avant que quoi que ce soit puisse pointer dessus. L’import parcourt les feuilles dans l’ordre (Currencies > Rarities > Releases > Tags > Categories > Assets > Variants) : une catégorie qui n’a pas pu être importée entraîne donc ses actifs avec elle. Lisez l’aperçu de l’exécution test depuis le haut et corrigez d’abord le type d’entité le plus en amont.

Google Sheets : le prix d’une variante est signalé « prix invalide »

L’import accepte le point (9.99) comme la virgule (9,99) en séparateur décimal. Si l’erreur persiste, cherchez des caractères parasites, des symboles monétaires ou des espaces dans la cellule du prix.

Demandez-nous directement.

Écrivez-nous et un humain vous répond.