> For the complete documentation index, see [llms.txt](https://athome-1.gitbook.io/athome-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://athome-1.gitbook.io/athome-docs/doc-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.&#x20;

* **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://779199212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTgrxMtr6mpTz5PY5L7SR%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

### &#x20;`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></p><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></p><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
