# PDFMonkey CLI 2.0 : tout votre compte depuis le terminal


<!-- FR version -->
Salut tout le monde !

Quand on a lancé le [CLI PDFMonkey](/fr/blog/2025-01-27-pdfmonkey-cli/) l’an dernier, il avait une seule mission : vous permettre d’**éditer vos modèles en local**, dans votre propre éditeur, avec une prévisualisation en direct dans le navigateur. Et il la remplissait bien.

Mais éditer, ce n’est qu’une partie du travail. Créer un modèle, le publier, générer quelques documents de test, faire le ménage ensuite… Pour tout ça, il fallait encore repasser par le dashboard ou écrire quelques appels d’API à la main. Pas idéal quand on vit dans son terminal.

Alors on a donné une promotion au CLI. Avec la **version 2.0.0**, ce n’est plus seulement un éditeur local : **vous pouvez gérer tout votre compte PDFMonkey depuis le terminal**. 🎉

## TL;DR

- Gérez vos **modèles, dossiers, snippets et documents** en ligne de commande.
- **Générez et téléchargez des documents** en une seule commande.
- Choisissez un workspace **par son nom**, ou définissez-en un par défaut une bonne fois pour toutes.
- Toutes les commandes parlent **JSON**, idéal pour les **scripts, la CI et les agents IA**.
- **Node.js 22.12 ou plus** est désormais requis, et `watch --debug` disparaît.

## Modèles et dossiers

Vous pouvez maintenant lister, consulter, créer, mettre à jour, publier et supprimer vos modèles, qu’ils soient en mode code ou builder :

```bash
pdfmonkey template list -w "My Workspace" -f Invoices
pdfmonkey template create -n "Invoice" -f Invoices --from ./invoice
pdfmonkey template update <template-id> --from ./invoice
pdfmonkey template publish <template-id>
```

Le petit plus : créer un modèle avec `--from` **lie votre dossier local à ce modèle**. Vous pouvez lancer `pdfmonkey watch` dans la foulée et commencer à itérer. D’un dossier vide à une preview en direct en deux commandes !

Les dossiers de modèles ont aussi leurs propres commandes : `pdfmonkey folder list|create|rename|delete`.

## Snippets

Même traitement pour les snippets :

```bash
pdfmonkey snippet list -s header
pdfmonkey snippet create -n "Header" --from ./header
pdfmonkey snippet update <snippet-id> --from ./header
```

## Documents

C’est notre petite préférée. Vous pouvez **générer un document et le télécharger d’un seul coup** :

```bash
pdfmonkey document create -t <template-id> --payload @data.json -o ./invoices/
```

Le payload et les métadonnées peuvent être passés **directement**, depuis un **fichier** (`@data.json`) ou via **stdin** (`-`). Envie d’envoyer la sortie d’un autre outil directement à PDFMonkey ? Faites-vous plaisir.

Vous pouvez aussi lister vos documents avec des filtres (modèle, statut, recherche, date de mise à jour), et les afficher, les modifier, les télécharger ou les supprimer.

## Workspaces

`pdfmonkey workspace list` liste vos workspaces, et `pdfmonkey whoami` vous indique à quel compte appartient votre clé d’API. Pratique quand on jongle avec plusieurs clés !

Toutes les commandes qui travaillent dans un workspace acceptent `-w, --workspace` avec un identifiant **ou un nom**. Marre de le taper ? Définissez la variable d’environnement `PDFMONKEY_WORKSPACE` et **n’y pensez plus**.

## Pensé pour les scripts et les agents IA

On voulait que le CLI soit aussi agréable pour les machines que pour les humains :

- toutes les commandes acceptent **`--json`** pour renvoyer du JSON brut,
- les erreurs se terminent avec un **code de sortie non nul**,
- les commandes destructives acceptent **`-y, --yes`** pour passer la confirmation.

```bash
pdfmonkey template list --json | jq '.[].id'
```

Il trouve donc naturellement sa place dans un pipeline de CI, un script de déploiement ou entre les mains d’un agent IA comme Claude Code ou Cursor. Donnez le CLI à votre agent et laissez-le créer, tester et publier vos modèles. Pourquoi ne pas automatiser toute la chaîne ?

## Avant de mettre à jour

Qui dit version majeure dit quelques **changements incompatibles**. Voici ce qu’il faut surveiller :

- **Node.js 22.12 ou plus est désormais requis.** Si vous êtes sur une version plus ancienne, il faudra d’abord mettre Node à jour.
- **L’option `--debug` des commandes `watch` a été supprimée.**

Une fois prêt, la mise à jour tient en une ligne :

```bash
npm install -g @pdfmonkey/cli@latest
```

## Corrections et plomberie

Cette version corrige aussi une poignée de bugs, dont `template init` qui n’arrivait pas à récupérer certains modèles, la clé d’API qui apparaissait dans l’aide des commandes, et `watch` qui tournait en boucle à l’annulation d’une question. La liste complète se trouve dans les [notes de version](https://github.com/pdfmonkey/pdfmonkey-cli/releases/tag/v2.0.0).

Sous le capot, le CLI utilise désormais notre **[SDK `pdfmonkey`](https://www.npmjs.com/package/pdfmonkey) officiel** pour discuter avec l’API. Moins de code dupliqué pour nous, moins de surprises pour vous.

## À vous de jouer

Le CLI reste **gratuit et open source**. Le code est sur [GitHub](https://github.com/pdfmonkey/pdfmonkey-cli), et les issues comme les pull requests sont toujours les bienvenues. Pour faire le tour complet, rendez-vous dans la [documentation du CLI](https://pdfmonkey.io/fr/docs/integrations/cli/).

On espère que cette nouvelle version vous plaira ! Si quelque chose cloche ou s’il vous manque une commande à laquelle on n’a pas pensé, **n’hésitez pas à nous écrire**. On est là pour vous !

Bonne génération de PDF ! 📝
