> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Démarrage rapide du Content Delivery Network

> Stockez et distribuez des ressources de jeu par clé à partir du CDN PlayFab hérité, y compris les chemins de dossiers, le comportement de mise en cache en périphérie et les délais liés aux chargements, remplacements et suppressions.

<Info>
  PlayFab CDN est une fonctionnalité héritée prise en charge pour les comptes disposant d'au moins un titre ayant déjà configuré le CDN. Pour les nouveaux développeurs PlayFab à la recherche d'une solution de gestion de contenu, nous recommandons d'utiliser Azure CDN. Pour commencer, consultez la [documentation Azure CDN](https://learn.microsoft.com/en-us/azure/cdn/).
</Info>

Le Content Delivery Network (CDN) de PlayFab stocke des ressources individuelles sous forme de fichiers identifiés de manière unique par leur nom de fichier (également appelé *clé*). Cela implique que vous ajoutez, mettez à jour, supprimez et récupérez les ressources par clé.

PlayFab CDN permet de séparer les ressources par dossiers. Le chemin du dossier de la ressource fait partie de la *clé de ressource*.

L'exemple suivant est une clé de ressource valide stockée dans le dossier nommé `Android`.

`Android/Image.png`.

Lorsque l'utilisateur récupère des ressources, ses requêtes sont automatiquement acheminées vers l'emplacement de périphérie le plus proche, de sorte que le contenu est distribué avec les meilleures performances possibles.

Cela peut toutefois introduire des délais dans les actions de gestion des fichiers, comme dans les exemples suivants :

* **Chargement de fichier** : votre fichier est disponible immédiatement.

* **Remplacement de fichier** : l'ancien fichier reste visible par les utilisateurs pendant 24 heures au maximum, jusqu'à ce qu'il soit remplacé par le nouveau fichier.

* **Suppression de fichier** : le fichier continue d'exister pendant 24 heures au maximum, le temps que la commande de suppression le retire de tous les emplacements de périphérie.

## Chargement de ressources

Avant que vos utilisateurs puissent récupérer une ressource, celle-ci doit être chargée sur le CDN. Vous pouvez le faire dans **Game Manager** :

* Sélectionnez **Content** dans le menu de gauche.
* Choisissez l'onglet **File Management**.
* Sélectionnez ensuite **Upload Files**.

<img src="https://mintcdn.com/microsoft-4404708b/MjJ0-cTsb1bpaMcX/images/playfab/data-analytics/legacy/content-delivery-network/tutorials/game-manager-content-file-management-upload-files.png?fit=max&auto=format&n=MjJ0-cTsb1bpaMcX&q=85&s=8434341dcd92836b082c55dbaa661e4b" alt="Game Manager - Content - File Management - Upload Files" width="2560" height="1184" data-path="images/playfab/data-analytics/legacy/content-delivery-network/tutorials/game-manager-content-file-management-upload-files.png" />

Vous pouvez :

* Sélectionner plusieurs **Files (1)**.
* Chaque fichier sélectionné apparaît dans la liste **(2)**.
* Envoyer vos fichiers en sélectionnant le bouton **Upload Files** **(3)**.

<img src="https://mintcdn.com/microsoft-4404708b/MjJ0-cTsb1bpaMcX/images/playfab/data-analytics/legacy/content-delivery-network/tutorials/game-manager-choose-and-upload-files.png?fit=max&auto=format&n=MjJ0-cTsb1bpaMcX&q=85&s=7c6bbd20066b2a6c40bdc062c8ec9603" alt="Game Manager - Choisir et charger des fichiers" width="924" height="580" data-path="images/playfab/data-analytics/legacy/content-delivery-network/tutorials/game-manager-choose-and-upload-files.png" />

* Les fichiers chargés apparaissent dans la liste **(1)**.

* N'oubliez pas que vous pouvez également gérer des *dossiers*.
  * Pour créer un dossier, sélectionnez le bouton **New Folder** **(2)**.

* Renseignez le champ **Folder name (1)**.

* Sélectionnez le bouton **Create Folder** **(2)**.

<img src="https://mintcdn.com/microsoft-4404708b/MjJ0-cTsb1bpaMcX/images/playfab/data-analytics/legacy/content-delivery-network/tutorials/game-manager-create-new-folder.png?fit=max&auto=format&n=MjJ0-cTsb1bpaMcX&q=85&s=b25109c958f0156cb00fd5a84d75ddbd" alt="Game Manager - Créer un nouveau dossier" width="913" height="240" data-path="images/playfab/data-analytics/legacy/content-delivery-network/tutorials/game-manager-create-new-folder.png" />

Cela crée un nouveau dossier dans l'arborescence. Vous pouvez ensuite sélectionner ce dossier et y charger des fichiers normalement.

Vous pouvez également charger des ressources par code à l'aide du SDK d'administration. Il s'agit d'un processus en deux étapes :

1. Tout d'abord, appelez [GetContentUploadUrl](xref:titleid.playfabapi.com.admin.content.getcontentuploadurl) et obtenez l'URL présignée qui autorise votre chargement.
2. Ensuite, utilisez l'URL pour effectuer une requête `HTTP PUT`, en fournissant vos données et (facultativement) le type de contenu.

Vous pouvez utiliser l'extrait ci-dessous, qui montre comment obtenir une URL présignée.

```csharp theme={null}
public void UploadFileToCDN(string key, byte[] content, string contentType = "binary/octet-stream") {
    GetUploadUrl(key, contentType, presignedUrl => {
        PutFile(presignedUrl, content, contentType);
    });
}

void GetUploadUrl(string key, string contentType, Action<string> onComplete) {
    PlayFabAdminAPI.GetContentUploadUrl(new GetContentUploadUrlRequest() {
        ContentType = contentType,
        Key = key
    }, result => onComplete(result.URL),
    error => Debug.LogError(error.GenerateErrorReport()));
}

void PutFile(string presignedUrl, byte[] content, string contentType = "binary/octet-stream") {
    // Implement your own PUT HTTP request here.
    // - Must use PUT method
    // - Must set content type Header
}
```

Vous pouvez ensuite vérifier le résultat dans PlayFab Game Manager. Assurez-vous que le fichier figure dans la liste.

## Récupération de ressources

Le téléchargement de la ressource par code est identique à son chargement. Comme indiqué précédemment, il s'agit d'un processus en deux étapes.

1. Tout d'abord, appelez [GetContentDownloadUrl](xref:titleid.playfabapi.com.client.content.getcontentdownloadurl) et obtenez une URL présignée qui autorise votre téléchargement.
2. Utilisez ensuite l'URL présignée pour effectuer une requête `HTTP GET` et récupérer les données.

Vous pouvez utiliser l'extrait ci-dessous, qui montre l'essentiel du processus.

```csharp theme={null}
public void DownloadFileFromCDN(string key) {
    GetDownloadUrl(key, presignedUrl =>
    {
        GetFile(presignedUrl);
    });
}

void GetDownloadUrl(string key, Action<string> onComplete) {
    PlayFabClientAPI.GetContentDownloadUrl(new GetContentDownloadUrlRequest() {
        Key = key,
        ThruCDN = true
    }, result => onComplete(result.URL),
    error => Debug.LogError(error.GenerateErrorReport()));
}

void GetFile(string preauthorizedUrl) {
    // Implement your own GET HTTP request here.
}
```

Comme indiqué précédemment, le CDN peut introduire une latence lors des mises à jour de fichiers. Pendant le développement, il est parfois utile de forcer la récupération des fichiers les plus récents.

L'appel [GetContentDownloadUrl](xref:titleid.playfabapi.com.client.content.getcontentdownloadurl) vous permet de définir le paramètre `ThruCDN` sur `False`. L'URL renvoyée pointe vers des fichiers récents non mis en cache.

<Note>
  Le client de votre jeu publié ne doit *jamais* utiliser cette option !
</Note>


## Related topics

- [Démarrage rapide](/fr/services/playfab/economy-monetization/economy-v2/quickstart.md)
- [Réseau de distribution de contenu](/fr/services/playfab/data-analytics/legacy/content-delivery-network/index.md)
- [Démarrage rapide de Party](/fr/services/playfab/multiplayer/networking/quickstart.md)
- [Démarrage rapide iOS](/fr/services/playfab/sdks/c/quickstart-ios.md)
- [Démarrage rapide du contenu généré par l'utilisateur (UGC)](/fr/services/playfab/economy-monetization/economy-v2/ugc/quickstart.md)
