CryptAlert est une application desktop personnelle développée dans le cadre des cryptomonnaies, et toujours en développement. Elle sert à alerter l’utilisateur avec un son défini dans l’application lorsqu’un prix d’une cryptomonnaie est atteint. L’utilisateur paramètre des paliers de prix pour pouvoir être alerté.

Contexte

Durant le premier confinement, mon père s’est intéressé aux cryptomonnaies. Il s’est alors mis à « Threader ». Cette action défini le fait d’acheter et revendre des cryptomonnaies (un peu comme le principe des actions dans une entreprise). Il utilise un échangeur (site pour acheter et vendre des cryptomonnaies): Binance. Le site ne dispose pas de moyen d’alerte, mon père s’est vite retrouvé coincé, n’ayant pas la possibilité de toujours avoir un oeil sur le graphique de la cryptomonnaie choisie. Il fallait trouver un moyen pour qu’il soit averti en temps réel lorsque qu’un prix atteint un certain palier.

Déroulement

Pour bien commencer un projet, il faut analyser les besoins.

J’ai utilisé l’outil en ligne Trello pour définir les différentes tâches du projet. Trello utilise un système de tableau pour lister les tâches. J’ai alors défini trois tableaux dans un premier temps: un tableau « A faire« , un « En cours« , et un dernier « Terminé« . Par la suite j’ai ajouté plusieurs tableaux lorsqu’une nouvelle version de l’application était disponible où je mettais toutes les tâches réalisées sur cette nouvelle version.

Une fois mes tâches définies, je suis passé au développement. Après plusieurs versions de test, je suis arrivé à une version stable que voici:

Résultats

Les deux listes à gauche représente la liste des cryptomonnaies où des paliers ont été définis, et la seconde liste la totalité des cryptomonnaies disponibles sur l’échangeur Binance (plus de 14 000 résultats). Le bloc du milieu représente les paliers que l’utilisateur a défini sur une cryptomonnaie. Sur chaque palier, il dispose de 3 buttons. Le premier en jaune permet de définir un son personnalisé pour le palier. Il peut également modifier le palier ou le supprimer. La liste à droite représente l’ensemble des notifications reçues pour toutes les cryptomonnaies, si un palier est défini.

Une fois un palier défini sur une cryptomonnaie, elle rentre dans la boucle de vérification. Toutes les x secondes (paramétrable), l’application va faire un appel d’API pour récupérer la valeur actuelle de la cryptomonnaie et la stocker. Les deux dernières valeurs sont stockées pour vérifier si un des paliers définis est compris entre les deux valeurs stockées. Si c’est le cas, un son est joué, soit le son par défaut de l’application, soit le son personnalisé du palier.

Une partie préférence est disponible où l’utilisateur peut modifier les paramètres de l’application. Le volume du son de la notification, le son par défaut ou encore le temps d’attente entre chaque appel d’API en seconde.

L’enjeu principal de cette application était de pouvoir jouer un son lorsque la valeur d’une cryptomonnaie atteignait une certaine valeur définie par l’utilisateur.

Un des risques majeurs était que l’utilisateur ne sache pas identifier la cryptomonnaie lorsqu’un son est joué. Plusieurs sons peuvent être joué en même temps et cela peut perdre l’utilisateur. Pour remédier à cela, l’utilisateur dispose d’un historique de notification pour voir l’ensemble des sons joués sur telle ou telle cryptomonnaies et il peut choisir un son personnalisé pour un certain palier pour permettre une identification plus rapide.

Pour compiler cette application en application desktop, j’ai utilisé la librairie Electron. C’est grâce à cette librairie que j’ai pu créer une application desktop à partir d’un site internet.

Cette application est aujourd’hui utilisée par un unique utilisateur qui a une utilisation quotidienne  et me permet de trouver des améliorations sur des fonctionnalités existantes et de nouvelles idées à intégrer dans l’application.

Le développement a été mis en pause pour le moment pour finaliser la dernière année à IN’TECH SUD.

Conclusion

Ce projet personnel m’a permis de voir des aspects techniques du framework Ionic que je n’avais pas vu jusque la. Jouer des sons à des moments bien précis est le coeur même de l’application.
Voir comment, à partir d’un site internet, créer une application desktop est facile et pend peu de temps est super. Je compte, à l’avenir faire la même chose pour une application Android, voir comment cela fonctionne. Pour une application IOS, cela est impossible puisqu’il faut un mac.

De nombreuses grosses fonctionnalités sont à venir comme la mise en place de compte utilisateur pour, pourquoi pas, mettre à disposition de tous cette application grâce à des abonnements mensuels.

Compétences associées