# Comment mettre à jour GLPI

{% embed url="<https://www.youtube.com/watch?v=TR-NRIErTP8>" %}

Cette page explique comment mettre à jour GLPI vers une nouvelle version.

* [**Notes de version sur GitHub**](https://github.com/glpi-project/glpi/releases)

{% hint style="warning" %}
Cette procédure s'appuie sur l'installation de GLPI effectuée dans l'article suivant :\
\ <a href="/pages/6h3cgiJlkPU6iy10pUWa" class="button secondary">Installer GLPI sur Ubuntu</a>&#x20;
{% endhint %}

## Mise à jour de GLPI Network Cloud

***

Si vous avez souscrit à une offre [GLPI Network Cloud](https://glpi-network.cloud/fr/), nous mettrons automatiquement à jour votre instance GLPI à chaque nouvelle version ; aucune action de votre part n'est requise (si vous utilisez l'offre [GLPI Network Cloud Private](https://glpi-network.cloud/fr/private-cloud/) ; les mises à jour sont faites sur demande).

Le délai de mise à jour de votre instance dépend du type de version :

* Correctifs de sécurité : une semaine avant la sortie publique
* Versions mineures (par exemple, de 10.0.18 à 10.0.19) : généralement environ une semaine
* Versions majeures (par exemple, de 10.0.20 à 11.0.0) : plus long, généralement plusieurs mois (pour garantir le bon fonctionnement)

Si vous êtes clients de GLPI Network Cloud Private vous pouvez demander une mise à jour sur votre [support habituel](https://support.teclib.com/).  Veuillez indiquer l'URL de l'instance GLPI Network Cloud que vous souhaitez mettre à niveau.

## Mise à jour de GLPI auto-hébergé

***

{% hint style="success" %}
Cette page décrit le processus de mise à jour d'une instance installée suite à [cet article](/tutorials/fr/procedures/install_glpi.md). Si votre **installation a suivi des étapes différentes, veillez à adapter les commandes et les chemins d'accès à votre environnement.**
{% endhint %}

Voici les étapes de mise à jour vers une nouvelle version de GLPI (majeure ou mineure) :

1. **Sauvegarde de la base de données et des fichiers GLPI**

La base de données de l'application conserve la trace de l'ensemble de votre instance GLPI. Il est très peu probable que vous ayez besoin de revenir à votre version actuelle, mais il est toujours utile de pouvoir y revenir en cas de problème.

{% hint style="warning" %}
N'essayez jamais d'importer une sauvegarde de base de données GLPI vers une version différente sans utiliser les scripts de mise à jour fournis ici.

N'essayez pas de restaurer une sauvegarde de base de données sur une base de données non vide (par exemple, une base de données partiellement migrée pour une raison quelconque).

Assurez-vous que votre base de données est vide avant de restaurer votre sauvegarde et essayez de la mettre à jour, puis répétez l'opération en cas d'échec.
{% endhint %}

2. **Téléchargez la dernière version de GLPI**

Sur <https://glpi-project.org/downloads/>, recherchez la dernière version, téléchargez-la sur votre serveur et extrayez-la dans un dossier vide où votre serveur web pourra la trouver.

```sh
wget https://github.com/glpi-project/glpi/releases/download/x.x.x/glpi-x.x.x.tgz
```

3. **Assurez-vous que le répertoire cible est vide et extrayez les fichiers.**

```sh
cd /var/www/html
tar -xzf glpi-x.x.x.tgz
```

4. **Restaurez le fichier downstream.php précédemment sauvegardé.**

{% hint style="success" %}
Ce procedure suit **la hiérarchie standard des systèmes de fichiers (FHS)** afin de séparer clairement les éléments critiques : fichiers de configuration **(dont la clé de chiffrement)**, sources applicatives, données variables et journaux.&#x20;

Cette organisation renforce **la sécurité et la maintenabilité de l’instance**. Pour plus d’informations, consultez [l’article d’installation](/tutorials/fr/procedures/install_glpi.md#repartition-de-la-hierarchie-du-systeme-de-fichiers).
{% endhint %}

```sh
cp ..glpibackup/inc/downstream.php /var/www/html/glpi/inc
```

4. **Mettre à jour GLPI**

Ouvrez l'URL de l'instance GLPI dans votre navigateur ou (recommandé) utilisez l'outil de [ligne de commande](https://glpi-install.readthedocs.io/fr/latest/command-line.html) `php bin/console db:update`.

L'outil de ligne de commande vérifiera l'intégrité de votre base de données afin d'identifier les modifications susceptibles de compromettre la mise à jour et exécutera des migrations pour mettre à jour GLPI.

{% hint style="warning" %}
Dès qu'une nouvelle version des fichiers GLPI est détectée, vous ne pourrez plus utiliser l'application tant que le processus de mise à jour n'est pas terminé.
{% endhint %}

6. [**Mettre à jour et activer les plugins**](/tutorials/fr/plugins/install-update_plugins.md)

{% hint style="info" %}
La mise à jour désactivera automatiquement vos plugins. N'oubliez donc pas de les réactiver après la mise à jour.
{% endhint %}

***

## Migration spécique des plugins de GLPI 10 vers GLPI 11

Vous trouverez ici la procédure pour migrer GLPI10 vers GLPI11 ainsi que les plugins suivants :

* **Generic Objects** (désormais inclus dans le core)
* **Fields** (nécessaire si vous utilisez Fields avec FormCreator)
* **FormCreator** (désormais inclus dans le core)

{% hint style="warning" %}
Nous vous recommandons de mettre à jours ces 3 plugins avant d'entamer votre migration. Cela vous évitera d'avoir à installer les plugins sur votre nouvelle instance afin de préparer leur migration. Fields, quant à lui devra être installé dans tous les cas.
{% endhint %}

{% hint style="warning" %}
Si vous possédez deux plugins ou plus parmi ceux listés ci-dessus, migrez-les dans l'ordre indiqué.
{% endhint %}

{% hint style="success" %}
Si vous utilisez une [version Cloud](https://www.glpi-project.org/fr/pricing/), la migration des plugins sera automatique. La migration de GLPI 10 vers GLPI 11 sera disponible sur demande uniquement (prochainement).
{% endhint %}

## Migration des plugins

{% hint style="warning" %}
Si vous disposez de 2 ou plusieurs plugins mentionnés ci-dessus, migrez les dans l’ordre indiqué
{% endhint %}

### Generic objects

* **Si votre plugin n'était pas à jour avant la migration** **(version avant 2.14.14)**, veuillez télécharger et activer le plugin depuis le marketplace. Sinon rendez-vous au paragraphe "Entrez la commande suivante"

<div align="left"><figure><img src="/files/M0yu4jOt7y8PfESSsxsK" alt=""><figcaption><p>Plugin Generic Objects installé et activé</p></figcaption></figure></div>

{% hint style="warning" %}
Si vous effectuez une migration vers une nouvelle instance, pensez à copier les fichiers du plugin depuis le dossier `/files/_plugins/genericobject` vers le nouveau dossier `/files/_plugins` de votre nouvelle instance
{% endhint %}

En cliquant sur la clé à molette, vous pourrez visualiser les éléments détectés par le plugin qui seront migrés

<figure><img src="/files/NRz29WeILPPmCrMhEh8o" alt=""><figcaption><p>Etapes de migration</p></figcaption></figure>

<figure><img src="/files/YaqSVedKl7nWzLVrkG1U" alt=""><figcaption><p>Eléments à migrer vers actifs personnalisés</p></figcaption></figure>

* Entrez la commande&#x20;

Pour Ubuntu et consort :&#x20;

```
sudo -u www-data php bin/console migration:genericobject_plugin_to_core
```

Pour CentOS et consort :&#x20;

```
sudo -u apache php bin/console migration:genericobject_plugin_to_core
```

Le traitement peut prendre du temps si vous avez beaucoup de données de migrer.\
Vous devriez obtenir un résultat similaire à celui-ci :

```php
[============================] 100%

> 2 actifs personnalisés importés avec succès.
> 1 "server" objets importés avec succès.
> 1 "videoprojector" objets importés avec succès.

La migration est terminée.
🛈 Les préférences d’affichage et les recherches enregistrées liées à un type d’objet 
`genericobject` doivent être recréées manuellement.
✓ 6 items créés.
```

Les éléments migrés seront visibles depuis le parc ainsi que depuis le plugins Generic Objects.

<div align="left"><figure><img src="/files/QX6YOMwQkxecX6QWMo5I" alt=""><figcaption><p>Vérification post migration de Generic Objects</p></figcaption></figure></div>

***

### Fields

{% hint style="info" %}
Cette étape est nécessaire si vous utilisez Fields avec FormCreator
{% endhint %}

{% hint style="warning" %}
Si vous effectuez une migration vers une nouvelle instance, pensez à copier les fichiers du plugin depuis le dossier `/files/_plugins/fields` vers le nouveau dossier `/files/_plugins/`de votre nouvelle instance
{% endhint %}

Ce n’est pas une migration a proprement parlé mais il faut vous assurer que le plugins soit bien présent et activé

<div align="left"><figure><img src="/files/58jbrqHJSd2Ao4i4Ns4B" alt=""><figcaption><p>Plugin Fields installé et activé</p></figcaption></figure></div>

***

### FormCreator

* **Si votre plugin n'était pas à jour avant la migration** **(version avant 2.13.10)**, veuillez installer et activez le plugin FormCreator. Sinon rendez-vous au paragraphe "Entrez la commande suivante"

<div align="left"><figure><img src="/files/Qzc1UbK6YmaKcFSVb053" alt=""><figcaption><p>Plugin FormCreator intallé et activé</p></figcaption></figure></div>

Depuis **`Outils`** > **`Formcreator EOL Info`**, vous pouvez visualiser le nombre de formulaires à migrer et ceux nativement présents dans GLPI (au nombre de 2 par défaut)

<figure><img src="/files/HJxxBTfmFPrLBRPqW2i4" alt=""><figcaption><p>Etapes de migration</p></figcaption></figure>

<figure><img src="/files/JDyJvRzysLGHWUKkUSQ2" alt=""><figcaption><p>Nombre de formulaires à migrer</p></figcaption></figure>

* Entrez la commande suivante&#x20;

Pour Ubuntu et consort :&#x20;

```
sudo -u www-data php bin/console migration:formcreator_plugin_to_core
```

Pour CentOS et consort :&#x20;

```
sudo -u apache php bin/console migration:formcreator_plugin_to_core
```

Le traitement peut prendre du temps si vous avez beaucoup de données de migrer.\
Vous devriez obtenir un résultat similaire à celui-ci :

```php
[============================] 100%


La migration est terminée.
✓ 51 items créés.
✓ 21 items réutilisés.
```

Vous pourrez consulter le résultat depuis le status de migration via **`Outils`** > **`Formcreator EOL Info`**

<figure><img src="/files/lvrzrnA71NcTkbAAe0U9" alt=""><figcaption><p>Vérification post migration de Forms</p></figcaption></figure>

{% hint style="success" %}
Pensez à supprimer les plugins Generic objects et FormCreator qui ne seront plus utiles une fois la migration terminée
{% endhint %}

***

Vous trouverez ci-dessous une vidéo couvrant ce processus :

{% embed url="<https://www.youtube.com/watch?v=2E8T7C7XTJA>" %}


---

# Agent Instructions: 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:

```
GET https://help.glpi-project.org/tutorials/fr/procedures/updating-glpi.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
