I hate money — gérez vos budgets partagés facilement

Posté par  (site web personnel) . Modéré par baud123. Licence CC By‑SA.
Étiquettes :
39
19
oct.
2011
Internet

« I hate money » est une application Web qui vise à simplifier votre gestion de budget, lorsque vous le partagez avec d’autres, par exemple durant vos colocations, durant vos week‐ends entre amis, ou dans tout autre cas où vous avez eu à partager des dépenses (Eh, c’est bientôt le moment des vacances au ski !).

J’ai eu l’occasion d’écrire ce logiciel pour mon utilisation personnelle lors de ma colocation cette année, et il m’a permis de me simplifier pas mal la vie. Depuis, plusieurs personnes ont rejoint le projet. L’objectif est d’avoir quelque chose de simple à utiliser (Keep It Simple, Stupid). Le logiciel est écrit en Python à l’aide du micro‐framework Flask, il est publié sous licence BSD, avec une clause « beerware » (si vous croisez les auteurs et que vous voulez leur payer une bière, n’hésitez pas !).

Il existe déjà quelques applications pour gérer votre budget de manière partagée, mais la plupart d’entre elles sont, soit difficiles à utiliser, soit d’un aspect trop « kikoo LOL » ; ou alors elles essayent de faire trop de choses à la fois. I hate money ne gère pas votre liste de courses, ne crée pas de blog pour vous, il vous laisse vous occuper de choses un peu plus intéressantes.

Voir le petit tour rapide des fonctionnalités en seconde partie de dépêche.

Capture d'écran

Pas besoin de s’enregistrer

Vous n’avez pas besoin de vous créer un compte sur le site pour commencer à l’utiliser. Vous avez simplement besoin de créer un projet, de le protéger avec un code secret, puis d’envoyer le code et l’adresse du projet à vos amis (ou l’application peut le faire pour vous).
Gardez les choses simples — Keep It Simple, Stupid — correspond vraiment à la philosophie du projet : vous voulez ajouter une dépense ? Ok, ajoutez‐la ! Vous avez simplement besoin de dire qui a payé, pour quoi, pour qui et combien, exactement de la même manière que vous auriez fait en rentrant du marché sur un bout de papier.

Pas de catégories

Certaines personnes aiment organiser leurs dépenses dans différentes catégories : sorties, travail, repas, etc.. Ce n’est pas quelque chose que l’on souhaite ici (en tout cas, pas pour commencer). Nous souhaitons que les choses restent simples, comprenez‐vous ? Ajoutez juste la dépense !

Balance

Une fois que vos dépenses ont été ajoutées, il est utile de savoir qui a payé combien, et quelle est la « balance » des dépenses. En d’autres termes, est‐ce que vous devez de l’argent, ou est‐ce que vous devez recevoir de l’argent, et combien. Cela permet de savoir qui devrait payer le prochain tour de dépenses, par exemple. Le système est aussi capable de réduire le nombre de transactions pour se rembourser le plus facilement possible.

I18n

Le site est disponible en français et en anglais, pour l’instant ; mais il supporte d’ores et déjà la traduction (il est facile d’ajouter de nouvelles langues).

API

Tout ce qu’il est possible de faire avec l’interface Web standard est aussi disponible à travers une API REST. L’objectif étant de développer des applications mobiles utilisant cette API et pouvant se synchroniser avec le site Web.

Aller plus loin

  • # Ça a l'air intéressant...

    Posté par  . Évalué à 1.

    ...mais c'est dommage que le lien GitHub soit cassé.

  • # You hate money

    Posté par  . Évalué à 1.

    Ca tombe bien, c'est pas avec ça qu tu vas te faire de la thune ;-)

    Il se prend pour Napoléon, son état empire.

    • [^] # Re: You hate money

      Posté par  . Évalué à 2.

      J'imagine que tu fais référence ici à la licence et non à la qualité du projet !

  • # Ca c'est cool

    Posté par  . Évalué à 6.

    Site web très sympa que je vais utiliser de ce pas pour un weekend dans peu de temps.

    Quelques commentaires :
    - Accès compliqué sur un smartphone (blackberry dans mon cas)
    - Si on édite une facture, les personnes précédement sélectionnées sont décochées
    - Si on modifie une facture (titre et/ou montant) mais qu'on oublie de recocher les gens, le titre reviens à l'ancienne version. Pas de problème pour le montant cependant.
    - Charte graphique sympathique ;)

    Bonne continuation !

    • [^] # Re: Ca c'est cool

      Posté par  (site web personnel) . Évalué à 2.

      Merci pour les retours,

      Pour l'accès smartphone, il faudrait effectivement qu'on fasse une feuille de style particulière pour que ça soit plus adapté (je me suis aussi rendu compte de certains cas qui déconnent sur des petites résolutions).

      Je viens d'ouvrir un ticket à propos du bug d'édition, merci !

  • # Code d'accès

    Posté par  . Évalué à 3.

    Il est accessible en clair dans les options du projet, il devrait être crypté au niveau de la BDD.

    Sinon ça a l'air sympa, je pense que je l'utiliserai :)

  • # Anglais

    Posté par  (site web personnel) . Évalué à 3.

    Ça devrait être "Amount paid" au lieu de "payed"

  • # pouvoir pondérer par le nombre de personnes ?

    Posté par  . Évalué à 9.

    Super idée, et de plus design simple et clair.
    Juste un truc qui manque : pouvoir mettre une pondération pour chaque participant, c'est bien pratique pour les familles, habituellement on compte 1 pour les adultes, 0.5 pour les enfants. Mettre juste un petit champ lors de la création d'un participant, par défaut avec une valeur de 1 ne remettra pas en cause la simplicité générale !

  • # Fonctionnalités supplémentaires

    Posté par  . Évalué à 4.

    J'ai écris un système semblable il y a quelques mois : https://github.com/manuco/Pot-commun

    Il s'agit d'une bibliothèque qui permet de calculer la balance des gens. L'intérêt étant une plus fine répartition des dépenses entre personnes (par exemple, au resto, tout le monde n'a pas envie de payer pour le vin qu'il ne boit pas).

    Il y a trois branches :

    • la lib de base et ses tests
    • la branche sqlalchemy qui permet un stockage en base transparent
    • la branche ncurses qui présente une interface en... ncurses. L'idée étant de ne pas avoir à lancer un navigateur web + un serveur dans un endroit ou on a aucune connectivité (au hasard le shinkansen au japon)

    Si ça t'intéresse, tu pourrais peut-être intégrer la lib dans ton projet ?

    • [^] # Re: Fonctionnalités supplémentaires

      Posté par  . Évalué à 3.

      Quand j'etais étudiant un des mes coloc avait fait un logiciel du même genre pour géré notre coloc.
      Il avait ajouté la notion d'achat perso qui permet de résoudre de problème comme celui la :
      - les courses on couté 100€.
      - paul a payé.
      - les courses étaient pour pierre, paul et jacques.
      - mais sur les 100€ jack a prix 10 de bonbons pour sont compte perso.
      - paul a pris 20 € de bière a titre perso (un vrai poivrot ce paul).

      Ca faisait le calcul en tenant compte de la part commune et des truc perso, tu pouvais même acheter des truc perso sans payer.

      Au final en plus des coloc tout les potes avait un compte et a chaque soirées il n'y en avait qu'un seul qui payait et à la fin de l'année on était obligé de refaire une soirée pour que tout le monde solde sont compte.

      Mon pote avait pensé le libéré mais il n'a jamais pris le temps de le faire et il voulait le nettoyé avant car il l'avais codé vraiment à la rache.

  • # Tricount

    Posté par  (site web personnel) . Évalué à 3.

    Parfois les choses sont dans l'air...J'ai inventé en powerpoint ce logiciel il y a 10 ans, mais c'était donc du beau vaporware, cela s'appelle PCEA ou Petits Comptes Entre Amis (avec jeux de mots,...).

    Ensuite j'ai découvert Tricount, qui fait tout + Appli iphone + Appli android + synchro web, avec les fonctionnalités qui vont bien, genre pouvoir affiner les coefficients s'il y a des couples et des enfants....J'ai fait tous mes comptes de vacances avec et c'est le top on réfléchit plus ca fait tout tout seul, et on sait qui doit payer la prochaine dépense parce qu'il est "en retard" donc des mouvements d'argent faibles à la fin...

    http://tricount.com/fr/

    Peut-être faudrait-il leur faire libérer le code ?

    • [^] # Re: Tricount

      Posté par  (Mastodon) . Évalué à 1.

      Peut-être faudrait-il leur faire libérer le code ?

      Ça risque d'être dur ! Je cite leur FAQ :

      Le concept de comptes partagés sur Internet sans identification stricte (c'est-à-dire sans mot de passe et login), matérialisé ici sous le nom "tricount" est protégé par les droits d'auteur.

      Rien que ça... certains ne doutent de rien. En plus j'aurais tendance à dire que juridiquement, ça ne vaut pas tripette, mais JNSPUJ (comme IANAL mais en french).

  • # Retour sur Flask

    Posté par  (site web personnel) . Évalué à 4.

    J'ai un peu joué avec Flask, parce que j'aime beaucoup l'approche très minimaliste qui ne cache pas trop de choses au développeur. J'ai trouvé très élégant, très simple et très documenté (tout comme werkzeug qui est dessous).

    Quel est ton retour sur ce framework ? As-tu trouvé des inconvénients qui ne sont pas évidents au premier coup d'oeil ?

    • [^] # Re: Retour sur Flask

      Posté par  (site web personnel) . Évalué à 2.

      Flask est assez sympa pour faire des petites applications, principalement parce que tu n'as pas à te prendre le chou avec des choses qui ne t’intéressent pas (liste d'applications, fichier de settings énorme etc.). C'est effectivement très bien documenté et agréable à utiliser. J'aime beaucoup le fait d'avoir le choix dans les libs que j'utilise (par exemple SQLA pour l'ORM, mais je ne suis pas obligé).

      La chose qui manque un brin, c'est le coté libs. Par exemple pour le webservice de "ihatemoney" j'ai du developper une petite lib moi même plutôt que d'en réutiliser une déjà existante. Remarque, c'était marrant aussi, c'est juste que dès fois tu veux aller vite sans avoir à réinventer la roue.

      A vrai dire, pour ce soft, à refaire, je partirais sur du django et non pas sur du flask, mais c'était l'occasion d'essayer :)

  • # Encore toi!

    Posté par  (site web personnel) . Évalué à 4.

    Encore toi alexis!

    J'utilise ton système de blog "html pur" Pelican depuis un moment, je vois que tu ne t'es pas arrêté!

    Bravo!
    Je vais tester de ce pas :)

  • # un détail

    Posté par  (site web personnel) . Évalué à 2.

    un truc qui est particulièrement pénible en colloc, ce sont les facture qui tombent tous les 6mois alors qu'il y a eu des changement sur la période couverte. Pour l'instant, je m'en sors avec un google doc ("excel"), mais ça pourrait être bien d'avoir ce genre de chose pris en compte. Chaque personne a une date d'arrivée et de péremption, et une facture peut couvrir une certaine période... Ensuite, tu fais au prorata ?

    • [^] # Re: un détail

      Posté par  (site web personnel) . Évalué à 2.

      Yep, exact. J'ai déjà eu ce souci, qui effectivement est assez pénible.

      Pour le coup, c'est vraiment un cas particulier je pense, et je me demande si "i hate money" est le meilleur outil pour gérer ça. tu as fait comment avec ta feuille de calcul du coup ?

      Je me demande aussi si prendre en compte ce cas particulier ne va pas ajouter de la complexité souvent inutile au projet. Tu en pense quoi ?

  • # Virgules

    Posté par  (site web personnel, Mastodon) . Évalué à 6.

    Une toute petite remarque: sauf erreur, en français les montants devraient être indiqués avec des virgules et non des points. Vu que le site supporte la traduction, ça ne devrait pas être bien compliqué à changer juste pour le français (et les autres langues qui utilisent aussi la virgule).

    WeeChat, the extensible chat client

  • # Anniversaire

    Posté par  (site web personnel) . Évalué à 1.

    Simple mais bonne idée. J'avais fait un truc dans le genre à la fac mais beaucoup plus rustique. Le problème, c'est que c'était beaucoup pour les cadeaux d'anniversaires commun qu'on s'en servait. Donc il faut que les personnes non concernées par la participation au cadeau (typiquement celui qui reçoit) ne voit pas combien il coute.
    Si je comprends bien la démo, y'a un login/mdp par projet donc tout le monde a accès aux factures des autres sur un même projet. Du coup, il faut créer un nouveau projet ? C'est un peu dommage parce que ça fait plusieurs balances à gérer (autant que de personne en somme).

  • # omoma

    Posté par  . Évalué à 3.

    Pour faire ça j'utilise omoma.

    I Hate Money me plaît bien et est peut-être même plus ergonomiquement adapté à la gestion de ma colocation, mais omoma a une feature vraiment pas mal qui est de permettre d'importer des fichiers ofx (ou équivalents) depuis sa banque.

    Ça permet quand on se trouve être le couillon qui avance la thune de facilement faire ses comptes en tenant une liste des dettes :)

    • [^] # Re: omoma

      Posté par  (site web personnel) . Évalué à 2.

      Génial. Il y a une feature request pour l'import justement, je ne connaissais pas les fichiers OFX, je vais jeter un oeil.

  • # bande de geek...

    Posté par  . Évalué à 1.

    Vous pouvez pas partir en week-end les mains dans les poches ?

    Sinon une solution «off-line» : un porte monnaie commun et chacun y met un billet. Quand il n'y en a plus, on remets tous le billet suivant.

    • [^] # Re: bande de geek...

      Posté par  . Évalué à 4.

      sauf que y'en a toujours un a la dèche dans la coloc et comme ça, ça permet d'avoir des comptes clairs

    • [^] # Re: bande de geek...

      Posté par  (site web personnel) . Évalué à 3.

      J'avoue que je ne l'utilise pas en week end parce que je n'ai pas de pc ou téléphone avec un accès web (par choix). Le papier fait aussi bien l'affaire, ton histoire de pot commun aussi.

      Pour la gestion d'une colloc c'est souvent aussi simple d'avoir des traces de ce qui se passe et comment, mais c'est absolument pas une necessité.

  • # Pareil

    Posté par  . Évalué à 2.

    Ben moi aussi, j'ai fait presque la même chose.
    Tu peux t'inspirer des fonctionnalités pour les intégrer dans ton appli,
    Emmanuel.

  • # installation en local

    Posté par  . Évalué à 1.

    Bonne idée de projet mais je trouve que l'installation en local devrait être simplifiée (et à terme pourquoi pas avoir des paquets pour les principales distributions ?) parce qu'en vacances, on a pas forcément internet ...

    L'installation locale devrait notamment permettre la mise à jour de manière simple.

    • [^] # Re: installation en local

      Posté par  (site web personnel) . Évalué à 3.

      Pour l'install en local il faut juste penser à python, les dépendances (flask, flask-sqlalchemy, flask-wtf, flask-mail, etc.) et le tour est joué.

      comme je le disais plus haut, le mieux est sans doute de faire avec du papier / pot commun si on à pas internet durant les vacances (parce que sinon on fait confiance à un truc auquel on ne peut pas avoir accès facilement).

      Quand tu parles de mise à jour, tu pense à quoi exactement ? y'a un truc dans les tuyaux: une appli android qui gère les conflits d'édition, qui permettrait du coup de l'installer de manière simple sur un téléphone.

      • [^] # Re: installation en local

        Posté par  . Évalué à 2.

        Merci de ta réponse.

        Quand je parlais d'installation facile et de mise à jour prises en charge, je pensais aux paquets de différentes distributions gérés par des gestionnaires de paquets (pour moi sur archlinux c'est pacman ; pour ubuntu apt-get, ...). Ce serait vraiment bien qu'une commande (du genre apt-get install ihatemoney) permette d'installer ce logiciel en local (avec pourquoi pas une icone pour le lancer) et il serait facile de mettre à jour ce paquet au fil des améliorations.

        Un dépot PPA (https://launchpad.net/) pour ubuntu serait la solution la plus rapide Pour archlinux il y a AUR (https://aur.archlinux.org/).

        Mais c'est du boulot ...

  • # infos personnelles

    Posté par  . Évalué à 2.

    Et au niveau des données personnelles quelle est la politique en place ? Au bout de combien de temps un projet inactif est supprimé (il manque une option pour pouvoir supprimer un projet) ?

    • [^] # Re: infos personnelles

      Posté par  (site web personnel) . Évalué à 2.

      C'est une très bonne question. Je n'ai pas vraiment de réponses à donner pour l'instant, tout simplement parce que je ne me la suis pas posée. Deux mois d'inactivité + envoi de mail + un mois et hop supprimé. C'est noté pour la suppression de projet. C'est pour l'instant possible via l'interface REST mais pas depuis l'interface web.

  • # total des dépenses

    Posté par  . Évalué à 2.

    Une idée de nouvelle fonctionnalité qui ne devrait pas être dure à coder : Ajouter un total des dépenses pour savoir combien ont coûté en tout les vacances.

  • # un autre : onsedoit.fr

    Posté par  . Évalué à 0.

    Il existe également www.onsedoit.fr où chaque participant peut interagir avec l'événement et les dépenses : ajout, modification, commentaire, extraction excel, etc..

    Et en plus, il y a une version mobile pour les iphones et android.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.