Supervision Drupal
Méthode du score
Comment Sentinel calcule le score de maintenance d'un site (de 0 à 100) et sa note (de A à E). Ces règles sont les mêmes pour tous les sites ; cette page ne présente les données d'aucun client.
Ce que mesure la note
La note dit si les mises à jour de sécurité sont faites dans les délais. Une mise à jour à faire compte une fois ; une faille encore dans son délai pèse peu ; une faille en retard pèse plein.
Un site sans aucune mise à jour à faire obtient 100.
Une mise à jour à faire = une action
Les failles d'un même module (ou d'une même bibliothèque) forment une seule action : la mise à jour du module les règle toutes. Une action ne pèse qu'une fois, même si le module cumule dix avis. Un projet abandonné est une action comme une autre.
Les délais
Chaque faille a un délai pour être corrigée. Ces délais sont fixes et identiques pour tous les sites ; ils ne dépendent pas des réglages de votre organisation.
| Sévérité de la faille | Délai pour corriger |
|---|---|
| Critique (ou faille activement exploitée) | 7 jours |
| Élevée | 30 jours |
| Modérée | 90 jours |
| Faible | 90 jours |
Le délai court à partir de la date de publication de l'avis ; à défaut, à partir de la première détection de la faille sur le site. Une faille est en retard quand son âge atteint le délai. Une action est en retard dès qu'une de ses failles l'est ; sa sévérité est alors celle de la pire de ses failles en retard.
La fourchette fixée par la pire situation
| Pire situation | Score maximal (plafond) | Score minimal (plancher) |
|---|---|---|
| En retard sur une faille critique | 69 (D) | 50 (E) |
| En retard sur une faille élevée | 82 (B) | 70 (C) |
| En retard sur une faille modérée | 89 (B) | 78 (C) |
| En retard sur une faille faible | 95 (A) | 85 (B) |
| Tout dans le délai, avec une faille critique | 89 (B) | 80 (B) |
| Tout dans le délai, sans faille critique | 97 (A) | 88 (B) |
Aucune action à faire : 100. Tant que la pire situation dure, le score ne dépasse pas le plafond de sa fourchette.
Une faille critique encore dans son délai borne toujours la fourchette de 89 à 80 au plus, même si elle se trouve dans un module déjà en retard pour une autre faille : ajouter un retard ne fait jamais monter la note.
Le poids d'une action
| Sévérité de l'action | Poids en retard | Poids dans le délai |
|---|---|---|
| Critique | 8 | 2 |
| Élevée | 4 | 1 |
| Modérée | 2 | 0,5 |
| Faible | 1 | 0,25 |
Le poids d'une action en retard n'est jamais inférieur au poids « dans le délai » de sa pire faille : une faille critique dans son délai et une faible en retard dans le même module pèsent donc autant qu'une critique dans son délai, pas moins.
La formule
Les poids de toutes les actions s'additionnent en une charge. Le score part du plafond de la fourchette et perd une part de l'écart entre plafond et plancher, d'autant plus grande que la charge est lourde :
score = plafond − (plafond − plancher) × (1 − exp(−charge / 25)), arrondi
Les premières actions coûtent le plus de points, puis chaque action supplémentaire en retire un peu moins, jusqu'au plancher. Corriger une action de plus ne rapporte alors rien tant que la même pire situation demeure : c'est le changement de fourchette qui fait réellement monter la note.
Le plafond de fin de vie
Si la version majeure de Drupal utilisée par un site n'est plus maintenue (par exemple Drupal 7), son score ne peut pas dépasser un plafond, d'autant plus bas que la fin de vie est ancienne. Cette fin de vie n'ajoute aucun poids à la charge : elle agit seulement par ce plafond. Une branche mineure qui ne reçoit plus de correctifs de sécurité n'entraîne pas ce plafond : elle est comptée comme une faille de sévérité élevée. Le plafond s'applique en plus de la fourchette : c'est le plus bas des deux qui compte.
- 60 — cœur Drupal en fin de vie depuis moins d'un an
- 45 — cœur Drupal en fin de vie depuis un à trois ans
- 30 — cœur Drupal en fin de vie depuis plus de trois ans
Ce qui compte, ce qui ne compte pas
- Les failles publiées sur le cœur Drupal, les modules actifs et les bibliothèques.
- Une faille connue comme activement exploitée est comptée comme critique.
- Gravité des avis drupal.org, lue sur leur note de risque : « Highly critical » et « Critical » comptent comme critique, « Moderately critical » comme modérée, « Less critical » et « Not critical » comme faible. La fiche d'une faille et la fiche d'un module affichent cette gravité source à côté de la nôtre.
- Une faille que sa source n'a pas classée, mais qu'une mise à jour de sécurité drupal.org corrige, est comptée comme élevée.
- Une version majeure de Drupal en fin de vie : aucun poids, elle agit par le plafond de fin de vie.
- Une branche qui ne reçoit plus de correctifs de sécurité, ou un PHP en fin de vie : élevée, sans plafond.
- Un projet abandonné : modérée.
- Sévérité inconnue : la faille est comptée comme élevée, par prudence.
- Les annonces de sécurité (PSA) : une annonce n'est pas une faille.
- Tous les constats d'un module entièrement désactivé (failles, branche hors support, projet abandonné).
- Les contrôles de posture (durcissement interne), suivis à part.
- La fin de vie prochaine du cœur Drupal ou de PHP : ils reçoivent encore tous leurs correctifs.
- Une collecte interrompue : l'absence de nouvelles données ne fait pas baisser la note, qui reste fondée sur le dernier inventaire reçu. Le constat de silence qui la signale ne pèse pas sur la note.
- Un inventaire douteux : le constat qui le signale ne pèse pas lui-même sur la note ; il indique une collecte à vérifier.
- Les décisions de gouvernance (risque accepté, report, faux positif) : elles documentent un choix sans effet sur la note. Une faille acceptée reste comptée tant qu'elle est ouverte.
Les notes
| Note | Score | Lecture |
|---|---|---|
| A | 90 à 100 | Excellent |
| B | 80 à 89 | Bon |
| C | 70 à 79 | Correct |
| D | 55 à 69 | Fragile |
| E | moins de 55 | Critique |
Un site qui n'a encore envoyé aucune collecte n'a pas de note : il est affiché « Non évalué ».
Sans faille critique en retard ni cœur en fin de vie, jamais en dessous de C. Le plancher d'une faille élevée en retard (70) atteint le seuil de la note C (70). Seule une faille critique en retard, ou le plafond de fin de vie décrit dans « Le plafond de fin de vie », peut donc faire descendre la note en dessous de C.
Un exemple
Un site a une faille critique en retard sur le module webform, plus une faille élevée (gin) et une modérée (easy_breadcrumb) encore dans leur délai. Son score est 63. Une fois webform mis à jour, il ne reste que les deux actions dans le délai : le score passe à 96, soit +33 points pour une seule mise à jour.
Historique des règles
Les règles de calcul évoluent ; chaque évolution reçoit un numéro de version. Les règles décrites sur cette page sont celles de la version 6.
| Version | Date du barème | Évolution |
|---|---|---|
| 6 · en vigueur | 16/10/2026 | Score de maintenance : une mise à jour à faire compte une fois, une faille dans son délai pèse peu, délais fixes publics, plafond fin de vie 60/45/30. |
| 5 | 01/10/2026 | Gravité des avis drupal.org lue sur leur note de risque : « Highly critical » et « Critical » comptent comme critiques, « Less critical » et « Not critical » comme faibles. Le relèvement à « élevée » par une mise à jour de sécurité ne vaut plus que pour les failles sans gravité publiée. |
| 4 | 08/08/2026 | Ajout du pilier posture (durcissement interne), suivi à part : ses constats n'entrent pas dans la note. |
| 3 | 08/08/2026 | Ajout des constats de fin de vie du runtime PHP, atteinte ou proche. |
| 2 | 30/07/2026 | Ajout des constats de perte de couverture (branches hors support, projets abandonnés) et d'anticipation de fin de vie du cœur Drupal. |
| 1 | origine | Barème d'origine : failles de sécurité, cœur Drupal en fin de vie, état des mises à jour. |
Les PDF déjà envoyés gardent les chiffres de leur version : ils ne sont pas recalculés.
Lorsque les règles changent, une variation de score peut venir de la méthode et non du site. Les alertes de baisse de score et la tendance ne comparent donc que des scores de même version. Le bloc « Évolution » du rapport et les rapports mensuel et trimestriel comparent l'historique recalculé (voir « Historique recalculé ») ; les scores d'origine restent visibles sur la courbe, en pointillés, et dans l'export CSV du score.
Historique recalculé
La courbe d'évolution d'un site, le bloc « Évolution » du rapport et le score « avant → après » des rapports mensuel et trimestriel sont recalculés avec les règles de la version 6 : pour chaque relevé, Sentinel reprend les failles ouvertes à cet instant (dates de détection, de correction et de réouverture) et leur applique les règles en vigueur. Un changement de règles ne crée donc pas de saut dans la courbe. Les scores d'origine restent visibles en pointillés et dans l'export CSV. Un score recalculé ne déclenche jamais d'alerte de baisse.
- Gravité d'alors : une faille corrigée avant la version 5 garde la gravité qu'elle avait à sa correction ; la période concernée est signalée sous la courbe. Exemple : une faille corrigée le 22/09 alors que Sentinel la classait « Élevée », et que drupal.org classe « Modérée », reste « Élevée » dans l'historique ; la Chronologie du site et la carte « Corrigé (30 j) » l'indiquent ainsi : « Élevée à la correction · Modérée aujourd'hui ». Une faille encore ouverte, détectée avant la version 5, n'affiche que sa gravité du jour (« Modérée aujourd'hui »).
- État actuel des modules : un module désactivé aujourd'hui est retiré de tout l'historique, l'activation passée des modules n'étant pas conservée.
- Constats écartés : les relevés écartés (poste de développement, doublons fusionnés) n'apparaissent plus dans l'historique.
- Réouvertures : seul le dernier épisode d'une faille rouverte est connu ; avant lui, la faille est considérée comme ouverte (son dernier épisode reste exact).
Performance et environnement
Ces indicateurs sont séparés du score de maintenance : ils ne le modifient pas et n'y entrent pas.
Ce qui est mesuré
Une fois par nuit, Sentinel demande à Google (PageSpeed Insights) d'analyser la page d'accueil de chaque site en production, public et en https, en mobile puis en ordinateur. Les autres sites ne sont pas mesurés, et leur tuile le dit. Aucune note globale n'est calculée : le score de maintenance reste séparé.
Les seuils de lecture
Les seuils sont ceux de Google. Le score de performance est bon à partir de 90, à améliorer à partir de 50, médiocre en dessous.
- Affichage du contenu principal (LCP) : bon jusqu'à 2 500 ms, à améliorer jusqu'à 4 000 ms.
- Stabilité de la mise en page (CLS) : bon jusqu'à 0,10, à améliorer jusqu'à 0,25.
- Réactivité aux interactions (INP) : bon jusqu'à 200 ms, à améliorer jusqu'à 500 ms.
Mesure réelle ou de laboratoire
Une mesure est dite « réelle » quand Google dispose de données de vrais visiteurs pour cette page précise, avec au moins le LCP et le CLS. Si Google ne connaît que le domaine entier, ou ne connaît pas assez de visites, la mesure est de laboratoire pour toute la stratégie concernée. Une mesure de laboratoire est simulée par Google : elle est toujours signalée comme telle et n'est jamais présentée comme réelle. L'INP n'existe qu'en mesure réelle ; il est absent en laboratoire.
Impact environnemental
L'impact est une estimation, pas une mesure : elle applique le modèle Sustainable Web Design (version 4) de la bibliothèque CO2.js au poids de la page d'accueil mesuré en ordinateur. Le modèle additionne l'énergie de 6 postes (centre de données, réseau et appareil, en fonctionnement et en fabrication), soit 0,300 kWh par Go, puis applique une intensité carbone de 494 g de CO2e par kWh. L'hébergement est supposé non vert : Sentinel ne vérifie pas l'hébergeur.
La note va de A+ à F, selon les grammes de CO2e par visite :
- A+ : jusqu'à 0,040 g
- A : jusqu'à 0,079 g
- B : jusqu'à 0,145 g
- C : jusqu'à 0,209 g
- D : jusqu'à 0,278 g
- E : jusqu'à 0,359 g
- F : au-delà de 0,359 g
Attribution
CO2.js, Green Web Foundation, licence Apache 2.0.
Ce n'est pas l'EcoIndex : les conditions d'usage de ce service interdisent l'automatisation et l'usage commercial, et son outil officiel est sous licence non commerciale. Sentinel utilise donc un modèle libre, et sa note n'est jamais présentée comme celle de ce service.