SecuAAS Docs
SecuMon

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

ChampTypeRequisDescription
iduuid(généré)Identifiant unique.
slugstringIdentifiant d'URL (web-prod).
titlestringTitre affiché.
descriptionstringDescription de la page.
custom_domainstringDomaine personnalisé (status.mon-entreprise.com).
logo_urlstringURL d'un logo.
custom_cssstringCSS personnalisé.
is_publicbooléenPage accessible publiquement. Défaut : true.
show_history_daysentierProfondeur d'historique affichée. Défaut : 90.
componentstableau JSONComposants suivis (initialisé à []).
created_at / updated_atdate(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 : owner et admin.

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-pagesslug 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/api

Ces routes publiques ne sont pas sous /api/v2 et 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: false tant que la page est en préparation : elle reste alors invisible au public (les routes publiques renvoient un refus).
  • Choisissez un slug court et stable : il devient l'URL publique de la page.
  • Ajustez show_history_days selon ce que vous souhaitez exposer (30, 60 ou 90 jours d'historique).

On this page