# Référence CLI

Le `clore` L'interface CLI vous permet de gérer le marché GPU de Clore.ai directement depuis votre terminal — recherchez des GPU, déployez des instances, connectez-vous en SSH et gérez les commandes sans écrire de code.

***

## Installation

```bash
pip install clore-ai
```

Cela installe à la fois le SDK Python et la `clore` commande CLI.

**Exigences :** Python 3.9+

***

## Configuration

### Définissez votre clé API

Récupérez votre clé depuis le [tableau de bord Clore.ai](https://clore.ai) → **API** section, puis configurez :

```bash
clore config set api_key VOTRE_CLEF_API
```

Cela enregistre la clé dans `~/.clore/config.json`.

### Ou utilisez une variable d'environnement

```bash
export CLORE_API_KEY=votre_clef_api_ici
```

### Afficher la configuration actuelle

```bash
# Afficher toute la configuration
clore config show

# Obtenir une valeur spécifique
clore config get api_key
```

***

## Commandes

| Commande                              | Description                                    |
| ------------------------------------- | ---------------------------------------------- |
| `clore search`                        | Rechercher sur le marché GPU                   |
| `clore deploy <server_id>`            | Créer une nouvelle commande (louer un serveur) |
| `clore orders`                        | Lister vos commandes                           |
| `clore cancel <order_id>`             | Annuler une commande                           |
| `clore ssh <order_id>`                | Se connecter en SSH à une commande active      |
| `clore wallets`                       | Afficher les soldes des portefeuilles          |
| `clore servers`                       | Lister vos serveurs hébergés                   |
| `clore server-config <name>`          | Obtenir la configuration du serveur            |
| `clore spot <server_id>`              | Voir le marché spot pour un serveur            |
| `clore spot-price <order_id> <price>` | Définir le prix spot                           |
| `clore config set <key> <value>`      | Définir une valeur de configuration            |
| `clore config get <key>`              | Obtenir une valeur de configuration            |
| `clore config show`                   | Afficher toute la configuration                |
| `clore --version`                     | Afficher la version                            |

***

## Utilisation détaillée

### `clore search`

Recherchez sur le marché GPU avec filtres et tri.

```bash
# Lister tous les serveurs disponibles (triés par prix, top 20)
clore search

# Filtrer par modèle de GPU
clore search --gpu "RTX 4090"

# Filtrer par GPU et prix max
clore search --gpu "RTX 4090" --max-price 5.0

# Rigs multi-GPU
clore search --min-gpu 4

# Trier par nombre de GPU, afficher top 10
clore search --sort gpu --limit 10

# Combiner les filtres
clore search --gpu "A100" --min-ram 128 --max-price 10.0 --sort price --limit 5
```

**Options :**

| Option        | Type  | Description                                          |
| ------------- | ----- | ---------------------------------------------------- |
| `--gpu`       | texte | Filtrer par modèle de GPU (par ex. `"RTX 4090"`)     |
| `--min-gpu`   | int   | Nombre minimal de GPU                                |
| `--min-ram`   | float | RAM minimale en GB                                   |
| `--max-price` | float | Prix maximum en USD/heure                            |
| `--sort`      | choix | Trier par : `prix` (par défaut), `gpu`, `ram`        |
| `--limit`     | int   | Nombre max de résultats à afficher (par défaut : 20) |

**Exemple de sortie :**

```
🔍 Marché GPU
┏━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━┳━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━┳━━━━━━━━━━┓
┃ ID  ┃ GPU                             ┃ Quant ┃ RAM (GB) ┃ CPU                          ┃ Prix/h (USD) ┃ Emplacement ┃
┡━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━╇━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━╇━━━━━━━━━━┩
│ 123 │ 1x NVIDIA GeForce RTX 4090      │     1 │    64.0  │ AMD Ryzen 9 5900X            │       $0.3200 │ US       │
│ 456 │ 2x NVIDIA GeForce RTX 4090      │     2 │   128.0  │ Intel Core i9-13900K         │       $0.5800 │ DE       │
└─────┴─────────────────────────────────┴───────┴──────────┴──────────────────────────────┴───────────────┴──────────┘
Affichage de 2 serveurs
```

***

### `clore deploy <server_id>`

Créer une nouvelle commande pour louer un serveur GPU.

```bash
# Commande à la demande avec SSH
clore deploy 123 \
  --image cloreai/ubuntu22.04-cuda12 \
  --type on-demand \
  --currency bitcoin \
  --ssh-password MySecurePass123 \
  --port 22:tcp \
  --port 8888:http

# Commande spot
clore deploy 123 \
  --image cloreai/pytorch \
  --type spot \
  --currency bitcoin \
  --spot-price 0.000005 \
  --port 22:tcp

# Avec variables d'environnement
clore deploy 123 \
  --image cloreai/ubuntu22.04-cuda12 \
  --type on-demand \
  --currency bitcoin \
  --ssh-password MyPass123 \
  --port 22:tcp \
  --env WANDB_API_KEY=your_key \
  --env HF_TOKEN=your_token
```

**Arguments :**

| Argument    | Description                                          |
| ----------- | ---------------------------------------------------- |
| `server_id` | ID du serveur à louer (obtenu depuis `clore search`) |

**Options :**

| Option           | Type  | Obligatoire | Description                                                 |
| ---------------- | ----- | ----------- | ----------------------------------------------------------- |
| `--image`        | texte | Oui         | Image Docker (par ex. `cloreai/ubuntu22.04-cuda12`)         |
| `--type`         | choix | Oui         | `on-demand` ou `spot`                                       |
| `--currency`     | texte | Oui         | Devise de paiement (par ex. `bitcoin`)                      |
| `--ssh-password` | texte | Non         | Mot de passe SSH (alphanumérique, max 32 caractères)        |
| `--ssh-key`      | texte | Non         | Clé publique SSH                                            |
| `--port`         | texte | Non         | Mappage de port (répétable), format : `PORT:PROTOCOL`       |
| `--env`          | texte | Non         | Variable d'environnement (répétable), format : `CLE=VALEUR` |
| `--spot-price`   | float | Non         | Prix spot par jour (requis pour les commandes spot)         |

***

### `clore orders`

Lister vos commandes actives.

```bash
# Commandes actives
clore orders

# Inclure les commandes terminées/expirées
clore orders --completed
```

**Options :**

| Option        | Description                              |
| ------------- | ---------------------------------------- |
| `--completed` | Inclure les commandes terminées/expirées |

**Exemple de sortie :**

```
📦 Mes commandes
┏━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ID ┃ ID Serveur ┃ Type      ┃ Statut ┃ Image                             ┃ IP                      ┃
┡━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ 38 │ 6         │ on-demand │ Actif  │ cloreai/ubuntu22.04-cuda12        │ n1.c1.clorecloud.net    │
└────┴───────────┴───────────┴────────┴───────────────────────────────────┴─────────────────────────┘
Total : 1 commande
```

***

### `clore cancel <order_id>`

Annuler une commande active.

```bash
# Annuler une commande
clore cancel 38

# Annuler avec rapport de problème
clore cancel 38 --issue "Le GPU surchauffait"
```

**Arguments :**

| Argument   | Description                 |
| ---------- | --------------------------- |
| `order_id` | ID de la commande à annuler |

**Options :**

| Option    | Description                                  |
| --------- | -------------------------------------------- |
| `--issue` | Raison de l'annulation / rapport de problème |

***

### `clore ssh <order_id>`

Connexion automatique via SSH à une commande en cours. La CLI résout le nom d'hôte et le port à partir des détails de votre commande.

```bash
# Se connecter en tant que root (par défaut)
clore ssh 38

# Se connecter en tant qu'utilisateur différent
clore ssh 38 --user ubuntu
```

**Arguments :**

| Argument   | Description                               |
| ---------- | ----------------------------------------- |
| `order_id` | ID de la commande à laquelle se connecter |

**Options :**

| Option   | Par défaut | Description           |
| -------- | ---------- | --------------------- |
| `--user` | `root`     | Nom d'utilisateur SSH |

***

### `clore wallets`

Afficher les soldes de vos portefeuilles et les adresses de dépôt.

```bash
clore wallets
```

**Exemple de sortie :**

```
💰 Soldes des portefeuilles
┏━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ Devise           ┃ Solde        ┃ Adresse de dépôt                          ┃
┡━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┩
│ bitcoin          │ 0.00153176   │ tb1q6erw7v02t7hakgmlcl4wfnlykzqj05alndruwr │
│ CLORE-Blockchain │ 150.00000000 │ cLr1q8x...                                │
└──────────────────┴──────────────┴───────────────────────────────────────────┘
```

***

### `clore servers`

Lister les serveurs que vous hébergez sur le marché.

```bash
clore servers
```

***

### `clore server-config <name>`

Obtenir la configuration d'un serveur spécifique que vous hébergez.

```bash
clore server-config "MyGPU"
```

**Exemple de sortie :**

```
Serveur : MyGPU
ID : 42
Connecté : True
En ligne : True
Visibilité : public
Durée minimale de location : 72
GPU : NVIDIA GeForce RTX 4090
Prix à la demande (USD) : $0.35
Prix spot (USD) : $0.18
CPU : AMD Ryzen 9 5900X Processeur 12 cœurs
RAM : 64.0 GB
GPU : 1x NVIDIA GeForce RTX 4090
```

***

### `clore spot <server_id>`

Voir les offres actuelles du marché spot pour un serveur.

```bash
clore spot 6
```

**Exemple de sortie :**

```
📊 Marché spot - Serveur 6
┏━━━━━━━━━━┳━━━━━━━━━━━┓
┃ ID commande ┃ Prix      ┃
┡━━━━━━━━━━╇━━━━━━━━━━━┩
│ 39       │ 4.2e-06   │
└──────────┴───────────┘
```

***

### `clore spot-price <order_id> <price>`

Mettre à jour le prix de votre offre sur le marché spot.

```bash
clore spot-price 39 0.000003
```

> **Remarque :** Vous ne pouvez diminuer les prix spot qu'une fois toutes les 600 secondes, et par une taille de pas limitée.

***

### `clore config`

Gérer la configuration de la CLI.

```bash
# Définir la clé API
clore config set api_key VOTRE_CLEF_API

# Obtenir une valeur
clore config get api_key

# Afficher toute la configuration
clore config show
```

La configuration est stockée dans `~/.clore/config.json`.

***

## Flux de travail

### Rechercher → Louer → SSH → Annuler

Un flux de travail typique de bout en bout :

```bash
# 1. Trouver un RTX 4090 à moins de 5$/heure
clore search --gpu "RTX 4090" --max-price 5.0 --sort price --limit 5

# 2. Déployer sur le serveur le moins cher (ex. ID 123)
clore deploy 123 \
  --image cloreai/ubuntu22.04-cuda12 \
  --type on-demand \
  --currency bitcoin \
  --ssh-password MyPass123 \
  --port 22:tcp \
  --port 8888:http

# 3. Vérifier le statut de votre commande
clore orders

# 4. Se connecter en SSH à l'instance (ex. ID de commande 456)
clore ssh 456

# 5. Une fois terminé, annuler la commande
clore cancel 456
```

### Surveiller les soldes avant de louer

```bash
# Vérifier que vous avez suffisamment de fonds
clore wallets

# Rechercher et louer
clore search --gpu "A100" --sort price --limit 3
clore deploy 789 \
  --image cloreai/ubuntu22.04-cuda12 \
  --type on-demand \
  --currency bitcoin \
  --ssh-password SecurePass \
  --port 22:tcp
```

### Flux de travail du marché spot

```bash
# 1. Vérifier les offres spot pour un serveur
clore spot 6

# 2. Créer une commande spot
clore deploy 6 \
  --image cloreai/pytorch \
  --type spot \
  --currency bitcoin \
  --spot-price 0.000005 \
  --ssh-password MyPass123 \
  --port 22:tcp

# 3. Ajuster votre prix spot
clore spot-price 39 0.000003
```

### Gestion de l'hébergement des serveurs

```bash
# Voir vos serveurs
clore servers

# Vérifier la config d'un serveur
clore server-config "MyGPU"
```

***

## Étapes suivantes

* [**SDK Python**](/clore.ai/clore.ai-eng-fr/developpeurs/python-sdk.md) — Automatisez les flux de travail avec Python
* [**API REST**](/clore.ai/clore.ai-eng-fr/pour-les-hotes/api.md) — Documentation de l'API brute
* [**On-Demand vs Spot**](/clore.ai/clore.ai-eng-fr/pour-les-locataires/on-demand-vs-spot.md) — Comprendre les modèles de tarification


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.clore.ai/clore.ai/clore.ai-eng-fr/developpeurs/cli-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
