> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/cli/fr/pour-le-devops-et-les-administrateurs/manage/custom-variables.md).

# Utiliser des variables personnalisées

Énumérer, créer, mettre à jour, supprimer et exporter les variables personnalisées d’un espace de travail local et de ses coffres avec Devolutions CLI, depuis un terminal ou un script.

Les variables personnalisées sont des valeurs nommées stockées dans votre espace de travail ou dans l’un de ses coffres. Avec Devolutions CLI, vous pouvez les énumérer, les définir depuis un script et les exporter, sans ouvrir Devolutions Remote Desktop Manager.

{% hint style="info" %}
Les variables personnalisées ne fonctionnent qu’avec un profil local Devolutions Remote Desktop Manager. Sur Devolutions Cloud et Devolutions Server, ces commandes indiquent que l’espace de travail ne les prend pas en charge. Consultez [Une commande indique que l’espace de travail ne la prend pas en charge](/cli/fr/aide/troubleshooting/not-supported.md).
{% endhint %}

Ces commandes travaillent sur le contexte actuel. Pour utiliser un autre profil local pour une seule commande, ajoutez `--context <context-name>`. Consultez [Basculer entre les espaces de travail](/cli/fr/guides/connect/switch-workspaces.md).

## Choisir la bonne commande

<table><thead><tr><th width="260">CHOISIR</th><th>CE QUI SE PASSE</th><th>À UTILISER QUAND</th></tr></thead><tbody><tr><td><code>devo workspace variable</code></td><td>Énumère, définit ou supprime les variables personnalisées de l’espace de travail actuel.</td><td>La variable appartient à l’ensemble de l’espace de travail.</td></tr><tr><td><code>devo vault variable</code></td><td>Énumère, définit ou supprime les variables personnalisées du coffre actuel, ou du coffre que vous nommez avec <code>--vault</code>.</td><td>La variable appartient à un seul coffre.</td></tr><tr><td><code>devo variable export</code></td><td>Écrit les variables personnalisées d’une portée dans un fichier JSON.</td><td>Vous voulez une copie des variables, par exemple pour les passer en revue ou les garder avec un script.</td></tr></tbody></table>

{% hint style="warning" %}
Les variables personnalisées ne sont pas des secrets. `devo workspace variable list` et `devo vault variable list` affichent chaque valeur en texte clair, la sortie JSON de ces commandes inclut les valeurs, et le fichier exporté les contient. L’exception : une variable dont le nom, ou l’un des champs stockés, contient `password`, `secret`, `token`, `encrypt`, `protected` ou `safevalue` revient avec une valeur vide et l’état `redacted`. Une variable dont la valeur est stockée par le profil sous une forme cachée revient vide avec l’état `unavailable`. Gardez les mots de passe et les clés dans des entrées, et utilisez-les avec [devo secret run](/cli/fr/guides/secrets/run-with-secrets.md).
{% endhint %}

## Lister les variables

```bash
devo workspace variable list
devo vault variable list --vault "<vault-name>"
```

Le tableau montre le nom, la valeur, la portée, la source et la description de chaque variable. Pour n’en garder que quelques-unes, ajoutez un filtre de nom : `*` correspond à n’importe quel texte et `?` à un caractère, et la casse n’a pas d’importance.

```bash
devo workspace variable list "API_*"
```

Sans `--vault`, `devo vault variable list` utilise le coffre actuel. Pour sélectionner le coffre par ID, écrivez `--vault id:<vault-id>` ou ajoutez `--id`.

## Créer ou mettre à jour une variable

`set` crée la variable si elle n’existe pas et la met à jour sinon. La valeur vient d’une variable d’environnement (`--value-env`) ou d’un fichier (`--value-file`), jamais de la ligne de commande, donc elle ne se retrouve pas dans l’historique de votre shell. Utilisez l’une des deux, pas les deux.

{% tabs %}
{% tab title="Bash" %}

```bash
export VARIABLE_VALUE='<value>'
devo workspace variable set API_REGION --value-env VARIABLE_VALUE --description "<description>" --yes
```

{% endtab %}

{% tab title="PowerShell" %}

```powershell
$env:VARIABLE_VALUE = '<value>'
devo workspace variable set API_REGION --value-env VARIABLE_VALUE --description "<description>" --yes
```

{% endtab %}
{% endtabs %}

Pour une variable de coffre, utilisez `devo vault variable set` avec les mêmes options, plus `--vault "<vault-name>"` pour choisir un coffre autre que le coffre actuel.

* **Nom** : lettres, chiffres et traits de soulignement seulement. Les délimiteurs `$` sont facultatifs : `API_REGION` et `$API_REGION$` sont la même variable. Devolutions CLI enregistre le nom en majuscules, entre des signes `$`.
* **Valeur provenant d’un fichier** : tout le contenu du fichier devient la valeur, tel quel, y compris un saut de ligne final si le fichier se termine par un.
* **Valeur issue d’une variable** : la variable d’environnement doit exister. Devolutions CLI s’arrête si elle n’est pas définie.
* **Confirmation** : sans `--yes` (ou `-y`, `--confirmed`), la commande ne change rien et renvoie `confirmationRequired`.

## Supprimer des variables

{% hint style="danger" %}
Supprimer une variable personnalisée ne peut pas être annulé depuis Devolutions CLI. Exportez d’abord les variables si vous pourriez en avoir besoin de nouveau.
{% endhint %}

```bash
devo workspace variable delete API_REGION OLD_ENDPOINT --yes
devo vault variable delete API_REGION --vault "<vault-name>" --yes
```

Vous pouvez nommer plusieurs variables dans une seule commande. Si l’une d’elles n’existe pas, ou si un nom apparaît deux fois, la commande échoue et ne supprime rien. Sans `--yes`, rien n’est supprimé.

## Exporter des variables vers un fichier

```bash
devo variable export --scope workspace --out-file variables.json
devo variable export --scope vault --vault "<vault-name>" --out-file vault-variables.json
```

<table><thead><tr><th width="200">OPTION</th><th>CE QU’IL FAIT</th></tr></thead><tbody><tr><td><code>--scope</code></td><td>Obligatoire. Quelles variables exporter : <code>workspace</code>, <code>vault</code>, <code>user-vault</code> ou <code>option</code>.</td></tr><tr><td><code>--out-file</code></td><td>Obligatoire. Le fichier JSON à écrire. Son dossier doit déjà exister.</td></tr><tr><td><code>--name</code></td><td>Ne garde que les variables dont le nom correspond. Accepte <code>*</code> et <code>?</code>.</td></tr><tr><td><code>--vault</code>, <code>--id</code></td><td>Pour les portées <code>vault</code> et <code>user-vault</code>, le coffre à exporter. Sans cela, le coffre actuel.</td></tr><tr><td><code>--force</code></td><td>Remplace le fichier s’il existe déjà. Sans cette option, la commande s’arrête.</td></tr></tbody></table>

Le fichier énumère chaque variable avec son nom, sa valeur, sa description, sa portée et sa source. L’exportation ne fait que lire les variables : elle n’a pas besoin de `--yes`, et vous pouvez exporter chaque portée, même celles que vous ne pouvez pas modifier depuis Devolutions CLI.

{% hint style="warning" %}
Le fichier exporté contient les valeurs en texte clair, sauf celles qui sont masquées, et, contrairement au fichier que écrit `devo secret inject --out-file`, Devolutions CLI ne le rend pas privé. Ne le commitez pas, et supprimez-le quand vous n’en avez plus besoin.
{% endhint %}

## Bon à savoir

* `set` et `delete` ne modifient que les portées `workspace` et `vault`.
* Les modifications exigent une base de données locale non chiffrée. Quand le profil ne peut pas être modifié de façon sûre, la commande explique pourquoi et ne change rien.
* Ajoutez `--output json` pour lire le résultat dans un script. Consultez [Lire les résultats en JSON](/cli/fr/pour-le-devops-et-les-administrateurs/automate/json-output.md).
* Une commande refusée pour votre type d’espace de travail : consultez [Une commande dit que l’espace de travail ne la prend pas en charge](/cli/fr/aide/troubleshooting/not-supported.md).

## Suivant

* [Manage vaults and entries](/cli/fr/pour-le-devops-et-les-administrateurs/manage/vaults-and-entries.md)
* [Compare workspace types](/cli/fr/guides/understand/workspace-types.md)
* Chaque option de ces commandes : [Commandes](/cli/fr/reference/commands.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/cli/fr/pour-le-devops-et-les-administrateurs/manage/custom-variables.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
