# Désigner un service

> Par son nom, par un bout de son nom, par son identifiant — ou pas du tout.

Presque toutes les commandes prennent un service. Il y a quatre façons de le donner,
de la plus explicite à la plus pratique.

## Par son nom

```bash
ark info survie-2026
```

La casse n'a pas d'importance. Un nom avec des espaces se met entre guillemets :

```bash
ark info "MC Test"
```

## Par un bout de son nom

```bash
ark info survie
```

Le CLI cherche dans cet ordre : identifiant exact, nom exact, nom qui commence par ce
que tu as tapé, nom qui le contient. Dès qu'un niveau donne un seul résultat, il s'arrête.

Si plusieurs services répondent, il ne choisit pas à ta place :

```
x « api » désigne 3 services.
  Précise : api-boutique, api-preprod, api-interne
```

## Par son identifiant

```bash
ark info cmu2m6yjj000fyrbgj3r6y2ba
```

Utile dans un script, où un nom peut changer mais pas un identifiant. `ark ls --json`
te les donne tous.

## Sans rien dire

```bash
ark use survie-2026
ark restart
ark console
ark backup create
```

`ark use` écrit le service par défaut dans `~/.arkya/context.json`. Toutes les
commandes qui attendent un service s'en servent quand tu n'en nommes aucun.

```bash
ark use          # dit lequel est choisi
ark use none     # n'en choisit plus aucun
```

<Note>
  Dans un dossier qui contient un `arkya.json` — une application conteneurisée — le
  CLI prend l'application du manifeste quand `ark use` n'a rien posé. Tu peux donc
  faire `ark logs` dans ton dépôt sans rien configurer.
</Note>

## Avec --service

Les commandes à verbes — `env`, `files`, `backup`, `snapshot` — attendent le service
juste après le verbe. Quand ça gêne, `--service` le sort de la ligne :

```bash
ark backup create --service survie-2026 avant-maj
ark env unset --service survie-2026 SERVER_MOTD
```

`ark files` n'en a presque jamais besoin : un chemin commence par `/`, un nom de
service jamais. Avec un service par défaut, les deux formes marchent :

```bash
ark files ls /plugins                # le service par défaut
ark files ls survie-2026 /plugins    # celui-là
```

## L'ordre de résolution

<Steps>
  <Step title="L'argument de la commande">
    Ce que tu as tapé gagne toujours.
  </Step>
  <Step title="Le service choisi par `ark use`">
    Lu dans `~/.arkya/context.json`.
  </Step>
  <Step title="L'application du `arkya.json` du dossier courant">
    S'il y en a un.
  </Step>
  <Step title="Sinon, une erreur qui le dit">
    ```
    x Quel service ?
      Nomme-le : `ark console mon-serveur`, ou fixe-le une fois pour toutes avec `ark use mon-serveur`.
    ```
  </Step>
</Steps>
