Gestion des changements avec GLPI : le cycle de vie complet

Le cycle de vie complet des changements dans GLPI : de quelle section et colonne vient chaque donnée, comment modéliser des types de changement absents du cœur, une approbation qui bloque réellement l'avancement, et du SQL pour auditer les plans de retour arrière.

Un changement bien géré dans GLPI n'est pas celui qui a le plus de champs remplis, c'est celui que vous pouvez annuler à 2 h du matin quand il échoue. Ce guide parcourt le cycle de vie complet des changements dans GLPI : de quelle section et colonne vient chaque information, comment modéliser des types de changement que GLPI natif n'a pas, et les pièges que nous avons vus faire échouer des fenêtres de maintenance dans les environnements que nous exploitons pour des clients.

Le modèle de données derrière un changement

Tout changement vit dans la table glpi_changes. Au-delà des champs évidents (nom, contenu, urgence, impact, priorité), ce qui distingue un changement d'un ticket ordinaire, ce sont les colonnes de texte que GLPI expose dans la section analyse et plans du formulaire :

  • impactcontent - analyse d'impact : ce qui casse si cela tourne mal.
  • controlistcontent - liste de contrôle : points de vérification.
  • rolloutplancontent - plan de déploiement (le cœur l'étiquette « Deployment plan ») : le pas à pas du déploiement.
  • backoutplancontent - plan de retour arrière/rollback (le cœur l'étiquette « Backup plan ») : comment revenir en arrière.
  • checklistcontent - liste de contrôle de validation après implémentation.

Savoir que ces informations sont des colonnes distinctes, et non du texte libre dans la description, c'est ce qui permet d'auditer la gouvernance directement en base, comme nous le montrons plus bas.

« Type de changement » dans GLPI : le champ qui n'existe pas

L'erreur la plus courante de ceux qui viennent d'outils comme ServiceNow est de chercher un sélecteur « Type : Normal / Urgence / Standard ». Il n'existe pas dans GLPI natif. Le changement a une catégorie (itilcategories_id), une urgence, un impact et une priorité, mais pas de champ de type ITIL. Vous modélisez la classification avec des catégories ITIL dédiées, ce qui alimente aussi les rapports et les règles métier.

Classe ITILComment la modéliser dans GLPIApprobationExemple
NormalCatégorie « Changement > Normal » + validation obligatoireFormelle, avant implémentationMontée de version de GLPI, migration de serveur
UrgenceCatégorie « Changement > Urgence » + priorité Très hauteSimplifiée, possible a posterioriCorrection d'une CVE critique en production
Standard (pré-approuvé)Modèle de changement récurrent + validation dispenséePré-approuvé, sans nouveau tourRedémarrage de service, règle de pare-feu déjà homologuée

Le cycle de vie, statut par statut

GLPI fait passer le changement par sa propre machine à états, plus riche que celle du ticket. L'état courant se trouve dans la colonne status de glpi_changes :

  1. Nouveau (1) - enregistré sous Assistance > Changements, avec description, justification, impact et risque.
  2. Évaluation (4) - analyse d'impact et de risque ; remplissage des sections analyse et plans.
  3. Approbation (11) - tour de validation avec les approbateurs.
  4. Accepté (12), Test (13), Qualification (14) - planification et exécution des tâches (glpi_changetasks), chacune consignée dans la chronologie.
  5. Résolu (5) - revue après implémentation ; confirme le succès et consigne les leçons apprises.
  6. Clos (6) - documentation finale et clôture.

Chaque tâche de changement porte actiontime (temps réel) et state (à faire/fait), ce qui permet de comparer l'effort planifié à l'effort dépensé - une donnée que nous utilisons pour calibrer les estimations des fenêtres suivantes.

Approbation : validation native versus multiniveau

L'approbation native s'écrit dans glpi_changevalidations (statut 2 = en attente, 3 = approuvé, 4 = refusé). Le détail qui piège presque tout le monde : la validation de GLPI est informative, ce n'est pas une barrière. Rien n'empêche de faire passer le changement d'Approbation à Test alors que la validation est encore en attente ; GLPI ne bloque pas la transition. Si votre gouvernance exige que personne n'implémente sans approbation enregistrée, la validation native seule n'y suffit pas. C'est là qu'intervient Approval Flow, avec une approbation multiniveau et des routes conditionnelles qui bloquent réellement l'avancement.

Modèle de notification de la demande d'approbation

Sous Configuration > Notifications, le modèle de l'événement de validation de changement utilise les balises de GLPI. Un corps concis réduit les allers-retours :

Objet : [Changement ##change.id##] Approbation demandée - ##change.title##

Bonjour,

Un changement attend votre approbation.

Titre :     ##change.title##
Catégorie : ##change.category##
Urgence :   ##change.urgency##
Impact :    ##change.impact##
Priorité :  ##change.priority##

Description :
##change.content##

Approuver ou refuser sur :
##change.url##

Garder urgence, impact et priorité dans le corps évite à l'approbateur d'ouvrir le changement juste pour décider. Cela réduit le temps passé au statut Approbation, là où la plupart des fenêtres prennent du retard.

Diagnostic : changements sans plan de retour arrière

En exploitation, le champ que nous trouvons le plus souvent vide est précisément le plus critique : backoutplancontent. La section plans arrive repliée dans l'interface, donc le technicien remplit la description et les tâches mais jamais le plan de retour arrière, et la panne n'apparaît que lorsque le changement tourne mal et que personne ne sait revenir en arrière. Nous exécutons ce SELECT tous les vendredis, avant la fenêtre du week-end :

SELECT c.id,
       c.name AS changement,
       c.status,
       IF(c.backoutplancontent = '' OR c.backoutplancontent IS NULL,
          'SANS ROLLBACK', 'ok') AS plan_retour
FROM glpi_changes c
WHERE c.is_deleted = 0
  AND c.status NOT IN (5, 6)          -- exclut Résolu et Clos
ORDER BY c.date DESC;

Toute ligne avec SANS ROLLBACK est un changement qui ne devrait pas entrer en fenêtre. Nous en faisons une règle métier : sans plan de retour arrière renseigné, l'approbation ne passe pas.

Bonnes pratiques d'exploitation

  • Documentez backoutplancontent avant de demander l'approbation, pas après avoir implémenté.
  • Reliez le changement au problème d'origine (glpi_changes_problems) pour conserver la traçabilité cause racine vers action corrective.
  • Créez des modèles de changement pour les récurrents (standard) et dispensez-les de validation.
  • Planifiez hors des heures de pointe et enregistrez le actiontime réel pour calibrer les estimations.
  • Bouclez le cycle par la revue après implémentation, même quand tout s'est bien passé ; c'est ce qui devient base de connaissances.

Si l'exploitation a besoin d'une barrière d'approbation qui bloque réellement l'avancement et d'une gouvernance des changements auditable, le support NexTool configure ce flux avec le module Approval Flow sur le GLPI que vous utilisez déjà.


Révisé par l'équipe NexTool Solutions.

Questions fréquentes

Pas nativement. Le changement dans glpi_changes a une catégorie, une urgence, un impact et une priorité, mais pas de champ de type ITIL. Modélisez les classes avec des catégories ITIL dédiées (par ex. « Changement > Urgence ») et, pour les standard, avec des modèles de changement et une validation dispensée.

Dans la colonne backoutplancontent de la table glpi_changes, affichée dans le formulaire aux côtés de impactcontent, controlistcontent, rolloutplancontent et checklistcontent. Comme la section plans arrive repliée, ce champ reste souvent vide ; il vaut la peine de l'auditer en SQL.

Non. La validation dans glpi_changevalidations est informative ; GLPI n'empêche pas de faire passer le changement en Test ou Implémentation alors que la validation est encore en attente. Pour une barrière qui bloque l'avancement, utilisez l'approbation multiniveau (Approval Flow) ou des règles qui contrôlent la transition.

Chaque tâche dans glpi_changetasks a actiontime (durée) et state (à faire/fait). Additionner l'actiontime des tâches donne l'effort réel, que vous comparez à l'estimation pour calibrer les fenêtres suivantes.

Utilisez l'onglet Problèmes du changement ; le lien s'écrit dans glpi_changes_problems et conserve la traçabilité entre la cause racine identifiée et l'action corrective mise en œuvre.

La machine à états va de Nouveau (1), Évaluation (4), Approbation (11), Accepté (12), Test (13) et Qualification (14) jusqu'à Résolu (5) et Clos (6). C'est un cycle plus riche que celui du ticket, pensé pour la gouvernance.

Besoin d'aide ?