Pages de statut
Publiez une page de statut publique : slug, composants, visibilité, domaine personnalisé, badges et flux RSS.
À quoi ça sert
Une page de statut communique l'état de vos services à vos utilisateurs.
Elle est accessible publiquement via un slug (par ex.
status.secumon.secuaas.dev/web-prod), affiche l'état de vos composants et
l'historique des incidents. Vous la gérez depuis le portail ou l'API, et vos
visiteurs la consultent sans authentification.
Le modèle d'une page de statut
| Champ | Type | Requis | Description |
|---|---|---|---|
id | uuid | (généré) | Identifiant unique. |
slug | string | ✅ | Identifiant d'URL (web-prod). |
title | string | ✅ | Titre affiché. |
description | string | — | Description de la page. |
custom_domain | string | — | Domaine personnalisé (status.mon-entreprise.com). |
logo_url | string | — | URL d'un logo. |
custom_css | string | — | CSS personnalisé. |
is_public | booléen | — | Page accessible publiquement. Défaut : true. |
show_history_days | entier | — | Profondeur d'historique affichée. Défaut : 90. |
components | tableau JSON | — | Composants suivis (initialisé à []). |
created_at / updated_at | date | (géré) | Horodatages. |
L'état d'un composant prend l'une des valeurs : operational, degraded,
partial_outage, major_outage, maintenance.
Utilisation via le portail
La section Status pages liste vos pages. Vous pouvez créer une page (slug, titre, visibilité), éditer son apparence et ses composants, et la supprimer. Une fois publiée et publique, elle est consultable par vos utilisateurs.
Lister et consulter : tous les rôles. Créer, éditer, supprimer :
owneretadmin.
Utilisation via l'API (gestion)
Lister
GET /api/v2/status-pages
curl -s https://api.secumon.secuaas.ovh/api/v2/status-pages \
-H "Authorization: Bearer $SECUMON_TOKEN"{
"count": 1,
"status_pages": [
{
"id": "abcd1234-5678-4abc-9def-0011aabbccdd",
"slug": "web-prod",
"title": "Statut des services web",
"is_public": true,
"show_history_days": 90
}
]
}Créer
POST /api/v2/status-pages — slug et title requis.
curl -s -X POST https://api.secumon.secuaas.ovh/api/v2/status-pages \
-H "Authorization: Bearer $SECUMON_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"slug": "web-prod",
"title": "Statut des services web",
"description": "Disponibilité de nos services web en production.",
"is_public": true,
"show_history_days": 90
}'Réponse : 201 Created avec la page.
Consulter, modifier, supprimer
# Détail
curl -s https://api.secumon.secuaas.ovh/api/v2/status-pages/abcd1234-5678-4abc-9def-0011aabbccdd \
-H "Authorization: Bearer $SECUMON_TOKEN"
# Modifier (champs partiels)
curl -s -X PUT https://api.secumon.secuaas.ovh/api/v2/status-pages/abcd1234-5678-4abc-9def-0011aabbccdd \
-H "Authorization: Bearer $SECUMON_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "title": "Statut — Services Web", "show_history_days": 60 }'
# Supprimer
curl -s -X DELETE https://api.secumon.secuaas.ovh/api/v2/status-pages/abcd1234-5678-4abc-9def-0011aabbccdd \
-H "Authorization: Bearer $SECUMON_TOKEN"La suppression renvoie 204 No Content.
Pages publiques (consultation)
Une fois une page créée et is_public: true, elle est servie publiquement,
sans jeton, via son slug :
- Page :
GET /status/<slug>— renvoie la page (JSON, ou redirection vers l'affichage web si le navigateur demande du HTML). - API publique :
GET /status/<slug>/api— toujours du JSON. - Badge :
GET /status/<slug>/badge/<composant>— un badge SVG (compatible shields.io) reflétant l'état d'un composant. - Flux RSS :
GET /status/<slug>/rss— les incidents récents au format RSS 2.0.
# Exemple : badge SVG du composant "api"
curl -s https://api.secumon.secuaas.ovh/status/web-prod/badge/apiCes routes publiques ne sont pas sous
/api/v2et ne requièrent aucune authentification : elles sont destinées à vos visiteurs.
Cas d'usage
- Communication d'incident : afficher en temps réel l'état dégradé d'un service et l'historique de l'incident à vos clients.
- Badge dans un README : intégrer le badge SVG d'un composant dans votre documentation ou votre dépôt.
- Abonnement RSS : permettre à vos utilisateurs de suivre les incidents via un lecteur de flux.
Astuces
- Mettez
is_public: falsetant que la page est en préparation : elle reste alors invisible au public (les routes publiques renvoient un refus). - Choisissez un
slugcourt et stable : il devient l'URL publique de la page. - Ajustez
show_history_daysselon ce que vous souhaitez exposer (30, 60 ou 90 jours d'historique).