Utilisateur·ice·s de Kresus

Comment recevoir des notifications autrement que par email?

Bonjour,

Tout d’abord, je tiens à vous remercier pour votre implication dans
l’implication de Kresus, j’en suis très satisfait !

J’aimerais recevoir des notifications non pas par mail, mais pas un autre moyen de
communication. En l’occurrence, j’utilise Gotify, mais le provider
ne devrait pas avoir d’importance (pushbullet, telegram, …).

Pour recevoir les notifications non pas par email mais sur Gotify, j’utilise
smtp2http qui reçoit des mails et appelle un webhook avec ce contenu.
Et sur ce webhook, une api qui va juste prendre le mail et forward son
contenu sur Gotify.

+---------------------+
| Kresus notification |
+---------+-----------+
          |
          v
+---------+-----------+
|     smtp2http       |
+---------+-----------+
          |
          v
+---------+-----------+
|    http2gotify      |
+---------+-----------+
          |
          v
+---------+-----------+
|       Gotify        |
+---------+-----------+
          |
          v
     Notification
     received on
     smartphone

Cela fonctionne très bien, mais un peu lourd pour « juste » envoyer des notifications.
Le problème de mon côté est que je reçois ceci comme contenu :

Bonjour cher·e utilisateur·rice de Kresus,

Alerte : transaction « XXXXXXXXXXXXXXXX » du XX/XX/2019 (compte XX) d’un montant de -X,XX €, supérieur à 0,00 €.

À bientôt pour de nouvelles notifications,
Votre serviteur, Kresus.

(si vous souhaitez vous désinscrire de ces notifications ou modifier la fréquence à laquelle celles-ci arrivent, connectez-vous à votre Kresus et visitez l’onglet Préférences, puis Alertes)

.

La partie qui m’intéresse est uniquement la deuxième ligne (Alerte […] €.).

Je vois plusieurs solutions possibles pour Kresus :

  • ajouter l’option d’appeler un script (notif.sh) en passant au script
    le type d’alerte et le contenu traduit par « catégorie » (hello, body, signature)
  • ajouter l’option d’appeler un webhook en lui passant les mêmes infos
  • utiliser une bibliothèque externe supportant de nombreux services de
    notification (je connais uniquement apprise)
  • donner la possibilité à l’utilisateur de modifier le template de l’email
  • ?

Je suis conscient que ceci ne sera pas utilisé par la majorité des personnes,
mais pouvoir recevoir une notification autrement que par e-mail m’est important.
Je peux modifier mon script pour parser le mail et forwarder uniquement les
informations qui m’intéressent.

Est-ce-que recevoir des notifications autre que par e-mail est voulu par
d’autres utilisateurs, est-ce une fonctionnalité qui serait pertinente d’avoir
dans Kresus ?

Si ce n’est pas le cas, pourriez-vous m’aider dans ma réflexion, quelle
solution me conseillerez-vous d’implémenter (pour mon installation) ?

Si cette fonctionnalité est envisageable, je contribuerais avec plaisir. Mais
ne connaissant pas la structure existante et quelle solution serait la plus
adaptée, j’aimerais connaitre votre avis.

Merci d’avance,

Bienvenue Aerion !

Effectivement, il n’existe pas de système de notification autre que les emails, à l’heure actuelle.

Implémenter tous les systèmes de notification n’est pas l’objectif de Kresus ; idéalement, c’est un logiciel dédié aux notifications qui feraient ça, pour les usages « exotiques ».

Je vois deux possibilités :

  • attendre des webhooks, on a un ticket pour ça même. C’est encore pas très clair d’à quoi ça ressemblerait, mais ce pourrait être l’occasion de formaliser ça pour ton cas d’usage par exemple.
  • on envisage d’afficher les notifications dans un futur dashboard qui sera l’écran d’accueil. Ça pourrait valoir dire avoir des endpoints REST pour 1. récupérer toutes les notifications non lues, 2. les marquer individuellement comme lue ou non lue.

Dans les deux cas, tu pourrais ajouter un système par dessus pour renvoyer la notification là où tu veux. Le premier système est plutôt en mode « push » tandis que le second en mode « pull » pour ce cas d’usage, le premier serait donc à privilégier.

Bref, il va nous falloir un peu de temps pour implémenter ça je pense :slight_smile:

Benjamin

Et merci pour tes compliments, et bienvenu dans la communauté !