> 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/guides/secrets/secretspec.md).

# Utiliser Devolutions CLI avec SecretSpec

Inscrire Devolutions CLI comme fournisseur SecretSpec pour que les projets qui utilisent secretspec.toml lisent leurs secrets depuis votre coffre Devolutions.

[SecretSpec](https://secretspec.dev) permet à un projet de déclarer les secrets dont il a besoin dans un fichier `secretspec.toml`, et les obtient d’un fournisseur. Devolutions CLI peut être ce fournisseur : une fois inscrit, SecretSpec démarre `devo` pour lire des secrets depuis Devolutions Cloud, Devolutions Server ou un profil local Devolutions Remote Desktop Manager, en utilisant vos contextes existants.

{% hint style="warning" %}
Devolutions CLI retourne les valeurs secrètes à SecretSpec, qui les remet à votre application. Le masquage ne s’applique pas. Consultez [Ce qui reste masqué, et ce qui ne l’est pas](/cli/fr/guides/understand/security-model.md).
{% endhint %}

{% stepper %}
{% step %}

### Enregistrer Devolutions CLI comme fournisseur

```bash
devo secretspec register
```

Cela écrit un petit fichier de revendication, `devo.secretspec.json`, qui dit à SecretSpec quel exécutable `devo` démarrer pour les URI du fournisseur `devo://`. Ajoutez `--dry-run` pour voir la revendication sans l’écrire.

<table><thead><tr><th width="200">OPTION</th><th>CE QU’IL FAIT</th></tr></thead><tbody><tr><td><code>--system</code></td><td>Écrit la revendication pour chaque utilisateur de l’ordinateur au lieu de vous seulement. Cela exige habituellement des droits d’administrateur.</td></tr><tr><td><code>--executable &#x3C;path></code></td><td>Inscrit un autre exécutable <code>devo</code>. Le chemin doit être absolu. Par défaut, le <code>devo</code> que vous exécutez est inscrit.</td></tr><tr><td><code>--environment &#x3C;name></code>, <code>--env</code></td><td>Permet à SecretSpec de passer une variable d’environnement supplémentaire à <code>devo</code>, par nom exact ou par préfixe comme <code>DEVO_*</code>. Répétez pour plusieurs. <code>RDM_CONFIG_PATH</code> et <code>DEVO_CLI_CONFIG_HOME</code> sont toujours inclus.</td></tr><tr><td><code>--force</code></td><td>Remplace une revendication qui pointe vers un autre exécutable pour le schéma <code>devo</code>.</td></tr></tbody></table>
{% endstep %}

{% step %}

### Obtenir l’URI du fournisseur

Sélectionnez l’espace de travail avec `--context` (ou utilisez le contexte actuel), puis demandez son URI de fournisseur :

```bash
devo secretspec uri --context <context-name> --vault-id <vault-id>
```

Placez l’URI qu’il affiche dans votre `secretspec.toml` comme fournisseur. `--vault-id` est facultatif : il définit le coffre par défaut, et un secret peut encore nommer son propre coffre.
{% endstep %}

{% step %}

### Vérifiez l’enregistrement

```bash
devo secretspec status
```

L’état montre la revendication pour votre utilisateur et pour l’ordinateur, et pour chacun s’il est inscrit, s’il pointe vers le `devo` que vous exécutez, vers un autre, ou vers un exécutable qui n’existe plus.
{% endstep %}
{% endstepper %}

## Formes d’URI de fournisseur

<table><thead><tr><th width="200">ESPACE DE TRAVAIL</th><th>URI DU FOURNISSEUR</th></tr></thead><tbody><tr><td><strong>Devolutions Cloud</strong></td><td><code>devo://cloud/&#x3C;vault-id>?context=&#x3C;context-name></code></td></tr><tr><td><strong>Devolutions Server</strong></td><td><code>devo://server/&#x3C;vault-id>?context=&#x3C;context-name></code></td></tr><tr><td><strong>Profil local</strong></td><td><code>devo://sqlite/&#x3C;vault-id>?workspace=sqlite:&#x3C;file-name>.db</code></td></tr></tbody></table>

* L’ID du coffre est facultatif dans chaque forme. Sans lui, chaque secret doit nommer son propre `vault`, sinon Devolutions CLI le refuse.
* Pour Devolutions Cloud et Devolutions Server, `?context=` est facultatif. Sans lui, le fournisseur utilise le contexte actuel.
* Pour un profil local, l’espace de travail est obligatoire. Passez-le à `devo secretspec uri` avec `--workspace-id`, par exemple `--workspace-id sqlite:Connections.db`.

Ces URI de fournisseur sélectionnent un espace de travail pour SecretSpec. Ce ne sont pas des références de secret : vous ne pouvez pas les utiliser avec `devo secret run`.

## Comment les secrets sont adressés

Devolutions CLI n’accepte que les adresses natives de SecretSpec : chaque secret nomme l’**ID de l’entrée** (`item`), le **champ** (obligatoire) et, facultativement, un **coffre** qui remplace celui de l’URI du fournisseur. Les adresses par convention de SecretSpec (projet, profil et clé) sont refusées, parce qu’elles ne peuvent pas pointer vers une entrée de façon certaine. Les sections ne sont pas prises en charge.

<table><thead><tr><th width="200">ESPACE DE TRAVAIL</th><th>LECTURE</th><th>ÉCRITURE</th></tr></thead><tbody><tr><td><strong>Devolutions Server</strong></td><td>N’importe quelle propriété de données de l’entrée.</td><td>N’importe quelle propriété de données de l’entrée.</td></tr><tr><td><strong>Devolutions Cloud</strong></td><td><code>domain</code>, <code>host</code>, <code>password</code>, <code>port</code>, <code>privatekey</code>, <code>url</code>, <code>username</code>.</td><td><code>password</code> seulement, sur une entrée qui contient ses propres identifiants.</td></tr><tr><td><strong>Profil local</strong></td><td>Oui.</td><td><code>password</code> seulement, avec la phrase de passe de l’espace de travail.</td></tr></tbody></table>

## Cesser d’utiliser Devolutions CLI comme fournisseur

```bash
devo secretspec unregister
```

Ajoutez `--system` pour retirer la revendication pour tout l’ordinateur, et `--dry-run` pour voir quelle revendication serait retirée.

## Où va le fichier de revendication

| SYSTÈME     | POUR VOTRE UTILISATEUR                                                                                                                                            | AVEC `--system`                                                                   |
| ----------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| **Windows** | `SecretSpec\providers.d` dans votre dossier de données d’application itinérantes                                                                                  | `SecretSpec\providers.d` dans le dossier de données d’application de l’ordinateur |
| **macOS**   | `~/Library/Application Support/SecretSpec/providers.d`                                                                                                            | `/Library/Application Support/SecretSpec/providers.d`                             |
| **Linux**   | `$XDG_CONFIG_HOME/secretspec/providers.d`, ou `~/.config/secretspec/providers.d` quand `XDG_CONFIG_HOME` n’est pas défini, est vide ou n’est pas un chemin absolu | `/etc/secretspec/providers.d`                                                     |

## Bon à savoir

* SecretSpec démarre `devo` lui-même. Vous n’avez pas besoin d’exécuter `devo secretspec provider`.
* Ajoutez avec `--environment` toute autre variable dont vos contextes dépendent, pour que SecretSpec puisse la passer à `devo`.

## Suivant

* [Switch between workspaces](/cli/fr/guides/connect/switch-workspaces.md)
* Chaque option de `devo secretspec` : [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/guides/secrets/secretspec.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.
