> 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/aide/troubleshooting/reference-does-not-resolve.md).

# Une référence de secret ne se résout pas

Corriger une référence devo que Devolutions CLI ne peut pas résoudre, soit une syntaxe non valide, un mauvais espace de travail, une entrée ou un champ introuvable, ou un champ que l’espace de travail

`devo secret run`, `devo secret read`, `devo secret inject` ou un client d’IA ne peut pas transformer une référence `devo://` en valeur. Avec `devo secret run`, Devolutions CLI s’arrête avant que votre programme démarre, donc rien ne s’exécute avec un secret manquant.

## Pourquoi cela se produit

* La référence n’est pas écrite correctement (`invalidSecretReference`).
* La référence pointe vers un autre espace de travail que le contexte sélectionné.
* Le coffre, l’entrée ou le champ n’existe pas, ou votre compte ne peut pas le lire.
* Le type d’espace de travail ne peut pas lire ce champ, ni cette forme de référence.
* Un modèle utilise une variable qui n’est pas définie.

{% hint style="info" %}
Testez une référence sans lire aucun secret : `devo secret run --check --env-ref TEST=<reference> -- <your-command>` vérifie que la commande existe et que chaque référence est bien formée, sans lire aucun secret ni démarrer la commande. Consultez [Exécuter une commande avec ses secrets](/cli/fr/guides/secrets/run-with-secrets.md).
{% endhint %}

## Corrigez-le

{% stepper %}
{% step %}

### Copiez de nouveau la référence

La plupart des problèmes disparaissent quand vous copiez la référence depuis Devolutions CLI au lieu de la taper :

```bash
devo entry references "<entry-name>" --vault-name "<vault-name>"
```

Elle liste chaque référence de l’entrée, jamais les valeurs. Sur Devolutions Server, la liste contient des références canoniques (`devo://ws/…/vault/…/entry/…/field/…`). Utilisez-les telles quelles. Consultez [Trouver la référence d’un secret](/cli/fr/guides/secrets/find-a-reference.md).
{% endstep %}

{% step %}

### Corrigez la syntaxe

`invalidSecretReference` s’accompagne d’un message qui dit ce qui ne va pas :

<table><thead><tr><th width="330">MESSAGE</th><th>CORRECTION</th></tr></thead><tbody><tr><td>"Secret reference must start with 'devo://'."</td><td>Ajoutez le préfixe <code>devo://</code>.</td></tr><tr><td>"Use devo://&#x3C;workspace>/&#x3C;vault>/&#x3C;entry>/&#x3C;field> or devo://&#x3C;workspace>/&#x3C;vault>/&#x3C;entry>/&#x3C;section>/&#x3C;field>."</td><td>Une référence nommée a quatre parties, ou cinq avec une section. Vérifiez qu’il ne manque pas un <code>/</code> ou qu’il n’y en a pas un de trop. Un nom qui contient un <code>/</code> doit être écrit <code>%2F</code>.</td></tr><tr><td>"Secret reference path segments cannot be empty."</td><td>Retirez le double <code>//</code> à l’intérieur du chemin.</td></tr><tr><td>"Canonical ID references must use devo://ws/&#x3C;id>/vault/&#x3C;id>/entry/&#x3C;id>/field/&#x3C;field>."</td><td>Gardez les mots <code>ws</code>, <code>vault</code>, <code>entry</code> et <code>field</code> dans cet ordre, chacun suivi de sa valeur.</td></tr><tr><td>"Secret references do not support URI fragments."</td><td>Retirez <code>#</code> et ce qui le suit.</td></tr></tbody></table>

`unsupportedSecretAttribute` signifie que la partie `?attribute=` n’est pas l’une de `value`, `type`, `id`, `title`, `purpose` ou `otp`. Il apparaît aussi quand une commande a besoin de la valeur du secret, par exemple `devo secret run`, et que la référence demande un autre attribut : sur chaque type d’espace de travail, une valeur ne peut venir que de `value`. Retirez la partie `?attribute=`, ou réglez-la à `value`. Les attributs sans valeur `type`, `id`, `title` et `purpose` fonctionnent avec `devo secret read` et `devo secret get` sur les trois types d’espace de travail. La syntaxe complète est dans [Syntaxe des références de secret](/cli/fr/reference/secret-references.md).
{% endstep %}

{% step %}

### Utilisez le bon contexte

La première partie d’une référence nommée est l’espace de travail. Sur Devolutions Cloud et Devolutions Server, elle doit correspondre au contexte sélectionné, sinon Devolutions CLI refuse avec `providerSelectionChanged` : "The secret reference workspace does not match the selected cloud source context."

1. Vérifiez le contexte sélectionné :

   ```bash
   devo status
   ```
2. Exécutez la commande avec le contexte auquel la référence appartient :

   ```bash
   devo secret run --context <context-name> --env-ref DB_PASSWORD=<reference> -- <your-command>
   ```

Pour faire de ce contexte le contexte par défaut, utilisez `devo context use <context-name>`. Consultez [Basculer entre les espaces de travail](/cli/fr/guides/connect/switch-workspaces.md).
{% endstep %}

{% step %}

### Vérifiez que l’entrée et le champ existent

* `entryNotFound` ou `vaultNotFound` : le nom ne correspond à rien que votre compte peut voir. Vérifiez l’orthographe avec `devo entry list "<entry-name>" --vault-name "<vault-name>"`. Une entrée renommée brise une référence nommée : passez à la référence canonique, qui utilise des ID et survit aux renommages.
* `entrySelectorAmbiguous` : plusieurs entrées partagent ce nom. Utilisez la référence canonique.
* `serverSecretNotFound` : Devolutions Server n’a pas trouvé le champ, ou ce compte n’est pas autorisé à le lire.
* `cloudSecretFieldUnavailable` : Devolutions Cloud ne peut pas renvoyer ce champ pour cette entrée. Vérifiez que le champ est rempli.
  {% endstep %}

{% step %}

### Utilisez un champ que l’espace de travail peut lire

Chaque type d’espace de travail lit des champs différents. `devo secret capabilities` les énumère sans lire aucun secret.

* **Devolutions Cloud** lit les champs principaux d’une entrée, comme `password`, `username`, `domain`, `host`, `port`, `url` et `privatekey`, sans section. Une référence avec une section s’arrête avec `unsupportedSecretField`.
* **Devolutions Server** lit une propriété de données d’entrée, comme `password` ou `username`, sans section.
* `--stdin-reference` de `devo secret run` prend une seule référence `devo://` exacte, nommée ou canonique. Tout le reste s’arrête avec `invalidSecretStdinReference`.
  {% endstep %}

{% step %}

### Définissez les variables que la référence utilise

Dans un modèle rempli par `devo secret inject`, une référence peut contenir des variables d’environnement, comme `devo://${WORKSPACE}/…`, avec une valeur par défaut facultative : `${WORKSPACE:-<default>}`. `missingSecretReferenceVariable` signifie qu’une variable n’est pas définie et n’a pas de valeur par défaut : "Environment variable '\<name>' is required by the secret reference." Définissez-la dans le terminal ou le pipeline qui exécute la commande. Un `${` sans son `}` fermant est aussi refusé. Consultez [Remplir un fichier de configuration à partir d’un modèle](/cli/fr/guides/secrets/fill-a-template.md).
{% endstep %}
{% endstepper %}

{% hint style="warning" %}
`devo secret run` refuse une référence écrite comme argument de votre commande (`secretLaunchArgumentReference`). Passez-la plutôt avec `--env-ref`, `--stdin-reference` ou un manifeste de lancement.
{% endhint %}

## Toujours en échec ?

Assurez-vous d’être connecté : une session expirée arrête aussi la résolution. Consultez [La connexion échoue ou la session a expiré](/cli/fr/aide/troubleshooting/sign-in-fails.md). Puis [collectez les diagnostics](/cli/fr/aide/troubleshooting/collect-diagnostics.md) et communiquez avec le [soutien Devolutions](https://devolutions.net/support/). Envoyez la référence si vous le voulez, elle ne contient aucun secret, mais jamais la valeur.


---

# 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/aide/troubleshooting/reference-does-not-resolve.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.
