Des parcours, pas des sondes HTTP
Ouvrir, se connecter, chercher, acheter : vos parcours sont des flows Maestro exécutés sur de vrais appareils, pas des requêtes sur une API. C'est la seule façon de savoir qu'un bouton répond encore.
Un serveur qui répond 200 ne prouve pas que le bouton « Payer » fonctionne. Sentinelle rejoue vos parcours sur de vrais Android, à intervalle régulier, et vous alerte avec le screenshot de l'étape en échec.
Sans carte bancaire pour commencer. Paiement sécurisé par Stripe quand vous changez d'offre.
L'incident s'ouvre à 09:12, l'alerte part à 09:14 avec la capture de l'étape en échec, le rétablissement tombe à 09:31.
Exemple de page de statut. Le passage réel de 24 h sur une app de démo reste à valider.
Un échec isolé n'est pas une panne : il est revérifié immédiatement sur un autre appareil. L'alerte ne part que si les deux échouent, et elle arrive avec la preuve de l'étape en échec — pas une notification qu'il faut aller expliquer.
« Payer » ne répond plus sur le Redmi 12. La capture de l'étape est prise, le YAML et le logcat sont conservés.
Le même parcours repart sur un Galaxy A14. Pas de fausse alerte : un échec isolé ne réveille personne.
Le second échec confirme. L'alerte porte le screenshot de l'étape en échec, `steps.json`, `logcat.txt` et `maestro.log`, sous URL signée.
Le parcours repasse au vert — vos clients, eux, n'ont rien vu.
L'alerte « rétabli » part au premier passage réussi. L'incident garde ses preuves, même refermé.
Dix-neuf minutes entre la première alerte et le rétablissement, sur un exemple de passage.
Ouvrir, se connecter, chercher, acheter : vos parcours sont des flows Maestro exécutés sur de vrais appareils, pas des requêtes sur une API. C'est la seule façon de savoir qu'un bouton répond encore.
Un échec isolé est revérifié immédiatement sur un autre appareil. L'alerte ne part que si les deux échouent, et une alerte « rétabli » part au premier passage réussi. Un parcours instable ne réveille personne deux fois.
Si l'appareil est occupé, le passage est sauté : on ne rattrape pas la nuit en écrasant la file. La règle vient du kit de planification, et les passages sautés sont exclus du calcul de disponibilité.
24 h, 7 j et 30 j calculées depuis les passages réels, avec la durée de chaque étape. Un parcours réussi mais lent au-delà du seuil produit un `warning` : il se voit sur la page de statut, il ne réveille personne.
Screenshot de l'étape en échec, `steps.json`, `logcat.txt` et `maestro.log`, servis sous URL signée. Chaque incident garde ses preuves, y compris après sa résolution.
Optionnelle : un HTML autonome, sans JavaScript ni CDN, protégé par un lien secret de 32 octets et sans aucune URL d'artefact dedans. Elle s'ouvre hors ligne.
La disponibilité est calculée depuis les passages réels, sur 24 h, 7 j et 30 j. Un parcours réussi mais lent au-delà de son seuil produit un avertissement : il se voit ici, il ne réveille personne.
Avec un parcours de 90 s : Pro = 2 appareils, Business = 14.
Un passage sauté — appareil occupé, règle « sauté, pas empilé » — est compté à part et exclu du calcul : c'est une panne de nos appareils, pas de votre app.
Optionnelle : un HTML autonome, sans JavaScript ni CDN, sous un lien secret de 32 octets et sans aucune URL d'artefact dedans. Elle s'ouvre hors ligne.
| Connexion | 99,9 % | ok |
| Recherche | 99,8 % | ok |
| Panier → paiement | 98,1 % | warning |
Incident ouvert le 04/10 à 09:12 — référencé, refermé à 09:31. 1 avertissement de durée sur 24 h.
Pas aujourd'hui : côté socle, le job `flow` accepte `record_video` mais n'enregistre rien — seul un job `capture` enregistre l'écran. La preuve livrée est le screenshot par étape, `steps.json`, `logcat.txt` et `maestro.log`. La vidéo dépend d'une capacité du socle encore absente.
Non : `install` n'installe qu'un APK. Une app sans `apk_url` doit déjà être présente sur l'appareil, et `keep_packages` la protège de la remise à zéro.
Non, l'option n'est pas vendue : aucun appareil n'expose la capacité `sim` au socle. Servir du Wi-Fi en annonçant de la 4G serait un mensonge, et un client s'en apercevrait au premier test.
La capacité est calculée, pas promise. Avec un parcours de 90 s toutes les 5 min, l'offre Pro tient sur 2 appareils et l'offre Business sur 14 — pas plus. La fréquence est la contrainte forte, et `sentinelle capacity` donne le chiffre avant l'inscription.
Non. Un dépassement de `max_step_ms` produit un `warning`, visible sur la page de statut et dans l'historique. Un `warning` n'est pas un incident.
Un produit qui cache ses limites fait perdre du temps à tout le monde. Voici les nôtres, aujourd'hui.
Créez un compte, prenez une clé, lancez votre premier test. C'est gratuit pour commencer.