# Projets

> project ls, create, show, attach

Un projet réunit des services et leur donne un réseau privé. Voir
[Les projets](/comprendre/projets).

## ark project ls

```bash
ark project ls
ark project ls --json
```

```
nom          contenu       identifiant
Production   3 service(s)  prj_0d3b6964bcbe4fd8518f
Bac à sable  1 service(s)  prj_7c21ab4419ee2a71f102
```

## ark project create

```bash
ark project create Production
ark project create "Client Dupont"
```

```
ok Production est créé
prj_0d3b6964bcbe4fd8518f
```

Quarante caractères au plus.

## ark project show

Ce que chaque service du projet a coûté sur la période.

```bash
ark project show Production
ark project show Production --range 90
```

```
service       produit       détail                 sur 30 j
api-boutique  Application   2 vCPU · 2 Go · 20 Go     6.10 €
pg-boutique   PostgreSQL    1 vCPU · 2 Go · 40 Go     4.20 €
cache         Redis         1 vCPU · 1 Go · 5 Go      1.90 €

total  12.20 €
```

`--range` accepte 7, 30 ou 90. Par défaut, 30.

## ark project attach

Range un service dans un projet.

```bash
ark project attach api-boutique Production
```

```
- api-boutique rejoint Production
ok api-boutique ACS est dans Production
```

Le service reçoit alors un **alias interne** et devient joignable par les autres
services du projet. Son alias dérive de son nom : `API boutique` devient
`api-boutique`.

<Note>
  Changer un service de projet coupe le lien avec ses anciens voisins. Les variables
  qui pointaient vers un alias de l'ancien projet ne seront plus remplacées.
</Note>

## Brancher une application sur sa base

```bash
ark project create Production
ark project attach api-boutique Production
ark project attach pg-boutique Production

ark net pg-boutique          # lire l'alias et le port
ark env set api-boutique DATABASE_HOST=pg-boutique DATABASE_PORT=5432
ark net pg-boutique --private
ark restart api-boutique
```

Dans l'espace client, le canevas du projet dessine alors la flèche entre les deux —
elle suit la variable que tu viens de poser.
