# Héberger votre NFT sur IPFS

Si vous ne le savez pas encore, avoir un NFT ne signifie pas que le fichier du NFT est téléchargé tel quel sur la blockchain.\
En réalité, un NFT correspond à un bloc de la blockchain qui contient un certain jeton. Ce jeton stocke un « pointeur » ou lien, appelé `tokenURI`, qui contient l’adresse en ligne d’un fichier de métadonnées, lequel référence lui-même le fichier média à l’aide d’un autre URI.

En raison de la nature pair-à-pair de la blockchain, vous ne pouvez pas simplement héberger le fichier de votre NFT et son fichier de métadonnées sur n’importe quel service d’hébergement web. Votre `tokenURI` doit rester permanent (ou « immuable ») et portable entre les applications et les places de marché, aussi longtemps que possible, voire pour toujours.

C’est là qu’IPFS entre en scène.

## **À propos d’IPFS**

[IPFS](https://ipfs.tech/), pour InterPlanetary File System, est un réseau de fichiers décentralisé qui sert à héberger et partager des données sur des réseaux distribués. Les plateformes NFT peuvent récupérer des données depuis IPFS au lieu de s’appuyer sur un seul serveur, et le protocole IPFS donne l’impression que tous les fichiers hébergés sont locaux.

{% hint style="success" %}
**Dois-je apprendre IPFS tout de suite ?**

Cela dépend de la méthode que vous avez choisie pour frapper votre NFT :

* En utilisant du code natif (comme [viem](https://viem.sh/) ou [ethers](https://ethers.org/)):\
  **Oui**, vous avez besoin d’un `tokenURI` (par ex. `ipfs://.../metadata.json`) au préalable.
* Via un tableau de bord tel que [thirdweb](https://thirdweb.com/):\
  **Non**. Le téléversement vers IPFS est intégré. Vous pouvez toujours coller un `ipfs://...` existant si vous en avez un dans les paramètres du NFT.
* En utilisant la plupart des SDK Web3 (comme [le Multichain SDK de Rarible](https://docs.rarible.org/reference/getting-started)):\
  **Oui**, ils s’attendront à recevoir une URI. Certains outils peuvent aider pour les téléversements, mais pas la plupart.
  {% endhint %}

Le site web d’IPFS comporte [une page très complète sur les bonnes pratiques de stockage des NFT](https://docs.ipfs.tech/how-to/best-practices-for-nft-data/#types-of-ipfs-links-and-when-to-use-them).

## Détails du téléversement du NFT

Lorsque vous téléversez votre NFT, vous devez effectuer deux téléversements vers l’identifiant de contenu (CID) qu’IPFS génère pour vous :

* Le contenu lui-même, pour lequel IPFS renvoie une URL IPFS pour le fichier hébergé.
* Le fichier de métadonnées, qui référence le CID du fichier média, et doit contenir l’URL IPFS du fichier.

Les deux doivent être téléversés sur IPFS sous le même CID.

Idéalement, votre boîte à outils prend cela en charge afin que vous n’ayez pas à tout faire manuellement.

À titre informatif, voici à quoi ressemblerait un fichier `metadata.json` minimal :

```json
{ 
    "name": "Stadium Pass #25456456", 
    "description": "PSG supporter entry ticket", 
    "image": "ipfs:///filename.png",           // pour les images statiques uniquement !
    // "animation_url": "ipfs:///filename.mp4" // pour les fichiers vidéo et audio.
    "attributes": [
    { 
        "trait_type": "Tier", 
        "value": "Or" 
    }] 
}
```

Pour en savoir plus sur la structure des métadonnées NFT (par exemple, pourquoi vous devriez utiliser `image` pour les images et `animation_url` pour les vidéos), nous vous conseillons de lire ce document d’OpenSea :

{% embed url="<https://docs.opensea.io/docs/metadata-standards#metadata-structure>" %}

Remarque : *Vous ne devez pas écrire le fichier de métadonnées à partir de zéro !*\
Votre boîte à outils devrait pouvoir le générer pour vous.

{% hint style="success" %}
Vous pouvez soit [exécuter votre propre nœud IPFS](https://docs.ipfs.tech/how-to/command-line-quick-start/), soit payer un hébergeur IPFS, tel que [Pinata](https://pinata.cloud/), qui propose un plan tarifaire gratuit qui peut suffire à vos besoins.

Suivez [le guide de démarrage rapide de Pinata](https://docs.pinata.cloud/quickstart) afin d’obtenir vos identifiants API (composés d’une clé API, d’un secret API et d’un jeton JWT) ainsi que votre domaine Dedicated Gateway (par exemple, `blue-genetic-quail-122.mypinata.cloud`).
{% endhint %}

Comme cette documentation n’a pas vocation à tout décrire sur IPFS, nous vous conseillons d’explorer le sujet par des recherches en ligne. Vous pouvez commencer par cette explication de Pinata :

{% embed url="<https://docs.pinata.cloud/ipfs-101/how-does-ipfs-work-with-nfts>" %}

... ou cet article de blog de thirdweb :

{% embed url="<https://blog.thirdweb.com/guides/securing-pinning-your-nft-with-ipfs/>" %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.chiliz.com/fr-ai/develop/advanced/work-with-nfts/hosting-your-nft-on-ipfs.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
