Journal KissCount v0.2

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
25
2
août
2011

Bonjour tout le monde,

Il y a 9 mois j'avais fait une présentation de la version 0.1. Voici le temps de la v0.2. Pour rappel KissCount est un petit logiciel de compta personnelle développé en C++/WxWidgets sous GPL v3. Le but est d'avoir un minimum d'action à effectuer et de pouvoir rapidement visualiser sa situation financière (un écran pour tout), contrairement à ses "concurrents" qui essaient de couvrir 100% des besoins de tous les utilisateurs au prix d'une interface, certes plus jolie, mais lourde.

Les nouveautés sont :

  • Meilleure interface (hum hum...)
  • Ajout d'ascenseurs (c'est con, mais ça manquait)
  • Statistiques interne au mois
  • Opérations de groupe (Rennomage / changer la catégorie ou le compte)
  • Comptes virtuels et mode réel
  • Paquet Debian
  • Import XML (KissCount), OFX et Grisbi (expérimental)
  • Export XML (KissCount)
  • Mettre à jour les mois suivants
  • Pleins de bugs corrigés (et ajoutés :p)

Toujours pas de version pour Windows®© car le rendu visuel est encore pire !

Pour la v0.3 (comptez un an), je pense à une ré-écriture un peu plus propre de certaines parties du code, le passage à WxWidgets 2.9 ou Qt.

Les .deb sont disponibles en téléchargement sur ma forge inDefero. Des captures d'écrans sont disponibles dans la doc.

!!! Attention !!! Je suis en auto-hébergement avec une connexion relativement mauvaise, donc soyez patient (ou prenez un ticket :)).

  • # .deb

    Posté par  . Évalué à 10.

    Pourquoi le seul format disponible pour les paquets est le .deb.
    Il y a bien des tar.gz mais hors d'age (où alors, je n'ai pas vu).
    JE comprends parfaitement que tu ne puisses pas packager tous les formats mais proposes au minimum un tar.gz si tu veux que des utilisateurs ayant une distrib autre que debian ou ubuntu puissent tester.

    Dommage, j'étais intéressé pour faire un test ayant une connaissance qui me demandait si je connaissais un logiciel de suivi de dépenses simple.

    • [^] # Re: .deb

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

      Je package en .deb parce que je suis sous Debian, simplement ... Mais les tar.bz2 sont disponibles et à jour ! Il ne faut pas se fier aux dates indiquées. En fait je trompe inDefero avec des liens symboliques, les paquets sont reconstruits chaque nuit s'il y a eu une modification au niveau de git.

      • [^] # Re: .deb

        Posté par  . Évalué à 3.

        les paquets sont reconstruits chaque nuit s'il y a eu une modification au niveau de git

        Tu fais ça grâce à une tâche cron ou un serveur d'intégration continue ou un serveur de packaging continue ?

        Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

      • [^] # Re: .deb

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

        Ça serait mieux que l'installation avec install.sh se fasse dans /usr/local/, c'est fait pour.

        Il existe deux catégories de gens : ceux qui divisent les gens en deux catégories et les autres.

        • [^] # Re: .deb

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

          Dans ce cas il faut appliquer les deux méthodes : pour le .deb et pour install.sh

          Je vais corriger pour pointer vers /usr/local plutôt que /usr

          Et dans le meilleur des mondes avoir des autotools :)

  • # Auto-hébergement

    Posté par  . Évalué à 10.

    !!! Attention !!! Je suis en auto-hébergement avec une connexion relativement mauvaise, donc soyez patient (ou prenez un ticket :)).

    Tu devrai réduire la taille des images dans la doc, quitte à les mettre en lien via une miniature.

  • # Question et suggestion

    Posté par  . Évalué à 5.

    Je suis en train de lire la documentation. C'est un bon début et c'est assez complet pour être déjà utilisable au quotidien. Voici quelques idées pour continuer.

    La première copie d'écran montre dans les totaux des lignes Cur Crédit / Cur Débit puis Crédit / Débit. La différence n'est pas évidente. A quoi ça sert ?

    • Peut-on noter un numéro de chèque en complément ou encore la référence de la banque lors du rapprochement ?

    • Les comptes sont-ils internes ou externes aux bases ?

    • Renomme la case Restant en Solde qui est le terme consacré.

    • Lorsque tu as des boutons côte à côte donne leur la même taille (horizontale), c'est plus esthétique.

    • Pour gagner de la place tu peux implémenter les fonctions des boutons Grouper / Dégrouper avec le menu contextuel du "listview".

    Bon courage ;-)

    • [^] # Re: Question et suggestion

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

      Merci, Je vais répondre à tes remarques :

      La première copie d'écran montre dans les totaux des lignes Cur Crédit / Cur Débit puis Crédit / Débit. La différence n'est pas évidente. A quoi ça sert ?

      Cur débit/crédit sont les débits/crédits que l'on a réalisé jusqu'à présent, tandis que débit/crédit est le total, donc ceux jusqu'à présent plus ceux que l'on a prévu de réaliser (paye à la fin du moins ...). C'est l'équivalent de valeur courante et finale.

      Peut-on noter un numéro de chèque en complément ou encore la référence de la banque lors du rapprochement

      Il suffit de l'indiquer dans la description.

      Les comptes sont-ils internes ou externes aux bases ?

      Je ne comprend pas ... Tous les comptes sont référencés dans la base de données utilisateur ~/.kisscount/kc.bdd. Tu peux avoir des comptes partagés entre plusieurs utilisateur (internes aux logiciel), mais seulement au sein d'une même base.

      Renomme la case Restant en Solde qui est le terme consacré.

      Exact

      Lorsque tu as des boutons côte à côte donne leur la même taille (horizontale), c'est plus esthétique.

      Tu dois faire référence au bouton "Mettre à jours mois suivant", je n'arrive pas à réduire sa taille ... Je ne voulais pas le mettre en menu contextuel car il est dépendant du mois en cours, ça induirait l'utilisateur en erreur de pouvoir le faire via un menu.

      Pour gagner de la place tu peux implémenter les fonctions des boutons Grouper / Dégrouper avec le menu contextuel du "listview".

      C'est plus simple côté programmation avec deux boutons :)

      • [^] # Re: Question et suggestion

        Posté par  . Évalué à 1.

        Cur débit/crédit sont les débits/crédits que l'on a réalisé jusqu'à présent, tandis que débit/crédit est le total, donc ceux jusqu'à présent plus ceux que l'on a prévu de réaliser (paye à la fin du moins ...). C'est l'équivalent de valeur courante et finale.

        Il y a une équivoque. Cela veut-il dire qu'il est aussi autorisé de saisir d'opérations futures, ceci indépendamment de l'état des rapprochement ?

        Peut-on noter un numéro de chèque en complément ou encore la référence de la banque lors du rapprochement

        Il suffit de l'indiquer dans la description.

        Oui, mais si je fait ça je ne peux plus isoler mes références pour trier les écritures par exemple.

        Les comptes sont-ils internes ou externes aux bases ?

        [...], mais seulement au sein d'une même base.

        C'est ce que je voulais savoir. C'est bien parce qu'on ne perd pas les droits en déplaçant la base sur un autre système, en revanche si je veux par exemple archiver les écritures dans une base pour chaque année, je dois synchroniser les droits à la main. C'est le plus pratique je pense.

        Lorsque tu as des boutons côte à côte donne leur la même taille (horizontale), c'est plus esthétique.

        Tu dois faire référence au bouton "Mettre à jours mois suivant", je n'arrive pas à réduire sa taille ... Je ne voulais pas le mettre en menu contextuel car il est dépendant du mois en cours, ça induirait l'utilisateur en erreur de pouvoir le faire via un menu.

        Les boutons du premier et du quatrième écran de la documentation. Le bouton Mettre à jours mois suivant recalcule les soldes. Est-ce impossible de déléguer cette tâche au programme pour que ce soit transparent pour l'utilisateur ?

        Pour gagner de la place tu peux implémenter les fonctions des boutons Grouper / Dégrouper avec le menu contextuel du "listview".

        C'est plus simple côté programmation avec deux boutons :)

        Je me doute. ;-) Ce sera pour plus tard. Tu pourra récupérer leur place pour d'autres fonctionnalités.

        Est-il prévu d'ajouter une colonne solde (calculée) à chaque opération ? C'est très utile pour retrouver une erreur de saisie dans les montants.

        Ne te sens pas accablé par mes commentaires. Je trouve ton logiciel sympathique. Ce soir je ferai un petit test en réel.

        • [^] # Re: Question et suggestion

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

          Il y a une équivoque. Cela veut-il dire qu'il est aussi autorisé de saisir d'opérations futures, ceci indépendamment de l'état des rapprochement ?

          Exact. Saisir une opération future permet de prévoir à l'avance les revenus/dépenses pour garder un budget équilibré avant de tomber dans le rouge. Pour le rapprochement il y a un mode rapprochement qui ne prend en compte que les opérations sélectionnées.

          Oui, mais si je fait ça je ne peux plus isoler mes références pour trier les écritures par exemple.

          Tu entends quoi par trier les écritures ? Dans tous les cas il est possible d'utiliser le mode recherche pour retrouver un ensemble d'opérations avec des critères précis.

          C'est ce que je voulais savoir. C'est bien parce qu'on ne perd pas les droits en déplaçant la base sur un autre système, en revanche si je veux par exemple archiver les écritures dans une base pour chaque année, je dois synchroniser les droits à la main. C'est le plus pratique je pense.

          Il y a aussi la technique de l'export.

          Les boutons du premier et du quatrième écran de la documentation. Le bouton Mettre à jours mois suivant recalcule les soldes. Est-ce impossible de déléguer cette tâche au programme pour que ce soit transparent pour l'utilisateur ?

          C'est ce que je pensais faire au tout début, mais finalement j'ai choisi un mode manuel, c'est plus sûr.

          Est-il prévu d'ajouter une colonne solde (calculée) à chaque opération ? C'est très utile pour retrouver une erreur de saisie dans les montants.

          Je trouve que ça prend de la place inutilement et personnellement ne m'apporte rien, c'est pour ça que je ne l'ai pas implémenté. La résolution de mon ancien portable était de 1024x768, je ne voulais garder que l'essentiel (alors que maintenant 1600x900 ne suffit pas ...). On pourrait récupérer l'espace perdu par le calendrier, à voir !

          Ne te sens pas accablé par mes commentaires. Je trouve ton logiciel sympathique. Ce soir je ferai un petit test en réel.

          Du tout. Chaque critique même négative ne peut faire qu'avancer le logiciel (ou expliciter mes choix). Pour l'instant je suis le seul utilisateur, c'est à la fois bien pour l'innovation (je ne me soucie pas des besoins des autres et j'implémente librement des nouvelles idées), mais je ne répond pas forcément aux besoins que peuvent éprouver d'autres personnes. Exemples des comptes virtuels : je me trouve dans une situation où j'en ais besoin, je l'implémente, point !

          • [^] # Re: Question et suggestion

            Posté par  . Évalué à 1.

            Oui, mais si je fait ça je ne peux plus isoler mes références pour trier les écritures par exemple.

            Tu entends quoi par trier les écritures ? Dans tous les cas il est possible d'utiliser le mode recherche pour retrouver un ensemble d'opérations avec des critères précis.

            Dans les logiciels de gestion on peut couramment cliquer sur l'entête d'une colonne du contrôle listview (datagrid suivant le toolkit ?) pour trier à la volée les enregistrement — le second clic inverse l'ordre de tri.

            C'est ce que je voulais savoir. C'est bien parce qu'on ne perd pas les droits en déplaçant la base sur un autre système, en revanche si je veux par exemple archiver les écritures dans une base pour chaque année, je dois synchroniser les droits à la main. C'est le plus pratique je pense.

            Il y a aussi la technique de l'export.

            Si j'exporte je perds la protection par mot de passe, donc je préfère archiver dans une autre base.

            Les boutons du premier et du quatrième écran de la documentation. Le bouton Mettre à jours mois suivant recalcule les soldes. Est-ce impossible de déléguer cette tâche au programme pour que ce soit transparent pour l'utilisateur ?

            C'est ce que je pensais faire au tout début, mais finalement j'ai choisi un mode manuel, c'est plus sûr.

            Que se passe-t-il si je ferme le logiciel sans appuyer sur ce bouton ?

            Est-il prévu d'ajouter une colonne solde (calculée) à chaque opération ? C'est très utile pour retrouver une erreur de saisie dans les montants.

            Je trouve que ça prend de la place inutilement et personnellement ne m'apporte rien, c'est pour ça que je ne l'ai pas implémenté. La résolution de mon ancien portable était de 1024x768, je ne voulais garder que l'essentiel (alors que maintenant 1600x900 ne suffit pas ...). On pourrait récupérer l'espace perdu par le calendrier, à voir !

            Oui, ce n'est pas essentiel. Par contre une description un poil plus longue ou un champ tiers seraient un bon complément.

            • [^] # Re: Question et suggestion

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

              Dans les logiciels de gestion on peut couramment cliquer sur l'entête d'une colonne du contrôle listview (datagrid suivant le toolkit ?) pour trier à la volée les enregistrement — le second clic inverse l'ordre de tri.

              Pas d'autres tri possible que celui de la date (croissante ou décroissante). Peut être pour une prochaine version, mais pour le moment les opérations sont trop liées à leurs position.

              Si j'exporte je perds la protection par mot de passe, donc je préfère archiver dans une autre base.

              Exact. Néanmoins les malins pourront utiliser l'utilitaire sqlite3 (à condition d'avoir l'accès en lecture/écriture à la base, qui par défaut est en 0700).

              Que se passe-t-il si je ferme le logiciel sans appuyer sur ce bouton ?

              L'application se termine. Il ne faut appuyer sur ce bouton uniquement que si on modifie une opération antérieure (au minimum un mois) et qu'on veut re synchroniser la valeur des comptes, ce qui n'est pas toujours le cas.

              Oui, ce n'est pas essentiel. Par contre une description un poil plus longue ou un champ tiers seraient un bon complément.

              Il n'y a pas de limite au champs description (à part l'affichage).

              • [^] # Re: Question et suggestion

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

                Tes suggestions (champs description plus long et "solde" à la place de "restant") ont été intégrées dans les deux branches (master et dev). Recompilation ce soir !

                • [^] # Re: Question et suggestion

                  Posté par  . Évalué à 0.

                  Merci, c'est sympa. J'ai testé un peu KissCount et je n'ai pas compris à quoi peut servir la première ligne jaune dans l'écran de saisie des écritures. Dans le déroulant je ne pouvez pas choisir d'affecter la catégorie fixe. Est-ce une catégorie spéciale ?

                • [^] # Re: Question et suggestion

                  Posté par  . Évalué à 0.

                  D'autres petites choses :

                  • Lorsqu'on rapproche une écriture ou qu'on modifie ses préférences, le changement de couleur est partielle. Il faut provoquer le changement de focus en cliquant sur une autre ligne par exemple pour que la couleur soit bien mise à jour.

                  • De même lorsqu'on coche la case supprimer, la demande de confirmation ne se déclenche qu'à la perte du focus.

                  • Sera-t-il possible de configurer l'apparence des lignes rapprochées ?

                  • [^] # Re: Question et suggestion

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

                    Merci, c'est sympa. J'ai testé un peu KissCount et je n'ai pas compris à quoi peut servir la première ligne jaune dans l'écran de saisie des écritures. Dans le déroulant je ne pouvez pas choisir d'affecter la catégorie fixe. Est-ce une catégorie spéciale ?

                    Oui, les lignes jaunes sont réservés pour les opérations récurrentes (loyer, paye ...), elles seront recopiés lors de la génération d'un nouveau mois. Tandis que les lignes vertes sont les opérations attenantes au mois en cours.

                    Lorsqu'on rapproche une écriture ou qu'on modifie ses préférences, le changement de couleur est partielle. Il faut provoquer le changement de focus en cliquant sur une autre ligne par exemple pour que la couleur soit bien mise à jour.

                    De même lorsqu'on coche la case supprimer, la demande de confirmation ne se déclenche qu'à la perte du focus.

                    C'est un bug de WxWidgets. Dans le même style : le derniers champs rentré est recopié dans une nouvelle ligne ...

                    Sera-t-il possible de configurer l'apparence des lignes rapprochées ?

                    Je n'y ai pas pensé, pour le moment je me contente d'éclaircir la couleur de la ligne. Mais on peut paramétrer la police et la couleur de chaque catégorie.

  • # XDG

    Posté par  . Évalué à 4.

    Je souhaite d'abord te féliciter pour ton travail qui a l'air bien avancé et réussi.

    J'aurais juste une petite remarque. Ça pourrait être sympa d'utiliser les variable XDG_* pour la configuration et les données de ton application à la place de dossier ~/.kisscount. Tu pourras trouver plus d'informations là :

    http://linuxerie.midiblogs.com/tag/fsf

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

    • [^] # Re: XDG

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

      Merci :)

      Je n'avais pas connaissance de ces variables, j'ai donc appliqué les anciennes méthodes, WxWidgets me permettant d'abstraire un minimum ces chemins sur les différent systèmes, mais n'est pas encore prêt pour FreeDesktop visiblement.

      • [^] # Re: XDG

        Posté par  . Évalué à 4.

        Peut être une bonne raison pour passer à Qt ? :)

        Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

        • [^] # Re: XDG

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

          Si je devais passer à Qt ce serait plus pour la qualité des widgets. WxWidgets c'est bien, mais je trouve que ça fait trop amateur (et contient quelques bugs génants). De plus l'aspect graphique n'est pas identique sur toutes les plateformes (dont Windows ...). Enfin c'est un bibliothèque C++ (bon je sais il y a gtk-mm, mais bon ...).

  • # pbm avec binaires 32 bits ?

    Posté par  . Évalué à 1.

    Bonjour,

    Intéressant, mais n'y a t'il pas un problème avec les binaires 32bits tar.bz2 ?
    J'en ai téléchargé un et :

    > file kc 
    kc: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, stripped
    

    Et les archives 64 et 32 buts ont exactement la même taille... ne serait-ce pas les mêmes fichiers ?

    • [^] # Re: pbm avec binaires 32 bits ?

      Posté par  . Évalué à 1.

      Moi aussi, j'ai installé le paquet kisscount_0.2-1_i386.deb et ses dépendances mais je me prends un message du genre ce binaire ne peu pas être lancer.

  • # Comptes virtuels

    Posté par  . Évalué à 1.

    Excellent cette fonction de comptes virtuels !
    Personnellement je gère un provisionnel pour quasiment toutes mes dépenses, et je n'ai pas trouvé jusqu'à présent comment garder ça dans un logiciel de compta personnelle (ça existe peut-être, mais j'ai pas trouvé). Du coup pour moi c'est ze killer feature de KissCount !
    Je vais tester ça rapido, car le pauvre classeur calc que je m'étais fait est à bout de souffle...

    • [^] # Re: Comptes virtuels

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

      Les comptes virtuels c'est surtout pour le long terme.

      Pour les dépenses à court terme tu peux enregistrer à l'avance une opération, ou encore mieux : la mettre dans les dépenses fixes si elle est récurrente.

      • [^] # Re: Comptes virtuels

        Posté par  . Évalué à 1.

        Pour te donner une idées, je découpe mes finances en postes budgétaires : le salaire est réparti en tant pour la bouffe, tant pour la santé, etc. Les dépenses en cours de mois dans ces catégories viennent diminuer le montant. En fin de mois je peux avoir un reste qui est reporté au mois suivant etc. Ça permet de lisser les dépenses irrégulières (genre les énergies, avec les 2 factures de gaz par an, l'entretien de la voiture, les impôts). Le montant non réparti est considéré comme de l'épargne, c'est de l'argent que je peux dépenser logiquement sans craindre de mauvaises surprises.

        C'est pas mal mais jusque là, à maintenir c'est pas toujours simple (je pense en particulier à la cohérence vis à vis de la situation réelle du compte en banque). Du coup je voulais m'écrire une petite appli pour mieux gérer cette notion, mais tu m'as devancé !

        • [^] # Re: Comptes virtuels

          Posté par  . Évalué à 4.

          La fonctionnalité budget de homebank fait aussi ca très bien

Suivre le flux des commentaires

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