[grisbi-bugs] [Grisbi 0002369]: Proposition d'amélioration de la présentation d'un état au format HTML

Grisbi Bug Tracker bugtracker at grisbi.org
Lun 26 Jan 21:40:09 CET 2026


The following issue has been RESOLVED. 
====================================================================== 
https://www.grisbi.org/bugsreports/view.php?id=2369 
====================================================================== 
Reported By:                RBonmarin
Assigned To:                LudovicRousseau
====================================================================== 
Project:                    Grisbi
Issue ID:                   2369
Category:                   Main
Reproducibility:            N/A
Severity:                   tweak
Priority:                   low
Status:                     resolved
OS:                         Windows 
Version exact Grisbi:       3.90.0 
Version OS:                  
Version GTK:                 
Resolution:                 fixed
Fixed in Version:           development (git)
====================================================================== 
Date Submitted:             2026-01-21 10:53 CET
Last Modified:              2026-01-26 21:40 CET
====================================================================== 
Summary:                    Proposition d'amélioration de la présentation d'un
état au format HTML
Description: 
Bonjour, 
En préparant la synthèse des revenus et dépenses du mois, j'ai choisi de
créer un rapport au format HTML ; au vu du résultat obtenu, j'en ai examiné
le fichier source pour voir s'il était possible d'améliorer facilement sa
présentation en utilisant une liste limitée de styles CSS. 
La bonne nouvelle est que la structure du fichier HTML est suffisamment simple
pour que sa révision ne soit pas très lourde à réaliser. 

Additional Information: 
Pour illustrer concrètement ma proposition, je joins quelques fichiers dans une
archive ZIP :
- un état de synthèse mensuelle au format HTML actuel : Revenus et dépenses
du mois 2025-07.html
- une copie modifiée de ce fichier HTML pour exploiter les styles CSS : Revenus
et dépenses du mois 2025-07 - Maquette.html
- 2 fichiers CSS : grisbi_default.css et grisbi_perso.css (pour une éventuelle
personnalisation)

L'idée (classique) est d'attribuer une classe CSS à chaque type de ligne et de
reporter les propriétés de présentation de chaque ligne dans ces classes CSS.
Une second fichier CSS de personnalisation permet à chacun de facilement
modifier la présentation de l'état selon ses besoins sans affecter le
fonctionnement de l'ensemble.
Accessoirement, cela simplifierait la génération des lignes en évitant une
indentation réalisée avec des espaces insécables.
====================================================================== 

---------------------------------------------------------------------- 
 (0007426) LudovicRousseau (administrator) - 2026-01-21 14:30
 https://www.grisbi.org/bugsreports/view.php?id=2369#c7426 
---------------------------------------------------------------------- 
Effectivement c'est beaucoup plus joli.
Je regarde ça. 

---------------------------------------------------------------------- 
 (0007427) LudovicRousseau (administrator) - 2026-01-21 22:50
 https://www.grisbi.org/bugsreports/view.php?id=2369#c7427 
---------------------------------------------------------------------- 
j'ai poussé une modification pour améliorer le rendu HTML
https://github.com/LudovicRousseau/grisbi/commit/a498a077bfe6de35cfb1f611bd7bfc5fc54dd977

Voir un exemple en pièce jointe. 

---------------------------------------------------------------------- 
 (0007428) RBonmarin (reporter) - 2026-01-22 17:03
 https://www.grisbi.org/bugsreports/view.php?id=2369#c7428 
---------------------------------------------------------------------- 
Bonjour Ludovic, 
Bravo pour votre réactivité et votre efficacité :)
Votre état "Budget annuel" est très bien pour vérifier les mises en forme par
les CSS. 
J'ai remarqué que 2 classes étaient manquantes, alors j'ai modifié le fichier
"grisbi_default.css" pour les ajouter. J'en ai profité pour ajuster quelques
directives mises en évidence par votre état de test ; je vous joins le fichier
modifié, mes modifications sont commentées. Faites-en ce qui vous semble bon.
Au niveau du fichier HTML, il reste des paramètres "align='left|center|right' "
devenus inutiles puisque ce sera géré par la classe CSS : je suppose que c'est
un peu de code passé au travers du filet :)

Cordialement, 
Richard 

---------------------------------------------------------------------- 
 (0007429) LudovicRousseau (administrator) - 2026-01-22 19:37
 https://www.grisbi.org/bugsreports/view.php?id=2369#c7429 
---------------------------------------------------------------------- 
Je crois que vous avez oublié de joindre le fichier .css :-)

Pour la suite je pense que le plus simple est d'inclure le CSS dans le fichier
HTML lui-même. Comme ça Grisbi ne génère qu'un seul fichier en sortie.
Le HTML contiendra toujours un "<link rel="stylesheet" href="grisbi_perso.css"
/>" pour pouvoir customiser le rendu. 

---------------------------------------------------------------------- 
 (0007430) RBonmarin (reporter) - 2026-01-22 20:23
 https://www.grisbi.org/bugsreports/view.php?id=2369#c7430 
---------------------------------------------------------------------- 
Bonsoir Ludovic, 
Je suis parfois tête en l'air :)
Le fichier est suffixé "_v2" pour éviter d'écraser la première version, à
toutes fins utiles. 
Isoler les CSS dans un fichier allège l'état HTML mais vous contraint
effectivement à gérer 2 fichiers. Si vous intégrez les styles CSS dans le
fichier HTML pour n'avoir qu'un fichier à produire, je vous suggère de
compacter les lignes pour en réduire l'encombrement. On voit ça dans les
sources de pas mal de pages de sites Web...
Bonne soirée, 
Richard 

---------------------------------------------------------------------- 
 (0007431) LudovicRousseau (administrator) - 2026-01-22 22:18
 https://www.grisbi.org/bugsreports/view.php?id=2369#c7431 
---------------------------------------------------------------------- 
Le traitement spécial pour le nombre de transactions va être plus compliqué.
C'est parce que Grisbi génère une case de la table avec "23,92 € (2
opérations)" et pas 2 cases différentes.
Idem pour "Total sous-catégories (2 opérations) : " 

---------------------------------------------------------------------- 
 (0007432) RBonmarin (reporter) - 2026-01-23 11:09
 https://www.grisbi.org/bugsreports/view.php?id=2369#c7432 
---------------------------------------------------------------------- 
Bonjour Ludovic, 
Avez-vous la possibilité de facilement "splitter" la chaine de texte en vous
appuyant sur "€ (", par exemple, pour dissocier le montant du nombre
d'opérations ? Ce sera moins facile avec la ligne totalisant chaque
sous-catégorie car le libellé de celle-ci pourrait contenir une parenthèse. 
J'aurais été ravi de contribuer au moins une fois à GRISBI mais je ne connais
pas le C ; je peux toutefois faire des recherches en ce sens, je devrais avoir
la patience nécessaire :)
Dites-moi en quoi je peux aider, à mon faible niveau... 

---------------------------------------------------------------------- 
 (0007433) LudovicRousseau (administrator) - 2026-01-23 19:08
 https://www.grisbi.org/bugsreports/view.php?id=2369#c7433 
---------------------------------------------------------------------- 
Je vous propose d'installer la version 3.92.0 (Grisbi-64bit-3.92.0-setup.exe)
https://sourceforge.net/projects/grisbi/files/grisbi%20unstable/3.1.x/
de la tester et de me faire vos retours. 

---------------------------------------------------------------------- 
 (0007434) RBonmarin (reporter) - 2026-01-23 20:36
 https://www.grisbi.org/bugsreports/view.php?id=2369#c7434 
---------------------------------------------------------------------- 
Bonsoir Ludovic, 
Je viens d'installer la v3.92.0 et je vous remercie encore pour votre
réactivité.
Voici ce que j'ai observé suite à la création d'un état de synthèse
mensuelle au format HTML :
1) les styles par défaut ne sont pas intégrés au corps du fichier HTML. J'ai
compensé par l'ajout d'une référence au fichier CSS externe
2) la classe "sub_title" n'existait pas dans le fichier CSS par défaut : j'ai
renommé l'ancienne classe "incomes" en "sub_title"
3) complément : j'ai désactivé la directive "font-weight: bold;" de la classe
"sub_category" dans mon fichier CSS pour améliorer la lisibilité de l'état

Je vais poursuivre tranquillement l'examen de la version 3.92.0 sur d'autres
points.

Bon week-end, 
Richard 

---------------------------------------------------------------------- 
 (0007435) LudovicRousseau (administrator) - 2026-01-23 22:44
 https://www.grisbi.org/bugsreports/view.php?id=2369#c7435 
---------------------------------------------------------------------- 
Oups. C'est ma faute. J'ai oublié une modification.
La (nouvelle) version 3.92.0 intègre maintenant le code CSS dans le HTML.

Le fichier CSS est dans
.../Programmes/Grisbi-3.91.0/share/grisbi/ui/grisbi_report_default.css
Vous pouvez le modifier pour les tests et m'envoyer la version qui vous
convient. 

---------------------------------------------------------------------- 
 (0007436) RBonmarin (reporter) - 2026-01-24 13:59
 https://www.grisbi.org/bugsreports/view.php?id=2369#c7436 
---------------------------------------------------------------------- 
Bonjour Ludovic, 
J'ai réglé un petit défaut d'affichage pour les totaux de catégorie (la
séparation en pointillés ne s'affichait pas sous le libellé alors que
c'était OK sous le montant), réglé en fixant l'épaisseur des tirets à 1.5px
au lieu de 1px. Les totaux sont tous affichés en bleu "navy", sauf le total
général en rouge brique. Je n'ai modifié que les classes "total_category" et
"amount_total_category".
En générant un rapport détaillé, je n'ai pas trouvé la classe "payee_name"
: je l'ai associée à la classe "payee" qui existait déjà.
Enfin, j'ai compacté toutes les lignes CSS pour limiter l'encombrement à 19
lignes : regardez le fichier "grisbi_report_default_compacted.css" et dites-moi
si cela peut vous convenir. Sinon, la version lisible est dans
"grisbi_report_default_v3.css", je vous mets les 2 fichiers en attachement. Vous
les renommerez à votre convenance.

Enfin, pourriez-vous ôter le "s" à la fin du libellé "Total sous-catégories"
puisque ce n'est le total que pour la catégorie précédemment listée ?

Bon week-end, 
Richard 

---------------------------------------------------------------------- 
 (0007439) LudovicRousseau (administrator) - 2026-01-25 14:50
 https://www.grisbi.org/bugsreports/view.php?id=2369#c7439 
---------------------------------------------------------------------- 
Je ne vois pas l’intérêt de minimiser le fichier .css. C'est pas comme un
serveur web qui diffuse un .css des millions de fois.
Je préfère garder la lisibilité.

j'ai fait des modifications au code et au CSS.
Nouvelle version 3.92.0 toujours sur
https://sourceforge.net/projects/grisbi/files/grisbi%20unstable/3.1.x/ 

---------------------------------------------------------------------- 
 (0007442) RBonmarin (reporter) - 2026-01-26 14:55
 https://www.grisbi.org/bugsreports/view.php?id=2369#c7442 
---------------------------------------------------------------------- 
Bonjour Ludovic, 
Tout est OK pour moi. Je préfère aussi la lisibilité à la compacité, cela
aidera à une éventuelle surcharge dans un fichier ~perso.css

Pour info, le libellé "Total sous-catégories" est resté avec son "s" final.

Cordialement, 
RB 

---------------------------------------------------------------------- 
 (0007444) LudovicRousseau (administrator) - 2026-01-26 21:40
 https://www.grisbi.org/bugsreports/view.php?id=2369#c7444 
---------------------------------------------------------------------- 
La génération du HTML maintenant dans le code officiel.

"Total sous-catégories" est maintenant corrigé dans la version anglaise.
Il faudra mettre à jour les fichiers de localisation pour que ça ne soit dans
toutes les langues.

Merci pour toutes les remarques. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2026-01-21 10:53 RBonmarin      New Issue                                    
2026-01-21 10:53 RBonmarin      File Added: Maquette - Synthèse mensuelle.zip  
                 
2026-01-21 14:30 LudovicRousseauNote Added: 0007426                          
2026-01-21 14:30 LudovicRousseauAssigned To               => LudovicRousseau 
2026-01-21 14:30 LudovicRousseauStatus                   new => assigned     
2026-01-21 22:50 LudovicRousseauNote Added: 0007427                          
2026-01-21 22:50 LudovicRousseauFile Added: propal.zip                       
2026-01-22 17:03 RBonmarin      Note Added: 0007428                          
2026-01-22 19:37 LudovicRousseauNote Added: 0007429                          
2026-01-22 20:23 RBonmarin      Note Added: 0007430                          
2026-01-22 20:23 RBonmarin      File Added: grisbi_default_v2.css               
    
2026-01-22 22:18 LudovicRousseauNote Added: 0007431                          
2026-01-23 11:09 RBonmarin      Note Added: 0007432                          
2026-01-23 19:08 LudovicRousseauNote Added: 0007433                          
2026-01-23 20:36 RBonmarin      Note Added: 0007434                          
2026-01-23 22:44 LudovicRousseauNote Added: 0007435                          
2026-01-24 13:59 RBonmarin      Note Added: 0007436                          
2026-01-24 13:59 RBonmarin      File Added: grisbi_report_default_compacted.css 
                  
2026-01-24 13:59 RBonmarin      File Added: grisbi_report_default_v3.css        
           
2026-01-25 14:50 LudovicRousseauNote Added: 0007439                          
2026-01-26 14:55 RBonmarin      Note Added: 0007442                          
2026-01-26 21:40 LudovicRousseauStatus                   assigned => resolved
2026-01-26 21:40 LudovicRousseauResolution               open => fixed       
2026-01-26 21:40 LudovicRousseauFixed in Version          => development (git)
2026-01-26 21:40 LudovicRousseauNote Added: 0007444                          
======================================================================



Plus d'informations sur la liste de diffusion bugsreports