> ## 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 mettre les dispositions spécifiées à la disposition de la CTA pour les expériences de validation.

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

Le tableau suivant présente les différentes options disponibles avec la commande `serve`.

| Options | Description |
| - | - |
| `--takx`, `--takx-file <takx-file>` | Chemin du bundle d'adaptation tactile à servir. Ce paramètre, le paramètre `--layout-path` ou le paramètre `--takxconfig` est obligatoire. |
| `--takxconfig`, `--takx-config-file <takx-config-file>` | Chemin du fichier `takxconfig.json` représentant le bundle à servir. Ce paramètre, le paramètre `--layout-path` ou le paramètre `--takx` est obligatoire. |
| `--layout-path <layout-path>` | Chemin du répertoire racine des dispositions à inclure dans le bundle 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 du répertoire racine des ressources à inclure dans le bundle servi. Si le bundle ne contient aucune ressource, 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 du fichier de contexte à inclure dans le bundle. Si le bundle 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 du bundle d'adaptation tactile, par exemple 1.0.0.0. Chaque bundle d'adaptation tactile soumis à Microsoft pour un titre doit avoir un numéro de version sémantiquement supérieur à celui de tout bundle d'adaptation tactile soumis précédemment. Le numéro de version du bundle d'adaptation tactile utilisé pendant le streaming d'un jeu peut être obtenu en appelant [XGameStreamingGetTouchBundleVersion](/fr/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 du bundle d'adaptation tactile, par exemple "DLC 1". Contrairement au numéro de version, le nom de version est facultatif et son format n'est soumis à aucune exigence. Le nom de version du bundle d'adaptation tactile utilisé pendant le streaming d'un jeu peut être obtenu en appelant [XGameStreamingGetTouchBundleVersion](/fr/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é du bundle d'adaptation tactile produit n'est pas vérifiée |
| `--language <language>` | Balise de langue IETF d'une langue à inclure dans le bundle produit et 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 le bundle 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 le bundle d'adaptation tactile. Le port par défaut est 9269. |
| `--host <host>` | Hôte sur lequel servir le bundle d'adaptation tactile. L'hôte par défaut est `0.0.0.0`, ce qui rend le bundle disponible sur toutes les interfaces réseau. Utilisez `localhost` pour activer le serveur uniquement en bouclage, ou une adresse IP spécifique pour contrôler l'interface sur laquelle le serveur est disponible. |
| `--certificate-file <certificate-file>` | Chemin du 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/build/core-features/common/game-streaming/game-streaming-web-content-test-application) peut uniquement se connecter à des 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 bundles d'adaptation tactile lors du chargement indépendant via https. Pour que le client soit authentifié, le mot de passe fourni doit correspondre à celui indiqué dans les paramètres de développement du client. |

### Considérations relatives à la sécurité

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

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

  * Utilisez `--host localhost` lorsque seul le PC local doit se connecter.
  * Utilisez `--host <specific IP address>` lorsqu'un client de streaming doit se connecter via 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 atteindre le 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 et approuvée pendant que vous itérez activement. Renforcez la configuration lorsque vous effectuez une liaison au-delà de `localhost`, que vous utilisez un réseau partagé ou non approuvé, ou que le serveur doit rester accessible au-delà de 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` si vous souhaitez restreindre l'accès des clients au bundle servi.
</Info>

Lorsque `--password` est utilisé, choisissez ou générez la valeur localement pour la session de chargement indépendant et saisissez la même valeur dans les paramètres de développement 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. Pour en effectuer la rotation, redémarrez `tak serve` avec un nouveau mot de passe et mettez à jour le paramètre du client.

### Exemples

Utilisez l'exemple de code suivant pour servir un bundle 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, en déclarant une version et un nom de version spécifiques

```
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 bundle 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é et authentifié pour le chargement indépendant de bundles tactiles. Tout certificat SSL approprié peut être utilisé, mais les instructions ci-dessous permettent également d'en créer un

1. Obtenez le script de génération d'un certificat auto-signé sur le [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 également 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. D'autres systèmes d'exploitation peuvent disposer d'outils permettant de générer des certificats auto-signés valides
</Note>

2. Exécutez le script téléchargé dans PowerShell.
3. Le script vous invite à saisir un mot de passe pour sécuriser le certificat. Définissez le mot de passe en le saisissant à cet endroit. Ce mot de passe sera utilisé comme entrée de l'indicateur -certificate-password de la commande serve.
   Deux fichiers sont alors générés : `sideload.pfx` et `sideload.cer`. Le chemin du fichier de certificat `sideload.pfx` doit être passé comme entrée de l'indicateur -certificate-file de la commande serve.

### Approbation du certificat sur différents clients

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

#### Windows

1. Double-cliquez sur le fichier `sideload.cer`
2. Sélectionnez 'Installer le certificat'. L'Assistant Importation du certificat s'ouvre.
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 est visible sous Identifiants de confiance > Utilisateur

Pour plus d'informations, consultez la [documentation de Google](https://support.google.com/pixelphone/answer/2844832?hl=en).

#### 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 doit ê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 doit 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é.

Pour plus d'informations, consultez la [documentation d'Apple](https://support.apple.com/en-us/HT204477).

### Exemples

Utilisez l'exemple de code suivant pour servir un bundle 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 via 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 en ligne de commande du Touch Adaptation Kit (tak.exe)](/fr/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line)


## Related topics

- [Commande pack](/fr/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-pack-command.md)
- [Référence de l'outil en ligne de commande du Touch Adaptation Kit (TAK)](/fr/build/core-features/common/game-streaming/tak-command-line-tool/index.md)
- [Déploiement de vos dispositions de contrôles tactiles](/fr/build/core-features/common/game-streaming/building-touch-layouts/game-streaming-touch-deploying-touch-layout.md)
- [Déployer des builds à l'aide de Game Manager](/fr/services/playfab/multiplayer/servers/deploy-using-game-manager.md)
- [Commande verify](/fr/build/core-features/common/game-streaming/tak-command-line-tool/game-streaming-tak-command-line-verify-command.md)
