# Utiliser WP-CLI sur votre site WordPress

Source: https://support.kapsulehost.com/fr-fr/wordpress-wp-cli

KPanel inclut une console WP-CLI qui exécute des commandes sur votre site WordPress depuis le navigateur, sans client SSH ni connexion au serveur. Ce guide explique où la trouver, précisément quelles commandes sont autorisées et pourquoi, les raccourcis intégrés à l'écran, et ce qu'il faut faire lorsque vous avez besoin de quelque chose que la console n'exécutera pas.

## Ouvrir la console

1. Connectez-vous à [KPanel](https://kpanel.kapsulehost.com) et cliquez sur **Sites web** dans la barre latérale gauche.
2. Cliquez sur votre site WordPress.
3. Ouvrez l'onglet **WordPress**, puis la section **Console**.

![Console WP-CLI sur un site WordPress dans KPanel](https://support.kapsulehost.com/help/screenshots/wordpress-wp-cli.c3f61741.webp)

Le champ de saisie commence déjà par un `wp` fixe, vous n'avez donc à taper que ce qui vient après. `plugin list`, pas `wp plugin list`. Appuyez sur Entrée ou cliquez sur **Run**.

> **Note:** **Console** est l'une des sections qui apparaissent sur les plans gérés. Sur les autres plans, la barre d'onglets se termine par un lien **+8 on Managed** à la place. Chaque action décrite ici qui n'est pas une commande brute dispose d'un bouton équivalent ailleurs dans KPanel, rien n'est donc hors de portée : la console est simplement un moyen plus rapide d'accéder au même moteur.

Les commandes s'exécutent sous l'utilisateur système propre à votre site, dans le répertoire de votre site. Elles ne peuvent ni voir ni toucher aucun autre site.

## Ce que la console exécutera et n'exécutera pas

La console utilise une liste d'autorisation. Seuls les préfixes de commande ci-dessous sont acceptés, tout le reste est rejeté avant d'atteindre le serveur, avec un message indiquant le nom de la commande refusée.

| Domaine | Autorisé |
|---|---|
| Core | `core version`, `core check-update`, `core update`, `core is-installed`, `core verify-checksums` |
| Extensions | `plugin list`, `plugin update`, `plugin install`, `plugin activate`, `plugin deactivate`, `plugin status`, `plugin get`, `plugin delete`, `plugin verify-checksums` |
| Thèmes | `theme list`, `theme update`, `theme install`, `theme activate`, `theme status`, `theme get`, `theme delete` |
| Utilisateurs | `user list`, `user get`, `user create`, `user update`, `user set-role`, `user delete`, `user reset-password`, `user add-cap`, `user remove-cap`, `user generate` |
| Base de données | `db size`, `db tables`, `db optimize`, `db repair`, `db check` |
| Cache et transients | `cache flush`, `cache get`, `cache set`, `cache add`, `cache delete`, `transient get`, `transient set`, `transient delete` |
| Règles de réécriture | `rewrite flush`, `rewrite list`, `rewrite structure` |
| Cron | `cron event list`, `cron event run`, `cron schedule list` |
| Configuration | `config get`, `config list`, `config has`, `config shuffle-salts` |
| Mode maintenance | `maintenance-mode activate`, `maintenance-mode deactivate`, `maintenance-mode status` |
| Inspection en lecture seule | `option get`, `option list`, `post list`, `post get`, `comment list`, `comment get` |
| Médias et langue | `media regenerate`, `language core install`, `language core update` |
| Recherche et remplacement | `search-replace` |

Les exclusions volontaires comptent plus que les inclusions :

- **`eval` et `shell`** sont bloqués. Du PHP ou du shell arbitraires rendraient la console équivalente à une invite root dans un onglet de navigateur.
- **`db import`, `db export`, `db drop`, `db query` et `db reset`** sont bloqués. L'import et la réinitialisation détruisent une base de données sans étape de confirmation ; `db query` est une invite SQL sans restriction. Utilisez plutôt phpMyAdmin : [Accéder à votre base de données avec phpMyAdmin](https://support.kapsulehost.com/fr-fr/sites-phpmyadmin).
- **`config set` et `config delete`** sont bloqués. Une mauvaise écriture dans `wp-config.php` met le site hors ligne. Lisez les valeurs ici, modifiez-les via le gestionnaire de fichiers.
- **`option update` et `option delete`** sont bloqués. Modifier des options à l'aveugle est une manière courante de casser un site au-delà de toute récupération.

> **Warning:** La console ne prend aucune sauvegarde pour vous, quelle que soit la commande. Seuls les boutons de la section **Actions rapides** le font. Avant `search-replace`, `core update`, `plugin update`, `theme update`, `db optimize` ou `db repair`, effectuez vous-même une sauvegarde depuis la page **Sauvegardes** du site. Voir [Effectuer une sauvegarde](https://support.kapsulehost.com/fr-fr/taking-a-backup).

## Travailler dans la console

L'écran fait plus qu'accepter une commande à la fois.

**Boutons prédéfinis.** Des raccourcis groupés se trouvent au-dessus de l'invite : Performance (vider le cache, effacer les transients, réinitialiser les règles de réécriture, vérification de l'autoload), Base de données (optimiser, vérifier, réparer, taille), Diagnostics (version de WP, vérifier les mises à jour, vérifier le core, événements cron), Contenu (lister les extensions, les thèmes, les utilisateurs, exécuter le cron maintenant), Sécurité (utilisateurs admin, sommes de contrôle des extensions, réinitialiser les sels, wp-config) et Maintenance (activer/désactiver le mode maintenance, régénérer les miniatures, statut). Un clic exécute la commande.

**Historique.** Appuyez sur les flèches haut et bas dans l'invite pour parcourir vos 50 dernières commandes sur ce site.

**Extraits.** Cliquez sur l'icône de signet à côté d'une commande pour l'enregistrer avec un nom, afin qu'une longue invocation que vous utilisez chaque mois ne nécessite plus qu'un clic la fois suivante.

**Fiche d'environnement.** Au-dessus de l'invite, une fiche affiche la version PHP du site, la version de WordPress, la limite de mémoire, la mémoire actuellement utilisée, la taille maximale de téléversement et la limite de temps d'exécution, avec un bouton **Copier pour le support** qui place tout cela, ainsi que la liste de vos extensions actives, dans le presse-papiers. Collez-le dans un ticket d'assistance et vous aurez évité un aller-retour.

**Copier le résultat.** Chaque bloc de résultat dispose de boutons de copie et d'effacement.

Le résultat s'affiche au fur et à mesure que la commande s'exécute, de sorte qu'une opération longue montre une progression plutôt que de rester silencieuse.

## Commandes à connaître

### Diagnostic

```
core version
core verify-checksums
plugin verify-checksums --all
plugin list --status=active --format=table
db size --tables
option list --autoload=yes
```

`verify-checksums` compare vos fichiers core et d'extensions aux copies officielles publiées et signale tout ce qui a été modifié. C'est la vérification la plus rapide à faire en premier sur un site que vous soupçonnez d'avoir été compromis.

`option list --autoload=yes` liste chaque option que WordPress charge à chaque requête. Une table d'autoload surchargée est l'une des causes les plus fréquentes d'un site lent sans raison apparente.

### Entretien

```
cache flush
transient delete --all
rewrite flush
db optimize
cron event list
cron event run --due-now
```

### Utilisateurs

```
user list --role=administrator --format=table
user create jo jo@example.com --role=editor
user update 4 --user_pass='a-long-unique-password'
```

Tout ce qui est saisi ici est enregistré dans le journal d'activité de votre compte, y compris les mots de passe. Changez un mot de passe défini de cette façon une fois que vous vous êtes connecté. Les détails complets sur la récupération de compte se trouvent dans [Réinitialiser un mot de passe administrateur WordPress perdu](https://support.kapsulehost.com/fr-fr/wordpress-reset-password).

### Recherche et remplacement

```
search-replace 'http://old-domain.co.nz' 'https://old-domain.co.nz' --all-tables --dry-run
```

Faites toujours un essai à blanc d'abord. Le guide complet, y compris les raisons pour lesquelles un remplacement SQL brut corrompt une base de données WordPress, se trouve dans [Effectuer une recherche et un remplacement](https://support.kapsulehost.com/fr-fr/wordpress-search-replace).

## Console ou Actions rapides ?

Les deux exécutent le même WP-CLI en arrière-plan. Choisissez sur cette base :

| Tâche | Meilleure voie |
|---|---|
| Vider le cache, mettre à jour les extensions, régénérer les médias | **Actions rapides**, un clic et une sauvegarde est faite d'abord |
| Recherche et remplacement avec un aperçu par table | **Actions rapides**, la fiche Search & Replace |
| Tout besoin d'un indicateur (flag) spécifique | Console |
| Lister, inspecter, diagnostiquer | Console |
| Exécuter un événement cron en retard | Console |
| Modifier `wp-config.php` ou importer une base de données | Aucune des deux. Utilisez le gestionnaire de fichiers ou phpMyAdmin |

## Quand vous avez besoin de plus que la liste d'autorisation

Pour un WP-CLI sans restriction, connectez-vous via SSH et exécutez `wp` directement depuis le répertoire de votre site. SSH n'utilise que l'authentification par clé, ajoutez donc d'abord votre clé publique depuis les **Paramètres** du site, puis l'onglet **Clés SSH**. Les détails de connexion, y compris l'hôte exact, le port et le nom d'utilisateur, sont affichés sur ce même écran. Voir [Ajouter des clés SSH](https://support.kapsulehost.com/fr-fr/adding-ssh-keys) et [Se connecter via SFTP](https://support.kapsulehost.com/fr-fr/sftp-access).

## Dépannage

**« 'x y' is not in the allowed command list. »** La commande ne figure pas dans la liste d'autorisation. Consultez le tableau ci-dessus pour trouver l'équivalent autorisé le plus proche, ou utilisez SSH.

**« No results returned. Check that WP-CLI is available. »** La commande s'est exécutée mais n'a rien affiché. C'est généralement un comportement normal pour une requête sans résultat.

**La commande expire.** Les commandes de la console sont limitées à 60 secondes. Les opérations longues, comme la régénération d'une grande bibliothèque de médias, doivent être lancées depuis **Actions rapides**, qui utilise une limite plus longue, ou via SSH.

**Rien ne s'exécute et les boutons sont désactivés.** Le rôle de votre compte KapsuleHost est en lecture seule pour ce site. Demandez à un propriétaire de compte de l'augmenter.
