Une astreinte inutile, c’est un téléphone qui sonne pour un événement que personne ne traitera avant le matin. Le filtre tient en une règle : la nuit et le week-end, on ne joint un humain que si une URL de la liste courte répond en erreur serveur (500, 502, 503, 504) ou ne répond pas, deux fois de suite, hors fenêtre de maintenance. Un 404 sur un article, un 401 sur la préproduction, une alerte de certificat à J+20 n’en font pas partie.
La liste courte, écrite avant le vendredi
Pour chaque client qui a acheté une astreinte, la fiche tient sur quelques lignes. Pas sur tout le site.
| URL | Code qui réveille | Code qui attend le matin |
|---|---|---|
Accueil https://example.com/ | 500, 502, 503, 504, délai sans réponse, deux fois | 301 vers la bonne canonique, 200 |
| Paiement ou devis | Même chose, y compris un 404 apparu sur cette URL précise | Lenteur sans erreur HTTP |
| Connexion admin, seulement si le contrat le dit | 500 ou page blanche | 401, 403, identifiants refusés (ce n’est pas une panne) |
| Blog, mentions, articles | Rien la nuit | 404, titre modifié, 200 |
| Préproduction | Rien, jamais vers le client | 401 d’authentification, noindex |
Une page qui renvoie 200 avec un contenu faux (page parquée, compte suspendu ) ne se voit pas avec le seul code. Ajoutez sur l’accueil un mot qui doit être présent, le nom du site dans le HTML. S’il disparaît, classez-le avec les réveils, pas avec les 200 rassurants.
Deux échecs, puis une personne
Un contrôle isolé qui échoue puis réussit trente secondes plus tard est un accroc. Le filtre demande deux échecs consécutifs sur la même URL avant de sortir du silence. La fréquence du contrôle doit être plus courte que le délai de prise en charge promis : surveiller toutes les heures une astreinte sous trente minutes ne tient pas. Choisissez l’intervalle en fonction de ce délai, comme dans choisir la fréquence de surveillance.
Le destinataire de nuit est une personne nommée, avec un remplaçant si elle n’accuse pas réception dans le délai écrit (quinze minutes, par exemple). Une liste de diffusion où chacun croit que l’autre regarde n’est pas une astreinte. Le canal de nuit est le téléphone ou un SMS, pas une boîte e-mail que personne n’ouvre avant 9 h. L’e-mail reste le canal du matin, pour tout ce qui n’est pas dans la liste courte.
Ce qui ne doit jamais sonner
La préproduction, les URL de test, les certificats qui expirent dans plus de sept jours, les rapports de positionnement, les sauvegardes terminées avec succès , les 404 d’une ressource isolée (favicon, une image). Un pic de requêtes qui ne fait pas tomber le code HTTP se lit le matin : le distinguer d’une panne est le sujet des requêtes HTTP trop nombreuses.
La maintenance annoncée se sort du filtre pour la durée du créneau. Vous prévenez le client, vous renvoyez un 503 avec Retry-After, vous suspendez la notification. Le 503 de maintenance et le 503 d’incident n’ont pas le même destinataire. La pose de ce code est décrite dans gérer une erreur 503. À l’heure de fin, le premier contrôle qui échoue encore redevient une alerte de nuit si le créneau est dépassé.
La fiche collée à l’astreinte
Le livrable est une fiche d’une page par client sous astreinte : URL courtes, codes qui réveillent, nom et téléphone de la personne, nom du remplaçant, canal du matin, fenêtre de silence en cours s’il y en a une. Elle est dans le dossier du client et dans le téléphone de la personne d’astreinte. Le lundi, vous relisez les alertes qui n’ont pas réveillé : si un vrai incident s’y trouve, la liste courte est trop étroite. Si la nuit a sonné pour un favicon, elle est trop large. Vous corrigez la fiche. Vous n’ajoutez pas un deuxième outil pour compenser une liste que personne n’a écrite.
Les sites sans astreinte vendue restent sur le canal du matin. Les mélanger au cas où épuise l’équipe et rend le vrai appel invisible. Le cadre du week-end, côté organisation, rejoint les incidents web le week-end : ici, le document qui compte est le filtre, pas le récit de la nuit.
