Page de statut Laravel qui affiche sans mesurer
Cachet est une page de statut auto-hébergée, écrite en PHP sur Laravel : la page publique où une équipe annonce qu'un service est dégradé, quels composants sont touchés et où en est la réparation. Dans sa version publiée, Cachet affiche un état sans le mesurer. Les statuts et les incidents arrivent par le tableau de bord, par l'API JSON ou par un outil de supervision branché sur cette API. Uptime Kuma, CheckCle et OneUptime prennent le chemin inverse : ils sondent eux-mêmes les services et publient leur page de statut à partir de ces mesures.
Le comparatif des outils de supervision et des pages de statut auto-hébergés range Cachet à part : sa version publiée affiche des statuts sans sonder elle-même les services.
Incidents à publication différée et abonnés par e-mail
Les fonctions ci-dessous sont celles de la branche 3.x, telles que sa documentation les décrit.
- Statuts nuancés : six statuts par composant, dont performances dégradées, panne partielle et maintenance. Un groupe de composants peut rester replié tant que tout va bien et s'ouvrir seul dès qu'un de ses composants n'est plus opérationnel.
- Incidents et maintenances préparés à l'avance : un incident passe par cinq étapes, de « signalé » à « résolu ». Un incident ou une maintenance peut porter une date de publication future : il reste invisible jusque-là, et les abonnés ne sont prévenus qu'à ce moment.
- API et serveur MCP : les jetons de l'API JSON sont limités par droit (
incidents.manage,schedules.manage...), et un serveur MCP, désactivé par défaut, laisse un agent IA gérer composants, incidents et maintenances. - Abonnés et webhooks : abonnements par e-mail avec confirmation de l'adresse, flux
/slack.rssqu'un canal Slack peut suivre, webhooks signés par un secret sur quinze types d'événements. - Métriques maison : l'équipe pousse ses propres points de mesure et Cachet les trace sur la page publique.
Licence maison sur la 3.x, dernière version publiée en 2023
Aucune sonde dans la version publiée. Cachet 2.4.1 n'interroge jamais les services qu'il affiche : la documentation v2 renvoie à des scripts tiers non maintenus par l'équipe (cachet-monitor, Zabbix-Cachet, un gestionnaire d'événements Nagios), et la 3.x importe les sites et les incidents récents d'Oh Dear. Depuis juin 2026, la branche 3.x a aussi une commande cachet:check, qui envoie une requête GET au lien des composants dont la vérification est activée et en déduit leur statut. Cette commande n'est pas planifiée par défaut, et la documentation ne la cite que dans son journal des modifications.
Un hébergement séparé du produit. La documentation de la 3.x demande un serveur, un fournisseur ou une région distincts de l'application suivie, avec sa propre base de données, pour que la panne du produit n'emporte pas la page qui l'annonce.
Une version 3 toujours en développement. La dernière version publiée reste la 2.4.1, du 7 novembre 2023, dont le composer.json exige PHP 7 et Laravel 5.7. La 3.x, annoncée en août 2023 et devenue la branche par défaut, est une réécriture sur Laravel 12 ou 13 et Filament 5. Son guide d'installation la réserve au développement, et la migration depuis la 2.4 n'est pas finalisée. Le dernier commit du paquet cachethq/core date du 5 octobre 2026.
Les prérequis de la 3.x. PHP 8.3, 8.4 ou 8.5, Composer, une base SQLite, MySQL, MariaDB 10.7+, PostgreSQL ou SQL Server, une tâche cron chaque minute pour le planificateur et, en production, un worker de file d'attente pour les e-mails. La seule installation documentée est manuelle : git clone, puis Composer.
Une licence maison sur la 3.x. Le site présente Cachet comme « 100% open source », mais la branche 3.x est sous la « Cachet license » d'Alt Three Services, et son composer.json déclare proprietary. Ce texte autorise l'usage commercial, la modification et l'intégration à ses propres projets, mais interdit de distribuer Cachet comme produit autonome, modifié ou non. La 2.4.1 est publiée sous BSD-3-Clause. Sur la branche 2.4, le fichier LICENSE est passé au texte MIT en mars 2024, après cette dernière version, alors que le composer.json annonce toujours BSD-3-Clause.
