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

> Découvrez comment gérer un workflow multilocataire avec Auth0 Deploy CLI à l’aide du remplacement de mots-clés.

# Remplacement de mots-clés

Deploy CLI prend en charge le remplacement dynamique de mots-clés par des valeurs propres à l’environnement. Cela permet de mettre en place un workflow multilocataire évolutif, dans lequel tous les tenants partagent les mêmes fichiers de configuration des ressources, tout en y injectant des valeurs légèrement différentes.

Pour utiliser le remplacement de mots-clés, la propriété de configuration `AUTH0_KEYWORD_REPLACE_MAPPINGS` doit contenir les mappages appropriés. Ensuite, dans les fichiers de configuration des ressources, les mots-clés peuvent être injectés de l’une des deux façons suivantes :

1. `@@EXAMPLE_KEY@@` : L’utilisation des symboles `@` fait en sorte que l’outil exécute un `JSON.stringify` sur votre valeur avant de la remplacer. Ainsi, si votre valeur est une chaîne de caractères, l’outil ajoutera des guillemets; si votre valeur est un tableau ou un objet, l’outil ajoutera des accolades.
2. `##EXAMPLE_KEY##` : L’utilisation du symbole `#` fait en sorte que l’outil effectue un remplacement littéral; il n’ajoutera ni guillemets ni accolades.

## Exemple de config.json

```json lines theme={null}
{
  "AUTH0_DOMAIN": "test-tenant.us.auth0.com",
  "AUTH0_CLIENT_ID": "FOO",
  "AUTH0_CLIENT_SECRET": "BAR",
  "AUTH0_KEYWORD_REPLACE_MAPPINGS": {
    "ENVIRONMENT": "dev",
    "ALLOWED_LOGOUT_URLS": ["https://dev-test-site.com/logout", "localhost:3000/logout"],
    "ALLOWED_ORIGINS": ["https://dev-test-site.com", "localhost:3000"]
  }
}
```

## Exemple de tenant.yaml

```yaml lines theme={null}
tenant:
  friendly_name: "##ENVIRONMENT## tenant"
  allowed_logout_urls: @@ALLOWED_LOGOUT_URLS@@
  enabled_locales:
    - en
clients:
  - name: Test App
    allowed_origins: @@ALLOWED_ORIGINS@@
    allowed_logout_urls: @@ALLOWED_LOGOUT_URLS@@
```

<div id="example-tenantjson">
  ## Exemple de fichier tenant.json
</div>

```json lines theme={null}
{
  "friendly_name": "##ENVIRONMENT## tenant",
  "allowed_logout_urls": "@@ALLOWED_LOGOUT_URLS@@"
}
```

<div id="array-concatenation">
  ## Concaténation de tableaux
</div>

Il se peut que vous ayez besoin de concaténer des valeurs à un tableau statique au moyen du remplacement de mots-clés. Il n’existe toutefois aucune syntaxe particulière pour ce cas. Il est cependant possible d’y parvenir en échappant les guillemets doubles dans une chaîne unique contenant les valeurs appropriées, puis en l’injectant à l’aide de la syntaxe de mot-clé `##`. Cette technique fonctionne avec les [formats YAML et de répertoire](/docs/fr-ca/deploy-monitor/deploy-cli-tool/available-resource-configuration-formats).

<div id="example-configjson">
  ### Exemple de config.json
</div>

```json lines theme={null}
{
  "AUTH0_KEYWORD_REPLACE_MAPPINGS": {
    "GLOBAL_WEB_ORIGINS": "\"http://local.me:8080\", \"http://localhost\", \"http://localhost:3000\""
  }
}
```

<div id="example-tenantyaml">
  ### Exemple de tenant.yaml
</div>

```yaml lines theme={null}
clients:
  - name: Test App
    web_origins: [ "http://production-app.com", "https://production-app.com", ##GLOBAL_WEB_ORIGINS## ]
```

<div id="preserve-keywords-on-export">
  ## Préserver les mots-clés à l’exportation
</div>

En règle générale, le Deploy CLI fonctionne mieux lorsqu’il est utilisé dans un workflow unidirectionnel, de vos environnements de niveau inférieur (p. ex. : dev, test) vers vos environnements de production. Toutefois, il sera parfois nécessaire d’exporter la configuration d’un environnement de niveau supérieur vers votre répertoire de configuration local. Par défaut, les valeurs distantes écraseront vos valeurs locales, **ce qui entraînera la suppression de vos marqueurs de mots-clés**. Il est toutefois possible d’activer la préservation des remplacements de mots-clés au moyen de la propriété de configuration booléenne `AUTH0_PRESERVE_KEYWORDS`. Lorsque cette option est activée, le Deploy CLI tentera de préserver, pendant l’exportation, les marqueurs de mots-clés définis dans vos fichiers de configuration locaux.

La fonctionnalité de préservation des mots-clés tentera d’en conserver le plus possible tout en maintenant l’exactitude de vos fichiers de configuration des ressources. Dans la majorité des cas, elle fonctionnera sans aucune intervention de l’utilisateur. Cependant, certaines limites importantes s’appliquent :

* Dans le cas d’un champ de configuration utilisant un remplacement de mots-clés, si les valeurs locales et distantes diffèrent, la valeur de configuration locale sera toujours privilégiée. Cela signifie que **toute modification effectuée à distance sera effacée** si un marqueur de remplacement de mot-clé se trouve n’importe où dans la valeur de ce champ dans le fichier de définition de la ressource; il n’y a aucune réconciliation « intelligente ».
* Les tableaux sans identificateurs précis ne peuvent pas être préservés. Ex. : `["http://site.com/logout", "localhost:3000/logout", "##LOGOUT_URL##"]`. Cela s’explique par le fait que l’ordre de ces valeurs n’est pas déterministe. Pour préserver ces valeurs, il est plutôt recommandé d’utiliser la syntaxe de remplacement de mot-clé `@@ARRAY_REPLACE@@` avec la valeur complète.

Pour en savoir plus sur l’historique et les défis techniques liés à la préservation des mots-clés, consultez [RFC: Keyword Preservation During Export](https://github.com/auth0/auth0-deploy-cli/issues/688).
