---
seo_title: CLI de conversion de fichiers et données web | EnConvert
meta_desc: Installez la CLI enconvert via Homebrew, curl, Scoop ou npm. Convertissez des fichiers, rendez des URL en PDF et récupérez des données web au terminal.
keywords: conversion de fichiers ligne de commande, convertir des fichiers terminal cli, url vers pdf ligne de commande, homebrew convertisseur de fichiers cli, scoop convertisseur de fichiers, npm cli conversion de fichiers, cli de données web pour agents, sortie json jq cli, enconvert cli
---

# EnConvert CLI — Conversion de fichiers et données web en ligne de commande

`enconvert` est l'interface en ligne de commande officielle de l'API EnConvert — convertissez des fichiers via 46 routes d'upload, rendez des URL et des sites entiers en PDF ou en captures d'écran, et récupérez des données web prêtes pour les agents (perceive, discover, lookup, distill, ingest) sans quitter votre terminal. Elle s'installe depuis Homebrew, un script d'installation vérifié par sha256, Scoop ou npm, n'embarque aucune télémétrie et est conçue pour le scripting de bout en bout : `--json` sur chaque commande, un filtre `--jq` intégré, des codes de sortie déterministes, et les fichiers convertis sont enregistrés sur disque avec le chemin imprimé sur stdout.

<div class="alert alert-info">
<strong>npm :</strong> <code>@enconvert/cli</code> · <strong>Source :</strong> <a href="https://github.com/enconvert/cli">enconvert/cli</a> · <strong>Licence :</strong> MIT · <strong>Télémétrie :</strong> aucune
</div>

---

## Installation

**Homebrew** (macOS et Linux) :

```bash
brew install enconvert/tap/enconvert
```

**Script d'installation** (macOS et Linux, vérifié par sha256) :

```bash
curl -fsSL https://get.enconvert.com/install.sh | sh
```

**Scoop** (Windows) :

```bash
scoop bucket add enconvert https://github.com/enconvert/scoop-bucket && scoop install enconvert
```

**npm** (toute plateforme, Node.js >= 22.12) :

```bash
npm i -g @enconvert/cli
```

Vérifiez l'installation avec `enconvert --version`, puis explorez tout ce que le binaire sait faire avec `enconvert --help`.

---

## Authentification

```bash
enconvert auth login
```

Collez votre clé API privée (`sk_live_...`) — saisie masquée, validée en direct auprès de l'API et stockée dans `credentials.toml` avec le mode de fichier `0600`. Chaque requête s'authentifie via l'en-tête `X-API-Key`. En CI, sautez `login` et définissez `ENCONVERT_API_KEY` à la place.

```bash
enconvert auth status     # where the key comes from, plan, quota
enconvert whoami          # one-line identity check
enconvert usage           # current-period conversion and V2 usage
enconvert auth switch     # change the active profile
enconvert auth logout     # delete the stored key
```

`enconvert auth token` imprime la clé active pour la transmettre à d'autres outils — aucune autre commande ne l'affiche jamais.

---

## Convertir des fichiers

`enconvert convert` couvre les 46 routes d'upload — formats de données, documents bureautiques, images, cibles universelles et compression. L'endpoint est déduit de l'extension du fichier plus `--to` :

| Conversion | Commande | Endpoint appelé |
|------------|---------|-----------------|
| DOCX → PDF | `enconvert convert report.docx --to pdf` | `POST /v1/convert/doc-to-pdf` |
| HEIC → WebP | `enconvert convert photo.heic --to webp` | `POST /v1/convert/heic-to-webp` |
| JSON → YAML | `enconvert convert data.json --to yaml` | `POST /v1/convert/json-to-yaml` |
| Markdown → PDF | `enconvert convert README.md --to pdf` | `POST /v1/convert/markdown-to-pdf` |

Les globs se déploient en une conversion par fichier, et `-o -` diffuse les octets bruts pour le piping :

```bash
enconvert convert *.heic --to webp
enconvert convert data.csv --to json -o - | jq '.[0]'
```

Par défaut, le fichier converti est téléchargé sur disque et son chemin est imprimé sur stdout. `-o out.pdf` choisit la destination, `-O` conserve le nom de fichier du serveur, `--url-only` imprime l'URL présignée sans télécharger, et `-o -` écrit à la place les octets bruts sur stdout.

`enconvert formats` liste toutes les routes prises en charge ; `enconvert params <route>` affiche les paramètres qu'un endpoint donné accepte.

---

## Rendre des URL et des sites

```bash
enconvert url pdf https://example.com -o page.pdf      # POST /v1/convert/url-to-pdf
enconvert url screenshot https://example.com           # POST /v1/convert/url-to-screenshot
enconvert url markdown https://example.com/article     # POST /v1/convert/url-to-markdown
```

Les sites entiers s'exécutent en lots asynchrones. Par défaut, la CLI attend et affiche la progression ; `--no-wait` imprime l'id du lot et rend la main immédiatement :

```bash
enconvert site pdf https://example.com
enconvert site screenshot https://example.com --no-wait
```

---

## Données web pour agents

Les commandes V2 correspondent 1:1 aux endpoints d'intelligence web V2 :

```bash
enconvert perceive https://example.com                               # POST /v2/perceive
enconvert perceive batch urls.txt                                    # async batch, up to 1000 URLs
enconvert discover https://example.com                               # POST /v2/discover
enconvert lookup "best static site generators"                       # POST /v2/lookup
enconvert distill https://example.com/pricing --schema schema.json   # POST /v2/distill
enconvert ingest https://docs.example.com                            # POST /v2/ingest
```

`perceive` rend une page en artefacts markdown, HTML, capture d'écran et PDF en un seul appel ; `discover` énumère les URL d'un site sans rendu ; `lookup` lance une recherche web, actualités, scholar ou maps ; `distill` extrait des données structurées conformes à votre schéma JSON ; et `ingest` crawle un site vers du JSONL découpé prêt pour le RAG. Les jobs d'ingest ont leurs propres auxiliaires — `enconvert ingest list`, `enconvert ingest files <job_id>`, `enconvert ingest webhook-secret` — et tout artefact produit se récupère avec `enconvert files download <id>`.

Vous travaillez dans un assistant IA plutôt que dans un terminal ? `enconvert mcp install` configure le [serveur MCP EnConvert](/fr/docs/mcp) pour vous.

---

## Jobs et scripting

Chaque commande accepte `--json` (un unique document JSON), `--jsonl` (lignes en streaming), un filtre `--jq` intégré et `--template` pour une sortie texte personnalisée :

```bash
enconvert jobs get <job_id> --json --jq .status
```

Le travail asynchrone suit un motif démarrer / attendre / récupérer :

```bash
enconvert site pdf https://example.com --no-wait
enconvert jobs batch <batch_id>
enconvert jobs wait <batch_id> --wait-timeout 600 --exit-status
```

`--exit-status` fait sortir les commandes en attente avec le résultat du job, `--poll-interval` règle la cadence de polling, `--dry-run` imprime la requête sans l'envoyer, et `--no-input` désactive toutes les invites pour la CI. Les codes de sortie sont stables et adaptés aux scripts :

| Code | Signification |
|------|---------|
| `0` | Succès |
| `2` | Erreur d'utilisation — flags ou arguments invalides |
| `4` | Échec de l'authentification |
| `5` | Limite de débit dépassée |
| `6` | Limite de plan ou de quota atteinte |
| `7` | Conversion ou format non pris en charge |
| `8` | Entrée rejetée |
| `9` | Erreur serveur ou échec du job |
| `10` | Erreur réseau ou timeout |
| `130` | Interrompu avec Ctrl-C |

---

## La commande `api`

Un passthrough à la façon de gh qui atteint chaque endpoint EnConvert — y compris les nouveaux pour lesquels la CLI n'a pas encore de verbe dédié :

```bash
enconvert api /v2/perceive -f url=https://example.com
enconvert api /v1/convert/status/<job_id> --jq .status
```

`-f` ajoute des champs chaîne, `-F` ajoute des champs magiques typés (nombres, booléens, `@file` pour lire une valeur depuis le disque). Avec des champs la requête est un POST, sans eux un GET, et `--jq` filtre la réponse JSON à la volée.

---

## Configuration et profils

Les réglages vivent dans `~/.config/enconvert/config.toml` sous forme de profils nommés ; les clés vivent à part dans `credentials.toml` (mode `0600`) ; un `.enconvertrc.toml` local au projet surcharge les deux :

```toml
[profile.default]
api_url = "https://api.enconvert.com"

[profile.work]
timeout = 120
```

Sélectionnez un profil par invocation avec `--profile work`, par shell avec `ENCONVERT_PROFILE`, ou de façon persistante avec `enconvert auth switch`. `enconvert config` lit et écrit n'importe quel réglage depuis la ligne de commande.

---

## Variables d'environnement

| Variable | Rôle |
|----------|---------|
| `ENCONVERT_API_KEY` | Clé API — remplace les identifiants stockés |
| `ENCONVERT_API_URL` | Surcharge de l'URL de base de l'API |
| `ENCONVERT_PROFILE` | Nom du profil actif |
| `ENCONVERT_CONFIG` | Chemin explicite du fichier de configuration |
| `ENCONVERT_CONFIG_DIR` | Surcharge du répertoire de configuration |
| `ENCONVERT_DEBUG` | Journalisation détaillée des requêtes et réponses |
| `ENCONVERT_NO_INPUT` | Désactiver les invites interactives |
| `ENCONVERT_NO_UPDATE_NOTIFIER` | Couper l'avis de mise à jour |
| `NO_COLOR` | Désactiver la sortie colorée (la famille NO_COLOR est respectée) |

Les flags l'emportent sur les variables d'environnement, qui l'emportent sur le `.enconvertrc.toml` du projet, qui l'emporte sur la configuration globale.

---

## Complétion du shell

```bash
source <(enconvert completion zsh)
```

Ajoutez cette ligne à votre profil de shell. Les complétions `bash`, `fish` et `powershell` se génèrent de la même manière.

---

## Mise à jour

```bash
enconvert upgrade
```

Détecte comment la CLI a été installée (Homebrew, script d'installation, Scoop, npm) et met à jour via le même canal. Définissez `ENCONVERT_NO_UPDATE_NOTIFIER=1` pour couper l'avis de mise à jour quotidien.

---

## Désinstallation

```bash
brew uninstall enconvert          # Homebrew
scoop uninstall enconvert         # Scoop
npm rm -g @enconvert/cli          # npm
rm "$(command -v enconvert)"      # install script
```

Supprimez éventuellement `~/.config/enconvert/` pour effacer la configuration et les identifiants.

---

## Dépannage

**`command not found: enconvert` après `npm i -g`.**
La build npm nécessite Node.js >= 22.12, et le répertoire bin global de npm doit être dans votre `PATH` — vérifiez-le avec `npm prefix -g`. Les builds Homebrew, script d'installation et Scoop sont des binaires autonomes sans dépendance à Node.

**Un fichier redirigé contient un chemin de fichier au lieu du document.**
Par défaut, la CLI télécharge le fichier sur disque et imprime le *chemin* sur stdout — `enconvert url pdf ... > out.pdf` capture ce texte de chemin. Diffusez les octets réels avec `-o -`, ou fixez la destination avec `-o out.pdf`.

**Code de sortie 4 en CI.**
Aucune clé API utilisable. Définissez `ENCONVERT_API_KEY` dans les secrets de votre CI ; `enconvert auth status` montre exactement d'où vient (ou ne vient pas) la clé.

**Une commande reste bloquée en CI.**
Elle attend une invite interactive. Passez `--no-input` (ou définissez `ENCONVERT_NO_INPUT=1`) pour que les invites échouent immédiatement au lieu de bloquer.

---

## Liens

- **npm** — [@enconvert/cli](https://www.npmjs.com/package/@enconvert/cli)
- **GitHub** — [enconvert/cli](https://github.com/enconvert/cli) (MIT, zéro télémétrie)
- **Serveur MCP** — [@enconvert/mcp setup](/fr/docs/mcp)
- **Référence de l'API** — [Vue d'ensemble des endpoints](/fr/docs/endpoints-overview)
- **Codes d'erreur** — [Référence des codes d'erreur](/fr/docs/error-codes)
