> ## 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.

# Commande serve

> Commande serve

La commande `serve` permet de rendre les dispositions spécifiées accessibles à la CTA pour les expériences de validation.

Fournissez soit un ensemble d'adaptation tactile empaqueté (créé avec la commande `pack`), soit un jeu de dispositions non empaquetées.

Le tableau suivant présente les différentes options qui peuvent être utilisées avec la commande `serve`.

| Options | Description |
| - | - |
| `--takx`, `--takx-file <takx-file>` | Chemin vers l'ensemble d'adaptation tactile que vous souhaitez servir. Ce paramètre, le paramètre `--layout-path` ou le paramètre `--takxconfig` est obligatoire. |
| `--takxconfig`, `--takx-config-file <takx-config-file>` | Chemin vers le fichier `takxconfig.json` représentant l'ensemble que vous souhaitez servir. Ce paramètre, le paramètre `--layout-path` ou le paramètre `--takx` est obligatoire. |
| `--layout-path <layout-path>` | Chemin vers le répertoire racine des dispositions que vous souhaitez inclure dans l'ensemble servi. Ce paramètre, le paramètre `--takx-file` ou le paramètre `--takxconfig` est obligatoire. Lorsque `--takxconfig` est spécifié, cet argument remplace le chemin spécifié dans le fichier `takxconfig.json`. |
| `--asset-path <asset-path>` | Chemin vers le répertoire racine des ressources que vous souhaitez inclure dans l'ensemble servi. Si l'ensemble ne comporte pas de ressources, ce paramètre n'est pas obligatoire. Lorsque `--takxconfig` est spécifié, cet argument remplace le chemin spécifié dans le fichier `takxconfig.json`. |
| `--context file <context-file>` | Chemin vers le fichier de contexte que vous souhaitez inclure dans l'ensemble. Si l'ensemble n'a pas de contexte, ce paramètre n'est pas obligatoire. Lorsque `--takxconfig` est spécifié, cet argument remplace le chemin spécifié dans le fichier `takxconfig.json`. |
| `--default-layout <default-layout>` | Nom de la disposition par défaut. Il doit correspondre au nom de l'un des fichiers du chemin des dispositions. Lorsque `--takxconfig` est spécifié, cet argument remplace la valeur par défaut spécifiée dans le fichier `takxconfig.json`. |
| `--version <version>` | Version du contenu de l'ensemble d'adaptation tactile, par exemple 1.0.0.0. Chaque ensemble d'adaptation tactile soumis à Microsoft pour un titre doit avoir un numéro de version sémantiquement supérieur à celui de tout ensemble d'adaptation tactile soumis précédemment. Le numéro de version de l'ensemble d'adaptation tactile utilisé pendant la diffusion en continu d'un jeu peut être obtenu en appelant [XGameStreamingGetTouchBundleVersion](/fr-CA/reference/system/xgamestreaming/functions/xgamestreaminggettouchbundleversion). Lorsque `--takxconfig` est spécifié, cet argument remplace la version spécifiée dans le fichier `takxconfig.json`. |
| `--version-name <version-name>` | Nom de la version du contenu de l'ensemble d'adaptation tactile, par exemple « DLC 1 ». Contrairement au numéro de version, le nom de version est facultatif et aucune exigence n'est imposée quant à son format. Le nom de version de l'ensemble d'adaptation tactile utilisé pendant la diffusion en continu d'un jeu peut être obtenu en appelant [XGameStreamingGetTouchBundleVersion](/fr-CA/reference/system/xgamestreaming/functions/xgamestreaminggettouchbundleversion). Lorsque `--takxconfig` est spécifié, cet argument remplace le nom de version spécifié dans le fichier `takxconfig.json`. |
| `--no-asset-optimization` | Garantit que les ressources ne sont pas optimisées pour un stockage et une communication efficaces. Si cette option est définie, les ressources ne sont pas modifiées. |
| `--no-verify` | Garantit que la validité de l'ensemble d'adaptation tactile produit n'est pas vérifiée |
| `--language <language>` | Balise de langue IETF d'une langue à inclure dans l'ensemble produit qui est servi. Si ce paramètre est spécifié plusieurs fois, toutes les langues fournies sont incluses. Si le paramètre n'est pas spécifié, toutes les dispositions et ressources trouvées dans le répertoire source sont incluses dans l'ensemble servi. Lorsque `--takxconfig` est spécifié, cet argument remplace les langues spécifiées dans le fichier `takxconfig.json`. |
| `--port <port>` | Port sur lequel servir l'ensemble d'adaptation tactile. Le port par défaut est 9269. |
| `--host <host>` | Hôte sur lequel servir l'ensemble d'adaptation tactile. L'hôte par défaut est `0.0.0.0`, ce qui rend l'ensemble accessible sur toutes les interfaces réseau. Utilisez `localhost` pour activer le serveur uniquement en bouclage, ou une adresse IP précise pour contrôler l'interface sur laquelle le serveur est accessible. |
| `--certificate-file <certificate-file>` | Chemin vers le fichier de certificat .pfx permettant d'authentifier le serveur pour les requêtes HTTPS sécurisées. Cet indicateur est nécessaire pour que l'outil héberge un serveur HTTPS authentifié. <br /><br />⚠️ **REMARQUE :** L'[application de test de contenu Web (CTA)](/fr-CA/build/core-features/common/game-streaming/game-streaming-web-content-test-application) ne peut se connecter qu'aux serveurs de chargement indépendant distants qui utilisent `https` et cette option. |
| `--certificate-password <certificate-password>` | Mot de passe requis pour accéder aux données du certificat. |
| `--password <password>` | Mot de passe permettant d'authentifier le client. Il s'agit d'un indicateur facultatif permettant de restreindre l'accès des clients aux ensembles d'adaptation tactile lors du chargement indépendant par https. Pour que le client soit authentifié, le mot de passe fourni doit correspondre au mot de passe fourni dans les paramètres de développeur du client. |

### Considérations de sécurité

La commande `serve` est destinée au développement local. Elle héberge temporairement des ensembles d'adaptation tactile à partir d'un PC de développement afin qu'un client de diffusion en continu puisse les charger pendant les itérations. Elle ne doit pas être exposée à l'Internet public.

<Info>
  Utilisez la liaison d'hôte la plus restreinte qui convient à votre scénario :

  * Utilisez `--host localhost` lorsque seul le PC local doit se connecter.
  * Utilisez `--host <specific IP address>` lorsqu'un client de diffusion en continu doit se connecter par l'intermédiaire d'une interface réseau locale connue.
  * Utilisez `--host 0.0.0.0` uniquement si vous avez l'intention d'écouter sur toutes les interfaces réseau du PC de développement. D'autres appareils du même réseau pourraient alors accéder au serveur de chargement indépendant si les règles de pare-feu et de réseau le permettent.

  L'écouteur HTTP par défaut est acceptable pour une session de chargement indépendant locale de confiance pendant que vous effectuez activement des itérations. Renforcez la configuration lorsque vous effectuez une liaison au-delà de `localhost`, utilisez un réseau partagé ou non fiable, ou devez laisser le serveur accessible plus longtemps que la passe de test en cours. Dans ces cas, privilégiez HTTPS en utilisant `--certificate-file` avec `--certificate-password`, comme décrit dans [Instructions de génération de certificat](#certificate-generation-instructions). Ajoutez `--password` lorsque vous souhaitez restreindre l'accès des clients à l'ensemble servi.
</Info>

Lorsque `--password` est utilisé, choisissez ou générez la valeur localement pour la session de chargement indépendant et entrez la même valeur dans les paramètres de développeur du client. Le mot de passe protège l'accès à cette session de chargement indépendant HTTPS locale; Microsoft ne le gère pas et n'en effectue pas la rotation pour vous. Effectuez sa rotation en redémarrant `tak serve` avec un nouveau mot de passe et en mettant à jour le paramètre du client.

### Exemples

Utilisez l'exemple de code suivant pour servir un ensemble d'adaptation tactile sur un hôte.

***

Servir toutes les dispositions du chemin layout-path sur le port et l'hôte par défaut et déclarer une version et un nom de version précis

```
C:\>tak serve --layout-path C:\tmp\layouts --version 1.0.0.2 --versionName DLC2
Verifying touch adaptation bundle 'C:\tmp\layouts'.
Now listening on: http://0.0.0.0:9269
Application started. Press Ctrl+C to shut down.
Hosting environment: Production
Content root path: C:\tmp
```

***

Servir un ensemble d'adaptation tactile spécifié uniquement sur localhost

```
C:\>tak serve --takx-file C:\tmp\MyGameLayouts.takx --host localhost
Now listening on: http://localhost:9269
Application started. Press Ctrl+C to shut down.
Hosting environment: Production
Content root path: C:\tmp
```

***

### Instructions de génération de certificat

Un certificat est requis pour héberger un serveur sécurisé authentifié pour le chargement indépendant des ensembles tactiles. Tout certificat SSL approprié peut être utilisé, mais les instructions ci-dessous permettent également de créer un certificat

1. Obtenez le script permettant de générer un certificat auto-signé à partir du [GitHub XBOX Game Streaming Tools](https://github.com/microsoft/xbox-game-streaming-tools/blob/main/touch-adaptation-kit/scripts/Create-SelfSignedCertificate.ps1)

   a. Accédez au lien ci-dessus, sélectionnez « raw », puis copiez-collez le contenu du script dans un document sur votre ordinateur local

   b. Vous pouvez aussi exécuter la commande suivante dans Powershell pour télécharger le script

```powershell theme={null}
    Invoke-WebRequest -Uri https://raw.githubusercontent.com/microsoft/xbox-game-streaming-tools/main/touch-adaptation-kit/scripts/Create-SelfSignedCertificate.ps1 -Out ./Create-SelfSignedCertificate.ps1
```

<Note>
  Le script Create-SelfSignedCertificate.ps1 fonctionne uniquement sous Windows. Il peut exister des outils sur d'autres systèmes d'exploitation pour générer des certificats auto-signés valides
</Note>

2. Exécutez le script téléchargé dans Powershell.
3. Le script vous demandera un mot de passe pour sécuriser le certificat. Définissez le mot de passe en l'entrant à cet endroit. Ce mot de passe sera utilisé comme entrée pour l'indicateur -certificate-password de la commande serve.
   Cela générera deux fichiers : `sideload.pfx` et `sideload.cer`. Le chemin vers le fichier de certificat `sideload.pfx` doit être passé comme entrée à l'indicateur -certificate-file de la commande serve.

### Approuver le certificat sur différents clients

Chargez le fichier .cer sur votre appareil. Vous pouvez le faire par courriel, OneDrive, USB, ADB, AirDrop, etc. Approuvez le certificat de la manière habituelle appropriée pour l'appareil concerné.

#### Windows

1. Double-cliquez sur le fichier `sideload.cer`
2. Sélectionnez « Installer le certificat ». Cela ouvre l'Assistant Importation de certificat.
3. Sélectionnez « Utilisateur actuel » comme emplacement de stockage.
4. Dans la fenêtre suivante, sélectionnez « Placer tous les certificats dans le magasin suivant », puis sélectionnez « Parcourir » pour choisir « Autorités de certification racines de confiance ».

#### Android

1. Sur votre appareil Android, accédez à Paramètres > Sécurité > Paramètres avancés > Chiffrement et identifiants > Installer depuis la mémoire de stockage.
2. Installez le certificat en sélectionnant **Certificat CA**, puis recherchez le fichier `sideload.cer` téléchargé dans la section précédente

   Une fois installé, ce certificat peut être consulté sous Identifiants de confiance > Utilisateur

Consultez la [documentation de Google](https://support.google.com/pixelphone/answer/2844832?hl=en) pour plus de renseignements.

#### iOS

1. Accédez à l'application Fichiers sur votre appareil iOS pour installer le fichier .cer dans les profils de votre appareil
2. Un nouveau profil devrait être généré en fonction du nom de profil du fichier .cer. Il se trouve sous Réglages > Général > Profils et gestion de l'appareil.
3. Installez le certificat. La signature du certificat devrait s'afficher comme vérifiée.
4. Pour tester le certificat installé, accédez à Réglages > Général > Informations > Réglages des certificats. Activez la confiance totale pour le certificat racine qui vient d'être installé.

Consultez la [documentation d'Apple](https://support.apple.com/en-us/HT204477) pour plus de renseignements.

### Exemples

Utilisez l'exemple de code suivant pour servir un ensemble d'adaptation tactile sur un hôte de manière sécurisée.

***

Servir toutes les dispositions du chemin des dispositions sur l'hôte et le port par défaut par https

```
C:\>  tak serve --layout-path C:\tmp\layouts --certificate-file C:\tmp\sideload.pfx --certificate-password "password"
Adding local loopback exemption for PC app connections.
OK.
Hosting starting
Now listening on: https://0.0.0.0:9269
Application started. Press Ctrl+C to shut down.
Hosting environment: Production
Content root path: C:\tmp
Hosting started
```

***

Servir toutes les dispositions du chemin des dispositions sur l'hôte et le port par défaut de manière sécurisée, après authentification du client.

```
C:\>  tak serve --layout-path C:\tmp\layouts --certificate-file C:\tmp\sideload.pfx --certificate-password "certificatePassword" -password "password"
Adding local loopback exemption for PC app connections.
OK.
Hosting starting
User profile is available. Using 'AppData\Local\ASP.NET\DataProtection-Keys' as key repository and Windows DPAPI to encrypt keys at rest.
Now listening on: https://0.0.0.0:9269
Application started. Press Ctrl+C to shut down.
Hosting environment: Production
```

***

## Voir aussi

[Outil de ligne de commande Touch Adaptation Kit (tak.exe)](/fr-CA/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line)


## Related topics

- [Programme de services payants de certification](/fr/publishing/game-publishing/concepts/certification/certification-paid-services.md)
- [Intégration des partenaires XBOX pour l'accès au GDK](/fr-CA/home/onboarding.md)
- [Intégration des partenaires XBOX : accès et publication](/fr/home/onboarding.md)
- [Compiler et exécuter votre premier titre console GDKX](/fr/home/build-first-title/first-console-title-walkthrough.md)
- [Glossaire GDK des termes et acronymes](/fr/home/glossary.md)
