Ces derniers temps, j'aime bien prendre en main Ruby on Rails et résoudre rapidement quelques problèmes de la vie quotidienne.
Le dernier en date, c'est la gestion d'un budget pour les activités en groupe. Enfin, de plus d'une personne. Par exemple, quand on vit comme moi à deux dans un appartement en location, sans compte joint, on essaye de partager les dépenses histoire que le budget soit équitable entre les deux parties.
Alors il faut compter les entrées d'argents (aides sociales de la CAF, dons de généreux mécènes...), et qui fait quelles dépenses. Si je fais les courses toutes les semaines et que ma moitié paye le loyer, qui devra qui à qui ? Pour répondre à cette question, on pourrait bien évidemment utiliser une simple feuille de calcul dans un tableur, saisir toutes les données, et trouver la réponse.
Par contre, quand le groupe commence à dépasser deux personnes, le problème devient rapidement un peu plus complexe. A partir du moment où plusieurs personnes engagent des dépenses pour le groupe, une feuille de calcul ne permet pas de calculer une solution de règlement qui minimise le nombre de transactions.
Un exemple. Nous sommes un groupe de 5 personnes et 2 personnes de ce groupe engagent 100 euros de dépenses chacune pour le groupe. Les 3 personnes restant devront donner 20 euros à chaque créditeur. Ce qui fait 6 transactions pour le remboursement. Il est pourtant simple de calculer une solution plus simple : 2 personnes rendent 40 euros à l'un des débiteurs, et une autre personne donne 20 euros à chaque débiteur. On passe ainsi à 4 transactions... c'est un peu plus simple. Et au lieu d'attendre de l'argent de 3 personnes, chaque débiteur n'a plus que 2 personnes à poursuivre !
Cette illustration faisait intervenir des calculs relativement simples. Mais quand on commence à partir un week-end en camping à 7, ou à faire un tour d'Irlande à 3, que tout le monde paye un petit quelque chose; le calcul d'une solution avec un tableur est bien moins agréable.
D'où Jakoont mon outil de comptabilité pour les groupes. Il est petit et tout simple, mais permet de rapidement calculer une solution. Je vous invite à le tester dans ce bac à sable ou à créer votre propre projet. Tous les retours sont plus que bienvenus.