[Custom Widget] Tableau Croisé Dynamique en Français

Bonjour à toutes et à tous,

Dans le cadre du déploiement de Grist à la Métropole de Lyon, nous retravaillons plusieurs custom widgets afin de mieux répondre aux besoins concrets des agents.

Le Tableau Croisé Dynamique (TCD) fait partie des outils que l’on nous demandera rapidement. Or, la version actuelle présente dans Grist reste trop limitée pour un usage quotidien et fluide. J’ai donc travaillé sur une amélioration du widget, avec pour objectif une meilleure ergonomie et une plus grande lisibilité.

Principales améliorations par rapport à la première version:

  • Traduction intégrale en français des opérations mathématiques
  • Suppression des éléments non liés au fonctionnement de base du TCD, pour en faire un widget dédié
  • Ajustement de la taille de la police pour un meilleur confort de lecture
  • Mise en place de deux modes de vue : un mode « édition » pour la création du TCD et un mode « plein écran » pour la lecture
  • Ajout d’étiquettes claires inspirées d’Excel : Colonnes, Lignes, Valeur Σ

Ce widget a été conçu pour être simple, lisible et directement opérationnel. Vos retours sont bien entendu les bienvenus, et je vais essayer de continuer à l’améliorer. J’ai testé une version en vert Grist mais le résultat n’était pas très satisfaisant.

Un exemple de TCD avec les deux modes de vue :

Disponible à cette adresse : PivotTable

Enfin, il pourrait être utile de réfléchir à un référentiel graphique commun pour les widgets produit dans la sphère ANCT/DINUM. Peut-être un sujet à creuser avec Lucie ?

6 « J'aime »

Trop bien Arthur ! Merci pour le taf ! ça te dirait de contribuer le widget dans GitHub - betagouv/grist-custom-widgets-fr-admin: "Widgets custom" pour Grist développés pour répondre aux besoins de l'administration française ? ça aurait du sens pour la mutualisation dont tu parles :slight_smile: a dispo pour t’aider à faire ça si tu veux

Bonjour Arthur,

Super travail sur ce widget ! Est-ce que tu l’as développé avec le Custom Widget Builder de Grist ?
Si oui, serait-il possible d’avoir accès au code ? On aimerait beaucoup le tester de notre côté et, si possible, y contribuer.

On rencontre aussi pas mal de limites avec le widget TCD de base.

Le code est ici grist-widget/pivottable at master · Arthurpanck/grist-widget · GitHub

1 « J'aime »

Génial @Arthur_Panckoucke merci beaucoup !

Je le teste avec la commune de Luc-en-Diois pour leur grist des marchés, et on se rapproche bien de leur utilisation dans Excel, qui permet de visualiser en un coup d’oeil la présence des exposant·es selon les jours de marché.

Cela donne :

Et sur Excel :

Une petite demande : pour gagner de la place/est-ce que ce serait possible stp d’ajouter une option pour ne pas afficher les titres des colonnes / enlever le padding des cellules, ou alors pouvoir définir la largeur des colonnes et hauteur des lignes ? L’idée serait d’avoir un tableau le plus compact possible. Ca permettrait aussi d’aligner les valeurs des lignes avec les titres de ligne.

Et une demande plus accessoire : serait-il possible de mettre une option pour enlever la couleur ?

Merci beaucoup d’avance !

J’ai crée un fork ici : GitHub - gristgouv/TCD-widget: Widget "Tableau Croisé Dynamique" pour Grist, servi sur https://gristgouv.github.io/TCD-widget/

@Arthur_Panckoucke @nicodioub ça vous dirait d’y contribuer tous ensemble ici ?

@audezu tu peux y ouvrir ton ticket ?

2 « J'aime »

Bonjour à tous,

Merci pour vos retours très positifs !

@vincent.viers effectivement on peut contribuer sur le Fork que tu proposes pour terminer correctement le widget en répondant aux attentes de la communauté avant de le mettre à disposition de manière plus générale !

Top, je t’invite sur le repo :pray:

Bonjour,
Oui ca serait super, j’ai le même pseudo sur github si besoin !

@nicodioub j’ai mis Arthur comme mainteneur du dépôt et je préfère ensuite que ça soit lui qui décide de qui doit être invité en direct sur le repo, tu peux déjà contribuer en faisant des PR depuis un fork :slight_smile:

le dépôt : GitHub - gristgouv/TCD-widget: Widget "Tableau Croisé Dynamique" pour Grist

Pas de soucis, ça me va très bien comme ca !

@audezu
@nicodioub

Le Widget a été mis à jour pour répondre à vos demandes !

Modern UI : retour à un design blanc / gris cassé, pour une expérience proche d’Excel et un rendu plus moderne.

Lisibilité : les variables sont maintenant mises en couleur pour mieux les distinguer.

Flexibilité : la taille du tableau est désormais ajustable grâce à 10 niveaux de zoom (modification de la police d’écriture), pour s’adapter à tous les usages et intégrer des tableaux de toutes tailles.

La mise à jour est disponible ici :
https://gristgouv.github.io/TCD-widget/

N’hésitez pas à me dire si cela répond ou non à vos besoins !

1 « J'aime »

Wooow génial, sublime, testé, approuvé ! merci beaucoup :slight_smile:

Cela donne ceci :

Pour cette configuration :

Pour info, pour les personnes qui débutent comme moi avec le widget, pour choisir la valeur croisée, il faut d’abord choisir ce qu’on veut afficher en fin de ligne (par exemple ici « Somme en entiers » pour afficher le total du nombre de présences) et ensuite on choisit la valeur à afficher (ici la colonne « Présence », mais ça pourrait être une colonne « Total à facturer » par exemple).

2 « J'aime »

En fait @Arthur_Panckoucke j’ai l’impression qu’en vue « plein écran », la table prend toute la hauteur et toute la largeur (question de flexitude probablement), du coup les paddings qui étaient diminués quand on met en mode compact ne sont pas préservés dans la version plein écran.

Ex ici pour les paddings des lignes :


Ou ici pour le padding des colonnes :


Du coup on « perd » la compacité. Est-ce que ce serait possible tu penses d’avoir un mode « fixe », pour lequel la table ne prend pas tout l’écran ?

En gros, mon besoin c’est une police 10/12 avec très peu de padding au niveau des cellules (comme dans le mode 0.4), pour avoir des lignes et colonnes « resserrées » (et c’est ok si le tableau n’est pas « adaptatif »)

Merci d’avance !

bonjour,
super boulot. Pour le reférentiel graphique commun tu peux regarder du coté du système de design de l’état (https://www.systeme-de-design.gouv.fr/).

Bonjour @Arthur_Panckoucke :wave:

Je teste le widget depuis l’instance grist.numerique.gouv.fr

En ce qui concerne l’export XLSX, je remarque que je télécharge l’intégralité du document et non pas la vue pivotée.

Je vais regarder ici pour essayer de corriger si c’est bien ici qu’on met à jour grist-widget/pivottable at master · Arthurpanck/grist-widget · GitHub

@qleroy Oui c’est bien ici, je vais aussi continuer à apporter des modifications !

Bonjour à toustes, et merci pour ce widget Arthur !
Je me pose deux questions à son sujet :

Encore merci pour ton travail bien pratique !

Hello : C’est bien ici que je fais les modifications désormais
GitHub - gristgouv/TCD-widget: Widget « Tableau Croisé Dynamique » pour Grist et donc la version la plus récente est ici :
https://gristgouv.github.io/TCD-widget/

Pour le sous-total cela reste à implémenter, de même il y aurait encore un travail graphique et de design en terme de responsive pour améliorer drastiquement la lisibilité, mais j’avoue ne pas très bien me projeter sur l’apparence idéale et la manière de le rendre responsive dans tous les cas de figure que propose grist (vue pleine écran), petite vue sur un côté de tableau, etc, si jamais vous avez des pistes n’hésitez pas à contribuer !

Merci pour les précisions Arthur ! Te serait-il possible d’éditer ton premier post pour que ces liens apparaissent en premier dans le topic stp ?

Je reviendrai poster mes suggestions si je trouve l’occasion de réfléchir à l’interface. C’est vrai que ce n’est pas une mince affaire !