> For the complete documentation index, see [llms.txt](https://help.glpi-project.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.glpi-project.org/glpi-12/fr/glpi-command-line-interface-cli/available-commands.md).

# Commandes disponibles

GLPI inclut un outil CLI pour vous aider à gérer votre instance GLPI. Cette interface est fournie par le script `bin/console` qui peut être exécuté depuis la racine de votre répertoire GLPI.

> Exemple : **`sudo -u`** [**`www-data`**](#user-content-fn-1)[^1] **`php bin/console system:status`**

Chaque commande peut avoir zéro ou plusieurs arguments ou options.

* **Les arguments** sont des éléments d'information positionnels
* **Les options** sont préfixées par un ou deux tirets

{% hint style="success" %}
Pour consulter les commandes disponibles, il est possible d'utiliser la commande **`php bin/console list`** ou d'ajouter un **`--help`** à la fin de d'une commande pour consulter les arguments disponibles
{% endhint %}

***

## <i class="fa-computer">:computer:</i> Assets

### `assets:cleansoftware`

> Supprimer les versions de logiciels sans installation et les logiciels sans version

#### Options :

| Nom   | Raccourci | Description                                   | Requis | Défaut | Tableau | Négatable |
| ----- | --------- | --------------------------------------------- | ------ | ------ | ------- | --------- |
| --max | -m        | Maximum d'éléments à traiter en une exécution | Oui    | 500    | Non     | Non       |

### `assets:purgesoftware`

> Purger les logiciels sans version qui sont supprimés.

#### Options :

<table><thead><tr><th></th><th></th><th width="150"></th><th></th><th></th><th></th><th></th></tr></thead><tbody><tr><td><strong>Nom</strong></td><td><strong>Raccourci</strong></td><td><strong>Description</strong></td><td><strong>Requis</strong></td><td><strong>Défaut</strong></td><td><strong>Tableau</strong></td><td><strong>Négatable</strong></td></tr><tr><td>-max</td><td>-m</td><td>Maximum d'éléments à traiter en une exécution</td><td>Oui</td><td>500</td><td>Non</td><td>Non</td></tr></tbody></table>

### Depuis l'interface Web GLPI

![Action de purge des logiciels](https://717310897-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FI37OnoO4u22Gm6H4GJFI%2Fuploads%2Fgit-blob-d9fda23f9f4b4c618cbf44861541c4b6ceec8f42%2Fassets_purge_software.png?alt=media)

***

## <i class="fa-building">:building:</i> Build

### `build:compile_scss`

> Compiler un fichier SCSS.

#### Options :

<table><thead><tr><th>Nom</th><th>Raccourci</th><th width="220">Description</th><th>Requis</th><th>Tableau</th><th>Négatable</th></tr></thead><tbody><tr><td>--file</td><td>-f</td><td>Fichier à compiler (compile tous les fichiers SCSS par défaut)</td><td>Non</td><td>Oui</td><td>Oui</td></tr><tr><td>--dry-run</td><td></td><td>Simuler la compilation sans réellement enregistrer les fichiers CSS compilés</td><td>Non</td><td>Non</td><td>Non</td></tr></tbody></table>

***

## <i class="fa-memory">:memory:</i> Cache

### `cache:clear`

> Vider le cache GLPI.

#### Options :

<table><thead><tr><th width="102">Nom</th><th width="117">Raccourci</th><th width="201">Description</th><th width="95">Requis</th><th width="104">Tableau</th><th width="119">Négatable</th></tr></thead><tbody><tr><td>--context</td><td>-c</td><td>Contexte de cache à vider (par ex. 'core' ou 'plugin:nom_plugin'). Tous les contextes sont vidés par défaut.</td><td>Oui</td><td>Oui</td><td>Non</td></tr></tbody></table>

### `cache:configure`

> Définir la configuration du cache

#### Options :

<table><thead><tr><th>Nom</th><th>Raccourci</th><th width="220">Description</th><th>Requis</th><th>Défaut</th><th>Tableau</th><th>Négatable</th></tr></thead><tbody><tr><td>--context</td><td></td><td>Contexte de cache (par ex. 'core' ou 'plugin:nom_plugin')</td><td>Oui</td><td>core</td><td>Non</td><td>Non</td></tr><tr><td>--dsn</td><td></td><td>DSN du système de cache</td><td>Oui</td><td>[]</td><td>Oui</td><td>Non</td></tr><tr><td>--use-default</td><td></td><td>Désactiver la configuration du cache pour utiliser le cache filesystem par défaut pour le contexte donné</td><td>Non</td><td></td><td>Non</td><td>Non</td></tr><tr><td>--skip-connection-checks</td><td></td><td>Ignorer les vérifications de connexion</td><td>Non</td><td></td><td>Non</td><td>Non</td></tr></tbody></table>

{% hint style="info" %}
**Aide**

Systèmes de cache valides :

* Memcached
* Redis (TCP)
* Redis (TLS)

Format DSN Memcached :

* memcached : //\[user:pass@]\[ip|host|socket\[:port]]\[?weight=int]

Redis (TCP) DSN format:

* redis\://\[pass@]\[ip|host|socket\[:port]]\[/db-index]

Redis (TLS) DSN format:

* rediss\://\[pass@]\[ip|host|socket\[:port]]\[/db-index]

L'espace de noms du cache peut être utilisé pour assurer soit la séparation, soit le partage des données de plusieurs instances GLPI sur le même système de cache.
{% endhint %}

### Utilisation

> * glpi:cache:configure --use-default
> * glpi:cache:configure --dsn=memcached://cache1.glpi-project.org --dsn=memcached://cache2.glpi-project.org
> * glpi:cache:configure --dsn=redis\://redis.glpi-project.org:6379/glpi

### `cache:debug`

> Déboguer le cache GLPI.

#### Options :

| Nom       | Raccourci | Description                                                         | Requis | Défaut | Tableau | Négatable |
| --------- | --------- | ------------------------------------------------------------------- | ------ | ------ | ------- | --------- |
| --key     | -k        | Clé de cache à déboguer.                                            | Oui    | \[]    | Oui     | Non       |
| --context | -c        | Contexte de cache à vider (par ex. 'core' ou 'plugin:nom\_plugin'). | Oui    | core   | Non     | Non       |

### `cache:set_namespace_prefix`

> Définir le préfixe d'espace de noms du cache

#### Arguments (dans l'ordre) :

| Nom    | Description              | Requis | Défaut |
| ------ | ------------------------ | ------ | ------ |
| prefix | Préfixe d'espace de noms | Oui    |        |

***

## <i class="fa-command">:command:</i> Completion

### `completion`

> Afficher le script de complétion du shell

#### Installation Statique

{% stepper %}
{% step %}
Générez le script dans un fichier de complétion global et redémarrez votre shell :

**`bin/console completion nologin | sudo tee /etc/bash_completion.d/console`**

Ou enregistrez le script dans un fichier local et exécutez-le :

**`bin/console completion nologin > completion.sh`**
{% endstep %}

{% step %}
Exécutez le fichier à chaque utilisation du projet :

**`source completion.sh`**

Ou ajoutez cette ligne à la fin de votre fichier « `~/.bashrc` » :

**`source /chemin/vers/completion.sh`**
{% endstep %}
{% endstepper %}

#### Installation dynamique

* Ajoutez ceci à la fin de votre fichier de configuration shell (par exemple, « `~/.bashrc` ») :

**`eval "$(`**[**`/chemin/glpi`**](#user-content-fn-2)[^2]**`/bin/console completion nologin)"`**

***

## <i class="fa-gear">:gear:</i> Config

### `config:set`

> Définir la valeur de configuration

#### Arguments (dans l'ordre) :

| Nom   | Description                                                                           | Requis | Défaut |
| ----- | ------------------------------------------------------------------------------------- | ------ | ------ |
| key   | Clé de configuration                                                                  | Oui    |        |
| value | Valeur de configuration (omettre l'argument pour saisir la valeur en mode interactif) | Oui    |        |

#### Options :

| Nom       | Raccourci | Description               | Requis | Défaut | Tableau | Négatable |
| --------- | --------- | ------------------------- | ------ | ------ | ------- | --------- |
| --context | -c        | Contexte de configuration | Oui    | core   | Non     | Non       |

***

## <i class="fa-database">:database:</i> Database

### `db:check_schema_integrity` ou `db:check`

> Vérifier les différences de schéma entre la base de données actuelle et le fichier d'installation.

#### Options

<table><thead><tr><th>Nom</th><th width="235">Description</th><th width="95">Requis</th><th width="105">Tableau</th><th>Négatable</th></tr></thead><tbody><tr><td>--strict</td><td>Comparaison stricte des définitions</td><td>Non</td><td>Non</td><td>Non</td></tr><tr><td>--check-all-migrations</td><td>Vérifier les jetons relatifs à toutes les migrations de bases de données.</td><td>Non</td><td>Non</td><td>Non</td></tr><tr><td>--check-innodb-migration</td><td>Vérifier les jetons liés à la migration de "MyISAM" vers "InnoDB".</td><td>Non</td><td>Non</td><td>Non</td></tr><tr><td>--check-timestamps-migration</td><td>Vérifier les jetons liés à la migration de "datetime" vers "timestamp".</td><td>Non</td><td>Non</td><td>Non</td></tr><tr><td>--check-utf8mb4-migration</td><td>Vérifier les jetons liés à la migration de "utf8" vers "utf8mb4".</td><td>Non</td><td>Non</td><td>Non</td></tr><tr><td>--check-dynamic-row-format-migration</td><td>Vérifier les jetons liés à la migration du format de ligne "DYNAMIC".</td><td>Non</td><td>Non</td><td>Non</td></tr><tr><td>--check-unsigned-keys-migration</td><td>Vérifier les jetons liés à la migration d'entiers signés vers non signés dans les clés primaires/étrangères.</td><td>Non</td><td>Non</td><td>Non</td></tr></tbody></table>

### `db:configure`

> Définir la configuration de la base de données

#### Options :

<table><thead><tr><th>Nom</th><th width="113">Raccourci</th><th width="259">Description</th><th width="95">Requis</th><th width="110">Défaut</th><th width="104">Tableau</th><th>Niable</th></tr></thead><tbody><tr><td>--db-host</td><td>-H</td><td>Hôte de la base de données</td><td>No</td><td>localhost</td><td>No</td><td>Yes</td></tr><tr><td>--db-name</td><td>-d</td><td>Nom de la base de données</td><td>Yes</td><td></td><td>No</td><td>No</td></tr><tr><td>--db-password</td><td>-p</td><td>Mot de passe de la base de données (la valeur sera demandée si l'option est passée sans valeur)</td><td>No</td><td></td><td>No</td><td>Yes</td></tr><tr><td>--db-port</td><td>-P</td><td>Port de la base de données</td><td>No</td><td></td><td>No</td><td>Yes</td></tr><tr><td>--db-user</td><td>-u</td><td>Utilisateur de la base de données</td><td>Yes</td><td></td><td>No</td><td>No</td></tr><tr><td>--reconfigure</td><td>-r</td><td>Reconfigurer la base de données, écraser le fichier de configuration s'il existe déjà</td><td>No</td><td></td><td>No</td><td>No</td></tr><tr><td>--strict-configuration</td><td></td><td>Utiliser une configuration stricte pour appliquer les avertissements sur les usages obsolètes ou déconseillés</td><td>No</td><td></td><td>No</td><td>No</td></tr></tbody></table>

### `db:enable_timezones`

> Activer l'utilisation des fuseaux horaires.

### `db:install`

> Installer le schéma de base de données

#### Options :

<table><thead><tr><th>Nom</th><th width="117">Raccourci</th><th width="229">Description</th><th width="93">Requis</th><th>Défaut</th><th width="108">Tableau</th><th width="102">Niable</th></tr></thead><tbody><tr><td>--db-host</td><td>-H</td><td>Hôte de la base de données</td><td>No</td><td>localhost</td><td>No</td><td>Yes</td></tr><tr><td>--db-name</td><td>-d</td><td>Nom de la base de données</td><td>Yes</td><td></td><td>No</td><td>No</td></tr><tr><td>--db-password</td><td>-p</td><td>Mot de passe de la base de données (la valeur sera demandée si l'option est passée sans valeur)</td><td>No</td><td></td><td>No</td><td>Yes</td></tr><tr><td>--db-port</td><td>-P</td><td>Port de la base de données</td><td>No</td><td></td><td>No</td><td>Yes</td></tr><tr><td>--db-user</td><td>-u</td><td>Utilisateur de la base de données</td><td>Yes</td><td></td><td>No</td><td>No</td></tr><tr><td>--reconfigure</td><td>-r</td><td>Reconfigurer la base de données, écraser le fichier de configuration s'il existe déjà</td><td>No</td><td></td><td>No</td><td>No</td></tr><tr><td>--strict-configuration</td><td></td><td>Utiliser une configuration stricte pour appliquer les avertissements sur les usages obsolètes ou déconseillés</td><td>No</td><td></td><td>No</td><td>No</td></tr><tr><td>--default-language</td><td>-L</td><td>Langue par défaut de GLPI</td><td>No</td><td>en_GB</td><td>No</td><td>Yes</td></tr><tr><td>--force</td><td>-f</td><td>Forcer l'exécution de l'installation, en écrasant la base de données existante</td><td>No</td><td></td><td>No</td><td>No</td></tr><tr><td>--enable-telemetry</td><td></td><td>Autoriser l'envoi de statistiques d'utilisation au service de télémétrie (<a href="https://telemetry.glpi-project.org">https://telemetry.glpi-project.org</a>)</td><td>No</td><td></td><td>No</td><td>No</td></tr><tr><td>--no-telemetry</td><td></td><td>Interdire l'envoi de statistiques d'utilisation au service de télémétrie (<a href="https://telemetry.glpi-project.org">https://telemetry.glpi-project.org</a>)</td><td>No</td><td></td><td>No</td><td>No</td></tr></tbody></table>

### `db:update`

> Mettre à jour le schéma de base de données vers une nouvelle version

#### Options

<table><thead><tr><th>Nom</th><th width="114">Raccourci</th><th width="241">Description</th><th width="93">Requis</th><th>Tableau</th><th>Niable</th></tr></thead><tbody><tr><td>--allow-unstable</td><td>-u</td><td>Autoriser la mise à jour vers une version instable</td><td>No</td><td>No</td><td>No</td></tr><tr><td>--force</td><td>-f</td><td>Forcer l'exécution de la mise à jour depuis la version v-1 de GLPI même si le schéma n'a pas changé</td><td>No</td><td>No</td><td>No</td></tr><tr><td>--enable-telemetry</td><td></td><td>Autoriser l'envoi de statistiques d'utilisation au service de télémétrie (<a href="https://telemetry.glpi-project.org">https://telemetry.glpi-project.org</a>)</td><td>No</td><td>No</td><td>No</td></tr><tr><td>--no-telemetry</td><td></td><td>Interdire l'envoi de statistiques d'utilisation au service de télémétrie (<a href="https://telemetry.glpi-project.org">https://telemetry.glpi-project.org</a>)</td><td>No</td><td>No</td><td>No</td></tr></tbody></table>

***

## <i class="fa-stethoscope">:stethoscope:</i> Diagnostic

### `diagnostic:check_documents_integrity`

> Vérifier l'intégrité des fichiers pour les documents de GLPI.

### `diagnostic:check_html_encoding`

> Vérifier la présence de contenu mal encodé en HTML dans la base de données.

#### Options

<table><thead><tr><th width="150">Nom</th><th width="114">Raccourci</th><th width="241">Description</th><th width="93">Requis</th><th>Tableau</th><th>Niable</th></tr></thead><tbody><tr><td><p>--fix |</p><p>--no-fix</p></td><td>-f</td><td>Corrige des problèmes détectés</td><td>No</td><td>No</td><td>No</td></tr><tr><td>--dump=DUMP</td><td>-d</td><td>Indique le chemin d'accès du fichier où seront stockées les requêtes SQL permettant d'annuler les modifications.</td><td>No</td><td>No</td><td>No</td></tr></tbody></table>

### `diagnostic:check_source_code_integrity`

> Vérifier l'intégrité du fichier de code source GLPI.

<table><thead><tr><th width="162">Nom</th><th width="114">Raccourci</th><th width="241">Description</th><th width="93">Requis</th><th>Tableau</th><th>Niable</th></tr></thead><tbody><tr><td>--diff</td><td>-d</td><td>Affiche les différences entre les fichiers modifiés</td><td>No</td><td>No</td><td>No</td></tr><tr><td>--allow-download</td><td></td><td>Autorise le téléchargement de la version GLPI si nécessaire</td><td>No</td><td>No</td><td>No</td></tr></tbody></table>

***

## <i class="fa-life-ring">:life-ring:</i> Help

### `help`

> Affiche l'aide pour chaque commande

<table><thead><tr><th width="170">Nom</th><th width="241">Description</th><th width="93">Requis</th><th>Tableau</th><th>Niable</th></tr></thead><tbody><tr><td>--format=FORMAT</td><td>Affiche le résultat selon le format de sortie sélectionné (<code>txt</code>, <code>xml</code>, <code>json</code> ou <code>md</code>. Par défaut : <code>txt</code>)</td><td>No</td><td>No</td><td>No</td></tr><tr><td>--raw</td><td>Pour afficher l'aide de la commande brute</td><td>No</td><td>No</td><td>No</td></tr></tbody></table>

***

## <i class="fa-user-gear">:user-gear:</i> LDAP

### `ldap:sync`

> Synchroniser les utilisateurs avec les informations du serveur LDAP

#### Options

<table><thead><tr><th>Nom</th><th width="114">Raccourci</th><th width="285">Description</th><th width="96">Requis</th><th width="100">Tableau</th><th>Niable</th></tr></thead><tbody><tr><td>--only-create-new</td><td>-c</td><td>Créer uniquement les nouveaux utilisateurs</td><td>No</td><td>No</td><td>No</td></tr><tr><td>--only-update-existing</td><td>-u</td><td>Mettre à jour uniquement les utilisateurs existants</td><td>No</td><td>No</td><td>No</td></tr><tr><td>--ldap-server-id</td><td>-s</td><td>Synchroniser uniquement les utilisateurs rattachés à ce serveur LDAP</td><td>No</td><td>Yes</td><td>Yes</td></tr><tr><td>--ldap-filter</td><td>-f</td><td>Filtre à appliquer sur la recherche LDAP</td><td>No</td><td>No</td><td>Yes</td></tr><tr><td>--begin-date</td><td></td><td>Date de début à appliquer dans le filtre "modifyTimestamp" (voir <a href="http://php.net/manual/en/datetime.formats.php">http://php.net/manual/en/datetime.formats.php</a> pour les formats supportés)</td><td>No</td><td>No</td><td>Yes</td></tr><tr><td>--end-date</td><td></td><td>Date de fin à appliquer dans le filtre "modifyTimestamp" (voir <a href="http://php.net/manual/en/datetime.formats.php">http://php.net/manual/en/datetime.formats.php</a> pour les formats supportés)</td><td>Non</td><td>Non</td><td>Oui</td></tr><tr><td>--deleted-user-strategy</td><td>-d</td><td><p>Forcer la stratégie appliquée aux utilisateurs supprimés (actions par défaut configurées : "0,0,0") Trois valeurs séparées par des virgules sont attendues.</p><p>1) Actions sur le compte de l’utilisateur :</p><ul><li>0 : Ne rien faire</li><li>1 : Désactiver</li><li>2 : Mettre en corbeille</li></ul><p>2) Actions sur le groupe associé à l’utilisateur :</p><ul><li>0 : Ne rien faire</li><li>1 : Supprimer les groupes dynamiques</li><li>2 : Supprimer tous les groupes</li></ul><p>3) Actions sur les habilitations de l’utilisateur :</p><ul><li>0 : Ne rien faire</li><li>1 : Supprimer les habilitations dynamiques</li><li>2 : Supprimer toutes les habilitations</li></ul></td><td>Non</td><td>Non</td><td>Oui</td></tr><tr><td>--restored-user-strategy</td><td>-r</td><td><p>Forcer la stratégie utilisée pour les utilisateurs restaurés (action configurée actuellement : "0") Les valeurs possibles sont :</p><ul><li>0 : Ne rien faire</li><li>1 : Restaurer (sortir de la corbeille)</li><li>3 : Activer</li></ul></td><td>Non</td><td>Non</td><td>Oui</td></tr></tbody></table>

***

## <i class="fa-list">:list:</i> List

### `list`

> La commande list liste toutes les commandes

* Vous pouvez également afficher les commandes d'un espace de noms spécifique :

```
bin/console list database
```

* Vous pouvez également exporter les informations dans d'autres formats en utilisant l'option --format :

```
bin/console list --format=xml
```

* Il est également possible d'obtenir la liste brute des commandes (utile pour intégrer un exécuteur de commandes) :

```
bin/console list --raw
```

## <i class="fa-gears">:gears:</i> Maintenance

### `maintenance:disable`

> Désactiver le mode maintenance

### `maintenance:enable`

> Activer le mode maintenance

#### Options

<table><thead><tr><th>Nom</th><th width="113">Raccourci</th><th width="200">Description</th><th width="95">Requis</th><th width="106">Tableau</th><th>Négation</th></tr></thead><tbody><tr><td>--text</td><td>-t</td><td>Texte à afficher pendant la maintenance</td><td>Non</td><td>Non</td><td>Oui</td></tr></tbody></table>

***

## <i class="fa-shop">:shop:</i> Marketplace

### `marketplace:download`

> Télécharger un plugin depuis le marketplace GLPI

#### Arguments (dans l'ordre) :

| Nom     | Description      | Requis |
| ------- | ---------------- | ------ |
| plugins | La clé du plugin | Oui    |

#### Options

| Nom     | Raccourci | Description                                                    | Requis | Tableau | Négation |
| ------- | --------- | -------------------------------------------------------------- | ------ | ------- | -------- |
| --force | -f        | Forcer le téléchargement même si le plugin est déjà téléchargé | Non    | Non     | Non      |

### `marketplace:info`

> Obtenir des informations sur un plugin

#### Arguments (dans l'ordre) :

| Nom    | Description      | Requis |
| ------ | ---------------- | ------ |
| plugin | La clé du plugin | Oui    |

### `marketplace:search`

> Rechercher dans le marketplace GLPI

#### Arguments (dans l'ordre)

| Nom  | Description           | Requis |
| ---- | --------------------- | ------ |
| term | Le terme de recherche | Non    |

### `marketplace:upgrade`

> Télécharger tous les plugins vers leurs dernières versions compatibles, mettre à jour tous les plugins actifs et réactiver ceux qui étaient actifs.

#### Options

<table><thead><tr><th width="214">Nom</th><th>Raccourci</th><th width="239">Description</th><th width="94">Requis</th><th width="100">Tableau</th><th width="108">Négation</th></tr></thead><tbody><tr><td>--username=USERNAME</td><td>-u</td><td>Nom de l'utilisateur utilisé durant le script d'installation (entre autre choses pour définir les droits d'administration du plugin)</td><td>Non</td><td>Non</td><td>Non</td></tr></tbody></table>

***

## <i class="fa-left-right">:left-right:</i> Migration

### `migration:appliances_plugin_to_core`

> Migrer les données du plugin Appliances vers les tables du cœur de GLPI

#### Options

| Nom           | Raccourci | Description                              | Requis | Tableau | Négation |
| ------------- | --------- | ---------------------------------------- | ------ | ------- | -------- |
| --skip-errors | -s        | Ne pas quitter en cas d'erreurs d'import | Non    | Non     | Non      |

### `migration:databases_plugin_to_core`

> Migrer les données du plugin Databases vers les tables du cœur de GLPI

#### Options

| Nom           | Raccourci | Description                              | Requis | Tableau | Négation |
| ------------- | --------- | ---------------------------------------- | ------ | ------- | -------- |
| --skip-errors | -s        | Ne pas quitter en cas d'erreurs d'import | Non    | Non     | Non      |

### `migration:domains_plugin_to_core`

> Migrer les données du plugin Domains vers les tables du cœur de GLPI

#### Options

| Nom           | Raccourci | Description                              | Requis | Tableau | Négation |
| ------------- | --------- | ---------------------------------------- | ------ | ------- | -------- |
| --skip-errors | -s        | Ne pas quitter en cas d'erreurs d'import | Non    | Non     | Non      |

### `migration:dynamic_row_format`

> Convertir les tables de base de données au format de ligne "Dynamic" (requis pour le support du jeu de caractères "utf8mb4").

### `migration:formcreator_plugin_to_core`

> Migration des données du plugin Formcreator vers les tables principales de GLPI

<table><thead><tr><th width="176">Nom</th><th>Raccourci</th><th width="204">Description</th><th>Requis</th><th>Tableau</th><th>Négation</th></tr></thead><tbody><tr><td>--dry-run</td><td></td><td>Simule la migration</td><td>Non</td><td>Non</td><td>Non</td></tr><tr><td>--form-id=FORM-ID</td><td></td><td>Importe uniquement les formulaires spécifiques avec les ID renseignés (plusieurs valeurs autorisées).</td><td></td><td></td><td></td></tr></tbody></table>

### `genericobject_plugin_to_core`

> Migrer les données du plugin generic object dans les tables principales de GLPI

<table><thead><tr><th width="176">Nom</th><th>Raccourci</th><th width="204">Description</th><th>Requis</th><th>Tableau</th><th>Négation</th></tr></thead><tbody><tr><td>--dry-run</td><td></td><td>Simule la migration</td><td>Non</td><td>Non</td><td>Non</td></tr></tbody></table>

### `migration:migrate_all`

> Exécutez toutes les migrations facultatives recommandées.

### `migration:myisam_to_innodb`

> Migrer les tables MyISAM vers InnoDB

### `migration:racks_plugin_to_core`

> Migrer les données du plugin Racks vers les tables du cœur de GLPI

#### Options

<table><thead><tr><th>Nom</th><th>Raccourci</th><th width="195">Description</th><th>Requis</th><th>Tableau</th><th>Négation</th></tr></thead><tbody><tr><td>--ignore-other-elements</td><td>-i</td><td>Ignorer les modèles et éléments "PluginRacksOther"</td><td>Non</td><td>Non</td><td>Non</td></tr><tr><td>--skip-errors</td><td>-s</td><td>Ne pas quitter en cas d'erreurs d'import</td><td>Non</td><td>Non</td><td>Non</td></tr><tr><td>--truncate</td><td>-t</td><td>Supprimer les données existantes du cœur</td><td>Non</td><td>Non</td><td>Non</td></tr><tr><td>--update-plugin</td><td>-u</td><td>Exécuter la mise à jour du plugin Racks (vous devez disposer des fichiers de la version 1.8.0 pour effectuer cette opération)</td><td>Non</td><td>Non</td><td>Non</td></tr><tr><td>--without-plugin</td><td>-w</td><td>Activer la migration sans les fichiers du plugin (nous ne pouvons pas valider que les données du plugin sont compatibles avec la version 1.8.0 supportée)</td><td>Non</td><td>Non</td><td>Non</td></tr></tbody></table>

### `migration:timestamps`

> Convertir les champs "datetime" en "timestamp" pour utiliser les fuseaux horaires.

### `migration:timestamps`

> Migrer les clés primaires/étrangères vers des entiers non signés

### `migration:utf8mb4`

> Convertir le jeu de caractères de la base de données de "utf8" vers "utf8mb4".

***

## <i class="fa-puzzle">:puzzle:</i> Plugins

### `plugin:activate`

> Activer un ou plusieurs plugin(s)

#### Arguments (dans l'ordre) :

| Nom       | Description          | Requis |
| --------- | -------------------- | ------ |
| directory | Répertoire du plugin | Non    |

#### Options

<table><thead><tr><th>Nom</th><th>Raccourci</th><th width="195">Description</th><th>Requis</th><th>Tableau</th><th>Négation</th></tr></thead><tbody><tr><td>--all</td><td>-a</td><td>Exécuter la commande sur tous les plugins</td><td>Non</td><td>Non</td><td>Non</td></tr></tbody></table>

### `plugin:deactivate`

> Désactiver un ou plusieurs plugin(s)

#### Arguments (dans l'ordre)

| Nom       | Description          | Requis |
| --------- | -------------------- | ------ |
| directory | Répertoire du plugin | Non    |

#### Options

| Nom   | Raccourci | Description                               | Requis | Tableau | Négable |
| ----- | --------- | ----------------------------------------- | ------ | ------- | ------- |
| --all | -a        | Exécuter la commande sur tous les plugins | Non    | Non     | Non     |

### `plugin:install`

> Exécuter le(s) script(s) d'installation de plugin

#### Arguments (dans l'ordre)

| Nom       | Description          | Requis |
| --------- | -------------------- | ------ |
| directory | Répertoire du plugin | Non    |

#### Options

<table><thead><tr><th>Nom</th><th>Raccourci</th><th width="222">Description</th><th>Requis</th><th>Tableau</th><th>Négable</th></tr></thead><tbody><tr><td>--all</td><td>-a</td><td>Exécuter la commande sur tous les plugins</td><td>Non</td><td>Non</td><td>Non</td></tr><tr><td>--param</td><td>-p</td><td><p>Paramètres additionnels à transmettre à la fonction hook d'installation du plugin</p><ul><li>"-p foo" définira la valeur du paramètre "foo" à true</li><li>"-p foo=bar" définira la valeur du paramètre "foo" à "bar"</li></ul></td><td>Non</td><td>Oui</td><td>Oui</td></tr><tr><td>--username</td><td>-u</td><td>Nom de l'utilisateur employé durant le script d'installation (entre autres pour définir les droits administrateur du plugin)</td><td>Oui</td><td>Non</td><td>Non</td></tr><tr><td>--force</td><td>-f</td><td>Forcer l'exécution de l'installation, même si le plugin est déjà installé</td><td>Non</td><td>Non</td><td>Non</td></tr></tbody></table>

### Utilisation

> plugin:install -p foo=bar -p force myplugin

### `plugin:list`

> Liste les plugins installés (depuis le marketplace ou installés manuellement), activés, désactivés, à mettre à jour.

#### Options

<table><thead><tr><th width="167">Nom</th><th width="116">Raccourci</th><th width="166">Description</th><th width="99">Requis</th><th>Tableau</th><th>Négable</th></tr></thead><tbody><tr><td>--format=FORMAT</td><td>-f</td><td>Format de sortie (tableau ou json) tableau par défaut</td><td>Non</td><td>Oui</td><td>Non</td></tr><tr><td>--path</td><td>-p</td><td>Inclure le chemin d'accès aux plugins</td><td></td><td>Oui</td><td></td></tr></tbody></table>

### `plugin:resume_execution`

> Reprend l'exécution de tous les plugins actifs

### `plugin:suspend_execution`

> Suspend l'exécution de tous les plugins actifs

### `plugin:uninstall`

> Exécute le script de désinstallation des plugins

#### Arguments (dans l'ordre)

| Nom       | Description          | Requis |
| --------- | -------------------- | ------ |
| directory | Répertoire du plugin | Non    |

***

## <i class="fa-ruler">:ruler:</i> Rules

### `rules:process_software_category_rules`

> Traiter les règles de catégorie de logiciel

#### Options

<table><thead><tr><th width="90">Nom</th><th width="114">Raccourci</th><th width="229">Description</th><th width="98">Requis</th><th width="104">Tableau</th><th>Négable</th></tr></thead><tbody><tr><td>--all</td><td>-a</td><td>Traiter la règle pour tous les logiciels, même ceux ayant déjà une catégorie définie</td><td>Non</td><td>Non</td><td>Non</td></tr></tbody></table>

### `rules:replay_dictionnary_rules`

> Rejouer les règles de dictionnaire sur les éléments existants

#### Options

<table><thead><tr><th width="165">Nom</th><th width="116">Raccourci</th><th width="287">Description</th><th width="96">Requis</th><th width="104">Tableau</th><th width="106">Négable</th></tr></thead><tbody><tr><td>--dictionnary</td><td>-d</td><td><p>Dictionnaire à utiliser. Les valeurs possibles sont :</p><ul><li>CableType</li><li>ComputerModel</li><li>ComputerType</li><li>DatabaseInstanceType</li><li>GlpiSocketModel</li><li>ImageFormat</li><li>ImageResolution</li><li>Manufacturer</li><li>MonitorModel</li><li>MonitorType</li><li>NetworkEquipmentModel</li><li>NetworkEquipmentType</li><li>OperatingSystem</li><li>OperatingSystemArchitecture</li><li>OperatingSystemEdition</li><li>OperatingSystemKernel</li><li>OperatingSystemKernelVersion</li><li>OperatingSystemServicePack</li><li>OperatingSystemVersion</li><li>PeripheralModel</li><li>PeripheralType</li><li>PhoneModel</li><li>PhoneType</li><li>Printer</li><li>PrinterModel</li><li>PrinterType</li><li>Software</li></ul></td><td>Oui</td><td>Non</td><td>Non</td></tr><tr><td>--manufacturer-id</td><td>-m</td><td>Si l'option est définie, seuls les éléments ayant l'ID de fabricant donné seront traités. Actuellement disponible uniquement pour le dictionnaire Software.</td><td>Oui</td><td>Non</td><td>Non</td></tr></tbody></table>

***

## <i class="fa-shield-keyhole">:shield-keyhole:</i> Security

### `security:change_key`

> Modifier la clé de stockage des mots de passe et mettre à jour les valeurs dans la base de données.

### `security:change_oauth_key`

> (Re)générer les clés OAuth

<table><thead><tr><th>Nom</th><th>Raccourci</th><th width="222">Description</th><th>Requis</th><th>Tableau</th><th>Négable</th></tr></thead><tbody><tr><td>--force</td><td>-f</td><td>Forcer la régénération des clés OAuth même si elles existent déjà.</td><td>Non</td><td>Non</td><td>Non</td></tr></tbody></table>

### `security:disable_2fa`

> Désactive le 2FA pour tous les utilisateurs

#### Argument

<table><thead><tr><th width="94">Nom</th><th>Description</th><th width="128">Requis</th></tr></thead><tbody><tr><td>login</td><td>Désactive 2FA pour un ou plusieurs utilisateurs</td><td>Non</td></tr></tbody></table>

### `security:session:list`

> Liste les sessions actives

#### Options

<table><thead><tr><th width="175">Nom</th><th width="114">Raccourci</th><th width="174">Description</th><th width="100">Requis</th></tr></thead><tbody><tr><td>--login=LOGIN</td><td>-u</td><td>Nom de l'utilisateur</td><td>Non</td></tr></tbody></table>

### `security:session:revoke`

> Révoquer les sessions de connexion

#### Options

<table><thead><tr><th width="175">Nom</th><th width="114">Raccourci</th><th width="174">Description</th><th width="100">Requis</th></tr></thead><tbody><tr><td>--login=LOGIN</td><td>-u</td><td>Nom de l'utilisateur</td><td>Non</td></tr><tr><td>--all</td><td>-a</td><td>Révoque toutes les sessions</td><td>Non</td></tr><tr><td>--session-id=SESSION-ID</td><td>-s</td><td>ID de la session a révoquer</td><td>Non</td></tr></tbody></table>

***

## <i class="fa-gears">:gears:</i> System

### `system:check_requirements`

> Vérifie les prérequis système

### `system:list_services`

> Lister les services système

### `system:status`

> Vérifier l'état du système

#### Options

<table><thead><tr><th width="110">Nom</th><th width="114">Raccourci</th><th width="221">Description</th><th width="95">Requis</th><th width="95">Défaut</th><th width="103">Tableau</th><th width="106">Négable</th></tr></thead><tbody><tr><td>--private</td><td>-p</td><td>Publicité des informations d'état. Les informations d'état privées peuvent contenir des informations potentiellement sensibles telles que les informations de version.</td><td>Non</td><td></td><td>Non</td><td>Non</td></tr><tr><td>--service</td><td>-s</td><td>Le service à vérifier ou all</td><td>Non</td><td>all</td><td>Non</td><td>Oui</td></tr></tbody></table>

***

## <i class="fa-clipboard-clock">:clipboard-clock:</i> Task

### `task:unlock`

> Déverrouiller les tâches automatiques

#### Options

<table><thead><tr><th width="108">Nom</th><th width="115">Raccourci</th><th width="243">Description</th><th width="101">Requis</th><th width="109">Tableau</th><th width="107">Négable</th></tr></thead><tbody><tr><td>--all</td><td>-a</td><td>Déverrouiller toutes les tâches</td><td>Non</td><td>Non</td><td>Non</td></tr><tr><td>--cycle</td><td>-c</td><td>Temps d'exécution (en cycles) à partir duquel la tâche est considérée comme bloquée (délai = fréquence tâche * cycle)</td><td>Non</td><td>Non</td><td>Oui</td></tr><tr><td>--delay</td><td>-d</td><td>Temps d'exécution (en secondes) à partir duquel la tâche est considérée comme bloquée (par défaut : 1800)</td><td>Non</td><td>Non</td><td>Oui</td></tr><tr><td>--task</td><td>-t</td><td>Itemtype::nom de la tâche à déverrouiller (ex : "MailCollector::mailgate")</td><td>Non</td><td>Oui</td><td>Oui</td></tr></tbody></table>

***

## <i class="fa-screwdriver-wrench">:screwdriver-wrench:</i> Tools

### `tools:check_database_keys`

> Vérifier la base de données pour les clés manquantes et erronées.

#### Options

<table><thead><tr><th width="228">Nom</th><th width="118">Raccourci</th><th>Description</th><th width="98">Requis</th><th width="108">Tableau</th><th width="118">Négatable</th></tr></thead><tbody><tr><td>--detect-misnamed-keys</td><td></td><td>Détecter les clés mal nommées</td><td>Non</td><td>Non</td><td>Non</td></tr><tr><td>--detect-useless-keys</td><td></td><td>Détecter les clés mal nommées</td><td>Non</td><td>Non</td><td>Non</td></tr></tbody></table>

### `tools:check_database_schema_consistency`

> Vérifier la cohérence du schéma de la base de données.

### `tools:check_twig_templates_syntax`

> Description à faire

### `tools:delete_orphan_logs`

> Supprimer les journaux orphelins

#### Options

| Nom       | Raccourci | Description                                                    | Requis | Tableau | Négatable |
| --------- | --------- | -------------------------------------------------------------- | ------ | ------- | --------- |
| --dry-run |           | Simuler la commande sans réellement supprimer quoi que ce soit | Non    | Non     | Non       |

### `tools:generate_api_snapshot`

> Met à jour un instantané utilisé pour les tests de version de l'API

#### Argument

<table><thead><tr><th width="103">Nom</th><th>Description</th><th width="128">Requis</th></tr></thead><tbody><tr><td>version</td><td>Version de l'API pour laquelle mettre à jour l'instantané</td><td>Non</td></tr></tbody></table>

### `tools:generate_dev_ldap`

> Créez un objet AuthLDAP prêt à l'emploi.

### `tools:generate_forms_for_each_illustrations`

> Générez un formulaire par illustration disponible.

### `tools:generate_hooks_documentation`

> Générer la documentation des hooks de plugin

### `tools:generate_illustration_translations`

> DESCRIPTION A FAIRE

### `tools:licence_headers_check`

> Vérifier l'en-tête de licence dans les fichiers de code source

#### Options

<table><thead><tr><th width="221">Nom</th><th width="114">Raccourci</th><th width="174">Description</th><th width="100">Requis</th></tr></thead><tbody><tr><td>--plugin=PLUGIN</td><td>-p</td><td>Nom du plugin</td><td>Non</td></tr><tr><td>--directory[=DIRECTORY]</td><td>-d</td><td>Répertoire à analyser (facultatif)</td><td>Non</td></tr><tr><td>--header-file[=HEADER-FILE]</td><td></td><td>Fichier d'en-tête à utiliser (facultatif)</td><td>Non</td></tr><tr><td>--fix</td><td>-f</td><td>Corriger les en-têtes manquants et obsolètes</td><td>Non</td></tr><tr><td>--discard-extra-tags</td><td></td><td>Ignorer les balises supplémentaires trouvées dans les en-têtes</td><td>Non</td></tr></tbody></table>

### `tools:locales:compile`

> Compiler des fichiers MO à partir de fichiers PO.

#### Options

<table><thead><tr><th width="221">Nom</th><th width="114">Raccourci</th><th width="174">Description</th><th width="100">Requis</th></tr></thead><tbody><tr><td>--plugin=PLUGIN</td><td>-p</td><td>Nom du plugin</td><td>Non</td></tr><tr><td>--directory[=DIRECTORY]</td><td>-d</td><td>Répertoire à analyser (facultatif)</td><td>Non</td></tr></tbody></table>

### `tools:locales:extract`

> Extraire les chaînes du projet pour générer le fichier POT.

#### Options

<table><thead><tr><th width="175">Nom</th><th width="114">Raccourci</th><th width="174">Description</th><th width="100">Requis</th></tr></thead><tbody><tr><td>--plugin=PLUGIN</td><td>-p</td><td>Nom du plugin</td><td>Non</td></tr></tbody></table>

### `tools:plugin:release`

> Générer une archive de publication pour le plugin GLPI.

#### Options

<table><thead><tr><th width="175">Nom</th><th width="114">Raccourci</th><th width="174">Description</th><th width="100">Requis</th></tr></thead><tbody><tr><td>--plugin=PLUGIN</td><td>-p</td><td>Nom du plugin</td><td>Non</td></tr></tbody></table>

***

## <i class="fa-user-gear">:user-gear:</i> User

### `user:create`

> Créé un nouvel utilisateur GLPI en base interne

#### Argument

<table><thead><tr><th width="103">Nom</th><th>Description</th><th width="128">Requis</th></tr></thead><tbody><tr><td>username</td><td>Indique l'identifiant du nouvel utilisateur</td><td>oui</td></tr></tbody></table>

#### Options

<table><thead><tr><th width="237">Nom</th><th width="115">Raccourci</th><th width="271">Description</th><th width="101">Requis</th><th width="109">Tableau</th><th width="107">Négable</th></tr></thead><tbody><tr><td>--password[=PASSWORD]</td><td>-p</td><td>Indique le mot de passe</td><td>Non</td><td>Non</td><td>Non</td></tr><tr><td>--env=ENV</td><td></td><td>Environnement à utiliser. Les valeurs possibles sont : <code>production</code>, <code>staging</code>, <code>testing</code>, <code>e2e_testing</code>, <code>development</code></td><td>Non</td><td>Non</td><td>Oui</td></tr><tr><td>--config-dir[=CONFIG-DIR]</td><td></td><td>Répertoire de configuration à utiliser (cette option est obsolète)</td><td>Non</td><td>Non</td><td>Oui</td></tr></tbody></table>

### `user:delete`

> Supprime un utilisateur

#### Argument

<table><thead><tr><th width="103">Nom</th><th>Description</th><th width="128">Requis</th></tr></thead><tbody><tr><td>username</td><td>Indique l'identifiant de l'utilisateur à supprimer</td><td>Oui</td></tr></tbody></table>

#### Option

<table><thead><tr><th width="237">Nom</th><th width="115">Raccourci</th><th width="271">Description</th><th width="101">Requis</th><th width="109">Tableau</th><th width="107">Négable</th></tr></thead><tbody><tr><td>--env=ENV</td><td></td><td>Environnement à utiliser. Les valeurs possibles sont : <code>production</code>, <code>staging</code>, <code>testing</code>, <code>e2e_testing</code>, <code>development</code></td><td>Non</td><td>Non</td><td>Oui</td></tr><tr><td>--config-dir[=CONFIG-DIR]</td><td></td><td>Répertoire de configuration à utiliser (cette option est obsolète)</td><td>Non</td><td>Non</td><td>Oui</td></tr></tbody></table>

### `user:disable`

> Désactive un utilisateur

#### Argument

<table><thead><tr><th width="103">Nom</th><th>Description</th><th width="128">Requis</th></tr></thead><tbody><tr><td>username</td><td>Indique l'identifiant de l'utilisateur à désactiver</td><td>Oui</td></tr></tbody></table>

#### Option

<table><thead><tr><th width="237">Nom</th><th width="115">Raccourci</th><th width="271">Description</th><th width="101">Requis</th><th width="109">Tableau</th><th width="107">Négable</th></tr></thead><tbody><tr><td>--env=ENV</td><td></td><td>Environnement à utiliser. Les valeurs possibles sont : <code>production</code>, <code>staging</code>, <code>testing</code>, <code>e2e_testing</code>, <code>development</code></td><td>Non</td><td>Non</td><td>Oui</td></tr><tr><td>--config-dir[=CONFIG-DIR]</td><td></td><td>Répertoire de configuration à utiliser (cette option est obsolète)</td><td>Non</td><td>Non</td><td>Oui</td></tr></tbody></table>

### `user:enable`

> Active un utilisateur

<table><thead><tr><th width="103">Nom</th><th>Description</th><th width="128">Requis</th></tr></thead><tbody><tr><td>username</td><td>Indique l'identifiant de l'utilisateur à activer</td><td>Oui</td></tr></tbody></table>

#### Options

<table><thead><tr><th width="237">Nom</th><th width="115">Raccourci</th><th width="271">Description</th><th width="101">Requis</th><th width="109">Tableau</th><th width="107">Négable</th></tr></thead><tbody><tr><td>--env=ENV</td><td></td><td>Environnement à utiliser. Les valeurs possibles sont : <code>production</code>, <code>staging</code>, <code>testing</code>, <code>e2e_testing</code>, <code>development</code></td><td>Non</td><td>Non</td><td>Oui</td></tr><tr><td>--config-dir[=CONFIG-DIR]</td><td></td><td>Répertoire de configuration à utiliser (cette option est obsolète)</td><td>Non</td><td>Non</td><td>Oui</td></tr></tbody></table>

### `user:grant`

> Attribue un profil à un utilisateur

<table><thead><tr><th width="103">Nom</th><th>Description</th><th width="128">Requis</th></tr></thead><tbody><tr><td>username</td><td>Indique l'identifiant de l'utilisateur dont le profil doit être modifié</td><td>Oui</td></tr></tbody></table>

#### Options

<table><thead><tr><th width="237">Nom</th><th width="115">Raccourci</th><th width="271">Description</th><th width="101">Requis</th><th width="109">Tableau</th><th width="107">Négable</th></tr></thead><tbody><tr><td>--profile= PROFILE</td><td>-p</td><td>Profil souhaitée</td><td>Oui</td><td></td><td></td></tr><tr><td>--entity=ENTITY</td><td>-e</td><td>Entité [default: 0]</td><td>Non</td><td></td><td></td></tr><tr><td>--recursive</td><td>-r</td><td>Recursivité du profil sur les sous-entités</td><td>Non</td><td></td><td></td></tr><tr><td>--env=ENV</td><td></td><td>Environnement à utiliser. Les valeurs possibles sont : <code>production</code>, <code>staging</code>, <code>testing</code>, <code>e2e_testing</code>, <code>development</code></td><td>Non</td><td>Non</td><td>Oui</td></tr><tr><td>--config-dir[=CONFIG-DIR]</td><td></td><td>Répertoire de configuration à utiliser (cette option est obsolète)</td><td>Non</td><td>Non</td><td>Oui</td></tr></tbody></table>

### `user:reset_password`

> Réintialise le mot de passe d'un utilisateur en base interne

<table><thead><tr><th width="103">Nom</th><th>Description</th><th width="128">Requis</th></tr></thead><tbody><tr><td>username</td><td>Indique l'identifiant de l'utilisateur dont le mot de passe doit être réinitialiser</td><td>Oui</td></tr></tbody></table>

#### Options

<table><thead><tr><th width="237">Nom</th><th width="115">Raccourci</th><th width="271">Description</th><th width="101">Requis</th><th width="109">Tableau</th><th width="107">Négable</th></tr></thead><tbody><tr><td>--password[=PASSWORD]</td><td>-p</td><td>Indiquez le mot de passe</td><td>Non</td><td></td><td></td></tr><tr><td>--env=ENV</td><td></td><td>Environnement à utiliser. Les valeurs possibles sont : <code>production</code>, <code>staging</code>, <code>testing</code>, <code>e2e_testing</code>, <code>development</code></td><td>Non</td><td>Non</td><td>Oui</td></tr><tr><td>--config-dir[=CONFIG-DIR]</td><td></td><td>Répertoire de configuration à utiliser (cette option est obsolète)</td><td>Non</td><td>Non</td><td>Oui</td></tr></tbody></table>

***

[^1]: A remplacer par l'utlisateur autorisé à utiliser les services Web

[^2]: A modifier par le chemin de votre instance GLPI


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://help.glpi-project.org/glpi-12/fr/glpi-command-line-interface-cli/available-commands.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
