Journal Charta, une petite appli CLI pour afficher des graphiques dans un terminal

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
4
18
sept.
2025

Avant-propos

Je découvre Go (Golang) et j'avais une petite idée qui me trottais derriére la tête : un utilitaire pour générer des petits graphiques dans un terminal, une chose que je fais réguliérement en bash pour une visialisation à travers SSH.
Je me suis donc attelé à la tâche et voici un premier jet de mes cogitations.

Présentation

Charta est un outil en ligne de commande écrit en Go pour générer des graphiques colorés dans un terminal. Il prend en charge plusieurs types de graphiques et divers formats d'entrée, notamment JSON, YAML et texte brut. Charta offre des options d'entrée flexibles, une sortie colorée avec des couleurs personnalisables, des capacités de regroupement pour l'analyse de données, et un support de seuils avec des niveaux d'avertissement et d'alerte. Parfait pour la visualisation de données dans les environnements terminaux et les workflows de scripts shell.

Fonctionnalités principales

  • Type de graphiques multiples : Pour l'instant un type simple et un type minmax, d'autres devraient suivres
  • Entrée Flexible : Support des fichiers JSON, YAML, TXT, entrée STDIN ou en argument pour une flexibilité maximale.
  • Sortie Colorée : plusieurs couleurs d'affichage (rouge, vert, jaune, bleu, magenta, cyan et gris avec en plus orange et violet pour les terminaux Truecolor.
  • Regroupement de Données : Regrouper plusieurs valeurs pour la moyenne ou l'analyse avec des options de regroupement configurables.
  • Support de Seuils : Seuils d'avertissement et d'alerte avec codage couleur pour la surveillance et les alertes.
  • Affichage Personnalisables : Largeur ajustable, valeurs min/max, étiquettes et couleurs pour une visualisation personnalisée.

Exemple d'utilisation

Graphique simple

Graphique simple

Graphique Min/Moy/Max

Graphique Min/Moy/Max

Graphique simple avec surcharge des seuils d'alerte et de warning

Graphique simple avec seuils

Graphique Min/Moy/Max depuis le fichier temps_reponse.json

{
    "type": "minmax",
    "values": [10, 20, 30, 40, 50]
}

Graphique Min/Moy/Max depuis JSON

Graphique Min/Moy/Max depuis STDIN

Il est à noté que dans ce cas le graphique peux s'actualiser en temps réel
Graphique Min/Moy/Max depuis STDIN

Contribuer

Les contributions sont les bienvenues ! N'hésitez pas à forker le dépôt, proposer des améliorations, signaler des bugs ou soumettre des pull requests.

Licence

Ce script est distribué sous la licence Apache 2.0.
Développé par Philippe SÉRAPHIN

Site web : spn109.fr/charta

Dépôt GIT : codeberg.org/spn109/charta

Envoyer un commentaire

Suivre le flux des commentaires

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