[Kresus] Personal finance manager

Bonjour,

J’ai essayé d’installer Kresus sur mon Yunohost, cela ne fonctionne pas.
Pour info, j’essaye de l’installer sur un sous-domaine : comptes.mondomaine.fr et à la racione de celui-ci "/"
J’ai mis à jour Yunohost avant de lancer l’install (suite à la lecture du post précédent)
J’ai essayé sur l’interface graphique et avec la moulinette, peine perdue.

Merci pour votre aide!

Voici les erreurs :
Warning: ‘yunohost app checkurl’ is deprecated and will be removed in the future
Warning: Traceback (most recent call last):
Warning: File “/usr/bin/pip”, line 9, in
Warning: load_entry_point(‘pip==1.5.6’, ‘console_scripts’, ‘pip’)()
Warning: File “/usr/local/lib/python2.7/dist-packages/pkg_resources/init.py”, line 570, in load_entry_point
Warning: return get_distribution(dist).load_entry_point(group, name)
Warning: File “/usr/local/lib/python2.7/dist-packages/pkg_resources/init.py”, line 2751, in load_entry_point
Warning: return ep.load()
Warning: File “/usr/local/lib/python2.7/dist-packages/pkg_resources/init.py”, line 2405, in load
Warning: return self.resolve()
Warning: File “/usr/local/lib/python2.7/dist-packages/pkg_resources/init.py”, line 2411, in resolve
Warning: module = import(self.module_name, fromlist=[‘name’], level=0)
Warning: File “/usr/lib/python2.7/dist-packages/pip/init.py”, line 74, in
Warning: from pip.vcs import git, mercurial, subversion, bazaar # noqa
Warning: File “/usr/lib/python2.7/dist-packages/pip/vcs/subversion.py”, line 4, in
Warning: from pip.index import Link
Warning: File “/usr/lib/python2.7/dist-packages/pip/index.py”, line 17, in
Warning: import html5lib, requests, pkg_resources
Warning: File “/usr/local/lib/python2.7/dist-packages/html5lib/init.py”, line 16, in
Warning: from .html5parser import HTMLParser, parse, parseFragment
Warning: File “/usr/local/lib/python2.7/dist-packages/html5lib/html5parser.py”, line 2, in
Warning: from six import with_metaclass, viewkeys, PY3
Warning: ImportError: cannot import name viewkeys
Warning: Failed to stop kresus.service: Unit kresus.service not loaded.
Warning: Remove the user kresus
Success! The SSOwat configuration has been generated
Error: Installation failed

J’ai également essayé de créer le dossier /home/yunohost.app/kresus avant de lancer l’installation

(On dirait que c’est un problème avec le paquet ‘six’ de python/pip ?)

En effet… Mais est-ce seulement sur mon instance ?

Bonjour à tous,

J’aimerais beaucoup installer et tester Krésus, le logiciel a l’air top et ça fait des années que je cherche quelque chose de pratique pour faire mes comptes… Une idée pour m’aider à l’installer? Merci!

C’est étrange, je n’arrive à reproduire l’erreur… Est-ce que ton YUNoHost est bien à jour ?

@Limezy: Comment est-ce que tu installes l’application ?
Est-ce que tu pourrais ré-installer en utilisant directement le lien de l’application (https://github.com/lowmem/kresus_ynh) ?

@Limezy: attention avec cette application: du point de vue de la sécurité des données, c’est pas trop protégé, (surtout si vous êtes plusieurs à utiliser ton serveur YUNoHost… comme indiqué dans cette discussion).

HTH

Bonjour LowMem,

Tout d’abord merci pour ton aide!
J’ai essayé d’installer via l’interface admin web et en ligne de commande via la Moulinette en utilisant directement ton lien

sudo yunohost app install GitHub - LowMem/kresus_ynh: Kresus (personal finance manager) for YunoHost

Dans les deux cas, j’ai les mêmes erreurs :unamused:

Choose a domain name for Kresus (default: mondomaine.fr): comptes.mondomaine.fr
Choose a path for Kresus (default: /kresus): /
Warning: 'yunohost app checkurl' is deprecated and will be removed in the future
Warning: npm ERR! error rolling back Error: EACCES, unlink '/home/ynhkresus/node_modules/kresus/build/server/weboob/data/backends'
Warning: npm ERR! error rolling back  kresus@0.11.1 { [Error: EACCES, unlink '/home/ynhkresus/node_modules/kresus/build/server/weboob/data/backends']
Warning: npm ERR! error rolling back   errno: 3,
Warning: npm ERR! error rolling back   code: 'EACCES',
Warning: npm ERR! error rolling back   path: '/home/ynhkresus/node_modules/kresus/build/server/weboob/data/backends' }
Warning: npm ERR! Error: EACCES, unlink '/home/ynhkresus/node_modules/kresus/build/server/weboob/data/backends'
Warning: npm ERR!  { [Error: EACCES, unlink '/home/ynhkresus/node_modules/kresus/build/server/weboob/data/backends']
Warning: npm ERR!   errno: 3,
Warning: npm ERR!   code: 'EACCES',
Warning: npm ERR!   path: '/home/ynhkresus/node_modules/kresus/build/server/weboob/data/backends' }
Warning: npm ERR!
Warning: npm ERR! Please try running this command again as root/Administrator.
Warning:
Warning: npm ERR! System Linux 3.16.0-4-amd64
Warning: npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install" "kresus"
Warning: npm ERR! cwd /home/ynhkresus
Warning: npm ERR! node -v v0.10.29
Warning: npm ERR! npm -v 1.4.21
Warning: npm ERR! path /home/ynhkresus/node_modules/kresus/build/server/weboob/data/backends
Warning: npm ERR! code EACCES
Warning: npm ERR! errno 3
Warning: npm ERR! stack Error: EACCES, unlink '/home/ynhkresus/node_modules/kresus/build/server/weboob/data/backends'
Warning: npm ERR!
Warning: npm ERR! Additional logging details can be found in:
Warning: npm ERR!     /home/ynhkresus/npm-debug.log
Warning: npm ERR! not ok code 0
Warning: /etc/nginx/conf.d/comptes.mondomaine.fr.d/kresus.conf wasn't deleted because it doesn't exist.
Warning: /etc/systemd/system/kresus.service wasn't deleted because it doesn't exist.
Warning: Remove the user kresus
Success! The SSOwat configuration has been generated
Error: Installation failed

J’essayé différents domaines, j’ai essayé de garder le chemin par défaut /kresus, rien n’y fait!
Une seule fois l’installation a abouti mais le lien de mon portail Yunohost n’était pas fonctionnel (page blanche!)

Concernant ton warning sécuritaire, merci de m’avoir signalé l’état actuel de la sécurité des données. J’avais déjà parcouru la discussion du forum à ce sujet. Cela n’est pas un problème pour moi.

Mon instance Yunohost n’est utilisée que par ma femme et moi. Cette instance est installée sur un VPS chez OVH. Alors certes il paraît que les VPS ne sont jamais complètement 100% étanches aux autres instances tournant sur la même machine mais bon… La probabilité que ça me pose problème me semble hautement improbable. En ce moment, mes coordonnées bancaires et mon mot de passe sont utilisés quotidiennement par un script chez Linxo par exemple. Sont-ils pour autant plus en sécurité là-bas ? Pas sûr ! On pourrait imaginer un indice de fiabilité comme le rapport entre le niveau de sécurité et la fréquence des attaques. Si le niveau de sécurité de mon Yunohost est forcément moins élevé que celui de Linxo, la fréquence des tentatives d’attaques contre Linxo doit être ô combien plus élevée que sur mon domaine inconnu ! Je ne mettrais pas ma main à couper que cet “indice de fiabilité” soit plus fort côté Linxo.

Et quand bien même mon instance serait un jour attaquée avec succès, alors je distingue trois types de dangers :

  1. Le danger que l’on puisse voir l’état de mes comptes / transactions
  2. Le danger que l’on puisse connaître mon mot de passe
  3. Le danger que l’on puisse effectuer des transactions à ma place

En ce qui concerne le premier cas, Kresus est malheureusement assez transparent là-dessus, toutes les données pourraient être récupérées. Mais bon, il y a déjà des dizaines de RH, mon banquier, les impôts qui connaissent à peu près tout de ma vie financière… Je suis pas encore assez riche pour avoir grand chose à cacher sur mon historique !

En ce qui concerne le second cas, c’est plus embêtant. Visiblement, Kresus devrait prochainement s’améliorer en proposant un système à base de clefs asymétriques, ramenant le niveau de sécurité à celui d’un Linxo (cf le post de bnjbvr). En attendant que cette fonctionnalité voie le jour, puis-je encore dormir ? La réponse est oui parce que je ne vois pas très bien ce que pourrait faire quelqu’un ayant uniquement mon mot de passe sur mon espace de banque en ligne. Pour la moindre des opérations “intéressantes” (exemple, ajouter un RIB destinataire et y envoyer de l’argent), il faut la carte échiquier avec les codes, il faut un accès aux SMS du numéro de mobile associé au compte, etc…

En ce qui concerne le troisième cas, il y a toujours le “filet” des assurances, et si vraiment ça pouvait arriver un jour, ma banque pourrait commencer à se poser de sérieuses questions sur son système de sécurité !

Côté Yunohost, on pourrait aussi imaginer une “appli” ou un réglage qui permettrait de chiffrer automatiquement certains répertoires du serveur à partir des identifiants du portail (pour se rapprocher de la façon “Cozy” de gérer la chose).

Bref, le risque à prendre me semble très minime par rapport au bénéfice à utiliser / tester / aider à améliorer ce Kresus qui me semble très prometteur ! Y’a plus qu’à réussir à l’installer maintenant ! :wink:

1 Like

Salut !

Chez moi, l’installation se passe sans problème. En revanche, lorsque j’ajoute un compte de la Banque postale, j’obtiens l’erreur suivante :slight_smile: slight_smile: slight_smile:

  • stdout: === [ 0%] Looking for module linebourse
    === [ 30%] Module linebourse is not installed yet
    === [ 20%] Downloading module…
    === [ 50%] Checking module authenticity…
    === [ 70%] Setting up module…
    === [ 90%] Downloading icon…
    === [100%] Module linebourse has been installed!
    {“values”: [{“currency”: “", “balance”: "", “label”: "", “accountNumber”: ""}, {“currency”: "", “balance”: "", “label”: "", “accountNumber”: "****”}]}

  • stderr: No handlers could be found for logger “backend.bp.browser.accountrib”

  • JSON error: SyntaxError: Unexpected token =
    at Object.parse (native)
    at ChildProcess. (/home/ynhkresus/node_modules/kresus/build/server/lib/sources/weboob.js:314:31)
    at ChildProcess.emit (events.js:98:17)
    at maybeClose (child_process.js:755:16)
    at Process.ChildProcess._handle.onexit (child_process.js:822:5),

  • error_code: undefined

J’ai anonymisé les numéros de comptes et soldes, ainsi que la devise, qui sont exacts. Je ne sais pas si cette erreur est liée à Kresus ou à la version de weboob utilisée.

Merci pour ton travail,

eev

PS : comment dois-je m’y prendre pour mettre à jour l’application ? Pour l’instant, je désinstalle et réinstalle depuis le dépôt github, mais je ne sais pas si c’est la bonne marche à suivre.

Salut,

C’est une erreur de Weboob que nous avons repérée et empêchée dans la prochaine version. Elle peut se manifester lors du premier chargement, normalement les chargements suivants devraient fonctionner normalement ; si ce n’est pas le cas, alors il faudra attendre la prochaine version de Kresus (qui devrait sortir sous peu !).

Cheers,
Benjamin

Bon, de mon côté et après quelques recherches il s’est avéré que mon erreur provenait de problèmes de permissions en lecture / écriture dans certains répertoires. J’ai cru également comprendre qu’un dossier ynhkresus laissé dans mon /home/ par une vieille tentative d’installation me posait problème. Après un petit coup de sudo chown et rm -rf /home/ynhkresus j’ai enfin réussi à ce que l’installation aille jusqu’au bout.

Voici les messages d’erreurs qui apparaissent :unamused:

Warning: 'yunohost app checkurl' is deprecated and will be removed in the future
Warning: npm WARN engine deep-extend@0.4.1: wanted: {"node":">=0.12.0","iojs":">=1.0.0"} (current: {"node":"0.10.29","npm":"1.4.21"})
Warning: npm WARN engine cryptiles@2.0.5: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.29","npm":"1.4.21"})
Warning: npm WARN engine form-data@2.1.4: wanted: {"node":">= 0.12"} (current: {"node":"0.10.29","npm":"1.4.21"})
Warning: npm WARN engine boom@2.10.1: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.29","npm":"1.4.21"})
Warning: npm WARN engine hoek@2.16.3: wanted: {"node":">=0.10.40"} (current: {"node":"0.10.29","npm":"1.4.21"})
Warning: npm WARN engine request@2.79.0: wanted: {"node":">= 4"} (current: {"node":"0.10.29","npm":"1.4.21"})
Warning: npm WARN engine hawk@3.1.3: wanted: {"node":">=0.10.32"} (current: {"node":"0.10.29","npm":"1.4.21"})
Warning: Created symlink from /etc/systemd/system/multi-user.target.wants/kresus.service to /etc/systemd/system/kresus.service.
Success! The SSOwat configuration has been generated
Success! Installation complete

Et quand je vais sur la page comptes.mondomaine.tld (où est installé Kresus), j’arrive sur une belle page blanche… L’icône de Kresus apparaît bien sur l’onglet qui porte le nom “Kresus”, mais rien d’autre qu’une page blanche. Une idée ?

Merci beaucoup pour ta réponse Benjamin.

Je n’arrive pas à installer Kresus depuis la dernière mise à jour. Quelqu’un.e rencontre-t-il ou elle le même problème ?

Apparemment, c’est lié à la version de nodejs: j’ai ouvert un bug sur le framagit: https://framagit.org/bnjbvr/kresus/issues/681

Je n’ai pas testé avec jessie-backports, ça devrait corriger le problème. Mais de mémoire activer backports dans YUNoHost était un peu hasardeux: https://dev.yunohost.org/issues/687 (je ne sais pas si c’est toujours d’actualité…).

Bref, je vous recommande de tester avant de le faire sur le YUNoHost que vous utilisez tous les jours (ou alors de préparer une sauvegarde/restauration :smile:) !

Edit: En bref, oui j’ai le même problème. :’-(

Merci beaucoup pour ta réponse. Peut-être nous faut-il attendre la mise à niveau de Yunohost vers Stretch :slight_smile:

Bon, j’ai quand même testé avec les backports, mais ça ne fonctionne pas, la bonne version de npm étant indisponible.

Merci @LowMem pour cette bonne nouvelle de voir Kresus porté sur Yunohost.

De mon coté l’install s’est bien déroulé. (url github collé dans l’interface web d’admin)
L’application apparait bien dans la page d’accueil Yunohost.
Mais quand j’essaye d’accéder à l’application, j’ai une erreur 502 Bad Gateway.
Dans les informations de debugage , je vois un log nginx avec :

2017/10/24 12:13:06 [error] 7606#0: *69319 connect() failed (111: Connection refused) while connecting to upstream, client: 88.00, server: 00.nohost.me, request: “GET /kresus/ HTTP/1.1”, upstream: “http://127.0.0.1:9876/”, host: “00.nohost.me”, referrer: “https://00.nohost.me/yunohost/sso/

Pourtant dans la partie Accès de Kresus, j’ai bien ajouté tous mes utilisateurs.

Bonjour,

La version 0.12 de Kresus a cassé pas mal de choses par rapport à l’existant, notamment l’apparition d’un fichier de configuration, et la suppression des données de SMTP de la base de donnée.

Je suis en train de finaliser la mise à jour du paquet YNH, pour que ça s’installe correctement, puis que ça se mette à jour correctement.

@LowMem : je te proposerai un PR lorsque j’aurai fini mes ajouts (voir les issues sur mon repo github)

Bonjour @fab13n

Kresus n’est pas multiutilisateur, il ne faut donc pas y donner accès à tous les utilisateurs. Je vais mettre à jours le manifest pour éviter ça

:wink: merci ah effectivement c’est bon à savoir.
Du coup c’est au niveau du nombre d’utilisateur dans yunohost que ça pose soucis ?
Car j’avais testé tout de suite après l’install (“par défaut tous les utilisateurs ont accès à l’application”).
Puis après l’erreur, j’ai essayé les différentes configurations d’ajout / suppression d’utilisateur.

Après ton message, j’ai tenté de modifier les utilisateurs dans Accueil> Applications >Kresus >Accès

  • Le bouton rouge “retirer les accès” en face d’un utilisateur ne fonctionne pas. (pas d’effet visible )
  • le bouton “Supprimer tous les accès” fonctionne
  • le bouton “choisissez un utilisateur - Ajouter” fonctionne , et l’utilisateur choisi est bien ajouté . Par contre, il subsiste un utilisateur “fantôme” nommé " () " dans la liste. Et donc pas de moyen de le retirer depuis l’interface web.

Il faut passer par l’édition de certain fichier de config pour corriger cela ?
Faut-il supprimer mon deuxième utilisateur Yunohost ?

Je ne sais pas comment cela fonctionne précisément dans yunohost…
Un jour Kresus sera multiutilisateur, mais en attendant, il vaut mieux faire une instance par utilisateur, dans la prochaine version de l’installeur, il faudra sélectionner un utilisateur qui a droit d’accéder à l’application, et réinstaller Kresus pour chaque utilisateur.

En attendant, il doit y avoir une commande qui permet d’interdire l’accès à tous les utilisateurs, sauf 1, mais je l’ai pas sous la main (j’ai pas encore exploré ça).