Aller au contenu

Notifications

RestoreProof vous prévient là où vous regardez déjà : dans Slack, Teams, Discord, Telegram, Matrix, par e-mail, ou chez vous grâce à un webhook signé. Chaque endroit où partent les messages s'appelle un canal. Vous en créez autant que vous voulez, et vous choisissez pour chacun les événements qui l'intéressent. Les types de canaux disponibles dépendent de votre offre.

Les canaux se gèrent dans Notifications, dans le menu de l'application. Tous les membres de l'organisation peuvent les consulter ; seuls les administrateurs peuvent en créer, en modifier ou en supprimer.

Cette page donne le fonctionnement commun. Chaque type de canal a sa page, avec les chemins de menu exacts, et deux pages détaillent le catalogue des événements et le format du message et la vérification de la signature pour le webhook.

Ce qui est envoyé, et ce qui ne l'est jamais

Un message dit ce qui s'est passé, sur quel plan et quel runner, à quelle heure, et donne un lien vers la page correspondante de l'application. Pour une exécution en échec, il peut reprendre le message d'erreur de la sonde qui a échoué, limité à 500 caractères.

Il ne contient jamais le contenu d'une sauvegarde, la sortie ou les journaux d'une sonde, les chemins de vos machines, les références de secrets ni les clés d'API. C'est la même règle que pour le reste du service : ce qui est sensible reste sur le runner.

L'adresse du webhook Slack, Teams ou Discord, le jeton d'un bot Telegram ou Matrix sont enregistrés chiffrés et ne sont plus jamais affichés après la création. Pour en changer, il faut les remplacer.

Créer un canal

  1. Ouvrez Notifications puis Ajouter un canal.
  2. Choisissez le type de canal. Chaque type renvoie vers sa page.
  3. Donnez-lui un nom (80 caractères au plus, unique dans votre organisation) et choisissez la langue des messages, français ou anglais.
  4. Collez l'adresse ou le jeton demandé, cochez les événements qui vous intéressent, puis créez le canal.
  5. Cliquez sur Envoyer un test : un message d'exemple part immédiatement, et l'application vous dit si le service de destination l'a accepté. Le test est limité à six par minute et par canal.

Un canal que le service de destination refuse (adresse périmée, bot retiré du groupe) apparaît avec son dernier test échoué et la raison, par exemple http 404.

Quels types de canaux selon l'offre

Il n'y a pas de limite au nombre de canaux : ce qui dépend de l'offre, c'est le type de canal que vous pouvez utiliser.

Type de canal Offres qui l'incluent
E-mail, webhook générique signé Toutes les offres
Discord, Telegram Starter et au-dessus
Slack, Microsoft Teams, Matrix Pro et au-dessus

L'offre Business les inclut tous. La page de chaque type indique à partir de quelle offre il est disponible.

Créer un canal d'un type que votre offre n'inclut pas est refusé, et l'application vous propose de changer d'offre. Dans le choix du type, ces types restent visibles, marqués de l'offre nécessaire.

Si vous passez à une offre inférieure

Les canaux dont le type n'est plus inclus ne sont pas supprimés : ils sont suspendus. Rien n'est envoyé par ces canaux, mais les événements restent visibles dans le centre de notifications. Pendant la suspension, vous ne pouvez ni réactiver le canal ni l'essayer avec Envoyer un test.

Le canal repart tout seul dès que votre offre inclut de nouveau son type, sans rien à refaire.

Combien d'e-mails par mois

Les canaux e-mail ont aussi un plafond mensuel, qui dépend de l'offre : 10 e-mails en Free, 100 en Starter, 1 000 en Pro, et aucune limite en Business. L'unité est un e-mail par destinataire : un événement envoyé à trois adresses compte pour trois.

Ne sont pas comptés : les messages de test, l'e-mail qui prévient les administrateurs qu'un canal est en panne, et l'e-mail de confirmation envoyé à une adresse extérieure. Les autres types de canaux n'ont pas de plafond de volume.

Le compteur repart de zéro au renouvellement mensuel du compteur d'exécutions, qui n'a pas forcément lieu le 1er du mois. L'application affiche la date, et l'usage (par exemple « 60 / 100 e-mails ce mois-ci »), dans Notifications.

Quand le plafond est atteint :

  • Un message qui ne tiendrait pas en entier dans ce qui reste n'est pas envoyé du tout, même partiellement. Il apparaît dans le journal avec l'état skipped et la raison email quota reached.
  • Un bandeau, dans le centre de notifications et dans Notifications, indique que les notifications par e-mail reprennent à la date de remise à zéro, et que tout reste visible dans l'application.
  • Les exécutions ne sont pas touchées, et les autres types de canaux continuent d'envoyer.

Un changement d'offre applique la nouvelle limite aussitôt, sans remettre le compteur à zéro.

Le centre de notifications

Indépendamment des canaux, l'application affiche une cloche dans l'en-tête, avec le nombre de notifications non lues. Un clic ouvre la liste des événements de l'organisation, du plus récent au plus ancien : un titre, l'heure, une couleur selon la gravité, et un lien vers l'objet concerné (l'exécution, le runner, la page de facturation).

Le centre liste tous les événements, qu'un canal y soit abonné ou non. Une organisation sans aucun canal, ou dont le quota d'e-mails du mois est épuisé, voit donc quand même ce qui s'est passé. Les événements y restent 30 jours.

Ce que chacun voit dépend de son rôle :

Événements Qui les voit
Exécutions, runners, quotas Tous les membres
Facturation, équipe, sécurité Les administrateurs seulement

L'état « lu » est personnel : Tout marquer comme lu remet à zéro votre compteur, et seulement le vôtre. Un collègue qui n'a rien ouvert garde ses notifications non lues.

Les types de canaux

Chaque section ci-dessous résume un type ; la page liée donne la marche à suivre complète.

Slack

Publie dans un canal Slack grâce à un webhook entrant : une URL à créer dans votre espace de travail. Voir Slack.

Microsoft Teams

Publie dans un canal Teams grâce à un flux de l'application Workflows. Les anciens connecteurs Office 365 ne fonctionnent plus. Voir Microsoft Teams.

Discord

Publie dans un salon Discord grâce à un webhook de salon. Voir Discord.

Telegram

Écrit dans un groupe, un canal ou une conversation avec votre propre bot, créé auprès de BotFather. Voir Telegram.

Matrix

Écrit dans un salon Matrix avec un compte de bot de votre serveur. Voir Matrix.

Webhook générique

Envoie un message JSON signé à votre propre adresse HTTPS. Les en-têtes webhook-id, webhook-timestamp et webhook-signature permettent de vérifier l'origine du message ; le secret de signature, de la forme whsec_…, est affiché une seule fois à la création. Voir Webhook générique et le format du message.

E-mail

Envoie des messages bilingues aux administrateurs de l'organisation ou à des adresses choisies, les adresses extérieures devant d'abord confirmer par un lien. Voir E-mail.

Les événements

Dix-sept événements existent, regroupés par thème. Le détail de chacun (quand il part, à quelle fréquence, s'il est coché par défaut) est dans le catalogue des événements.

  • Exécutions : run.failed, run.recovered, run.succeeded, run.warning, run.unclaimed.
  • Runners : runner.offline, runner.online, runner.signing_key_pending.
  • Quotas : quota.runs_80, quota.runs_exhausted.
  • Facturation : billing.payment_failed, billing.plan_changed, billing.subscription_cancelled.
  • Équipe : team.member_invited, team.member_joined, team.member_removed, security.two_factor_disabled.

Un nouveau canal démarre avec run.failed, run.recovered et run.unclaimed.

Les tentatives et les canaux en panne

Quand le service de destination ne répond pas, RestoreProof réessaie : six tentatives en tout, espacées de 15 secondes, 1 minute, 5 minutes, 10 minutes puis 15 minutes, soit environ 31 minutes. Un message qui n'a toujours pas pu partir 24 heures après l'événement est abandonné. Les refus définitifs (adresse inexistante, jeton révoqué) ne sont pas retentés.

RestoreProof espace aussi ses envois vers un même canal, d'environ une seconde, pour ne pas se faire bloquer par le service de destination.

Un canal qui échoue sans arrêt est mis en panne : après 20 événements de suite qui n'ont pas pu être livrés, ou en l'absence de toute livraison réussie pendant 24 heures. Les administrateurs en sont prévenus par e-mail, et le canal cesse d'envoyer. Une fois la cause corrigée (nouvelle adresse, bot de nouveau dans le groupe), ouvrez le canal et cliquez sur Réactiver. Les messages de test n'entrent pas dans ce décompte.

Vous pouvez aussi cliquer sur Mettre en pause pour suspendre un canal sans le supprimer, puis sur Reprendre pour le relancer. Les événements qui arrivent pendant la pause ne sont pas envoyés plus tard.

Le journal des envois

La page de chaque canal garde le journal de ses envois pendant 30 jours : pour chaque événement, son état, le nombre de tentatives, le code de réponse du service de destination et la raison d'un échec.

État Signification
delivered Livré.
retrying Une tentative a échoué, une autre est programmée.
failed Toutes les tentatives ont échoué.
rejected Le service de destination a refusé le message, sans espoir de réessai.
skipped Rien n'a été envoyé : canal en pause, suspendu (type non inclus dans l'offre) ou supprimé, runner revenu avant l'envoi, destinataires pas encore confirmés, ou quota d'e-mails du mois atteint.
expired Plus de 24 heures sont passées avant l'envoi.

Sur un envoi failed, rejected, expired ou skipped, Réessayer crée un nouvel envoi du même événement. Le canal doit être actif, ni en pause ni suspendu.

Et par l'API

Tout ce qui précède est aussi disponible par l'API : canaux, abonnements, test, rotation du secret et journal des envois.