Extension Hledger – Affichage des journaux comptables en texte brut dans les sujets

:information_source: Résumé Afficher les journaux hledger sous forme de tableau de bord en direct dans le premier message d’un sujet.
:hammer_and_wrench: Dépôt gitea.kosmos.org/raucao/discourse-hledger
:open_book: Guide d’installation README

Fonctionnalités

Placez un journal hledger dans un bloc de code délimité par des tirets hledger dans le premier message d’un sujet, et il sera remplacé par un tableau de bord avec cinq rapports, générés à la demande par l’exécutable hledger du serveur :

  • :clipboard: Comptes — l’arborescence complète des soldes, tous les comptes parents étant dépliés.

  • :balance_scale: Bilan — actifs, passifs et capitaux propres, regroupés en sections.

  • :chart_increasing: Compte de résultat — revenus et dépenses.

  • :busts_in_silhouette: Capitaux propres — une répartition par devise du capital apporté.

  • :receipt: Journal — un journal des transactions avec chaque écriture.

  • Les rapports peuvent être filtrés par une plage de dates (du/au) ; la date de fin est inclusive.

  • Les segments de compte écrits sous la forme @nom_utilisateur (par exemple equity:@alice) deviennent
    des liens de mention Discourse avec la carte de profil habituelle ; seuls les utilisateurs existants sont
    liés.

  • Les rapports sont générés à la demande et mis en cache par révision de message, de sorte que la modification du
    journal les met à jour.

Exemple de bloc

```hledger
2024-01-01 Soldes d'ouverture
    assets:bank:checking       1000.00 EUR
    equity:alice               -600.00 EUR
    equity:bob                 -400.00 EUR
```

Captures d’écran

Exigences

  • L’exécutable hledger sur le serveur (testé avec hledger 1.32.3).
  • Discourse 2.7.0 ou plus récent.

Avec l’installation Docker standard, installez le plugin et le paquet hledger via votre app.yml puis reconstruisez :

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://gitea.kosmos.org/raucao/discourse-hledger.git discourse-hledger
    - exec:
        cd: $home
        cmd:
          - apt-get update
          - DEBIAN_FRONTEND=noninteractive apt-get install -y hledger

Configuration

  1. Activez le plugin dans Admin > Settings > Plugins (hledger enabled).
  2. Ajoutez un journal hledger au premier message d’un sujet.
  3. Définissez éventuellement hledger path si l’exécutable n’est pas dans le PATH par défaut.

Paramètres

Nom Description
hledger enabled Active le plugin.
hledger path Chemin vers l’exécutable hledger (par défaut hledger).
hledger max journal bytes Taille maximale d’un journal accepté, en octets (par défaut 262144).
hledger max journal lines Nombre maximal de lignes dans un journal (par défaut 5000).
hledger timeout seconds Limite de temps réel pour chaque invocation d’hledger (par défaut 10).
hledger max output bytes Plafond de la sortie capturée d’hledger (par défaut 1048576).
hledger memory limit mb Plafond de mémoire pour le processus hledger ; 0 le désactive (par défaut 256).
hledger global rate limit per minute Plafond de génération de rapports pour tous les utilisateurs ; 0 le désactive (par défaut 120).

Sécurité

Les journaux sont des entrées non fiables. Le plugin exécute hledger en tant que sous-processus non privilégié avec un environnement assaini, un répertoire de travail privé, un délai d’expiration strict, des limites de CPU/taille de fichier/mémoire et un plafond de sortie, et il rejette les directives include. Les rapports ne sont retournés que pour les sujets que le spectateur peut voir, et les requêtes sont limitées par IP (30/min) et globalement.

Compatibilité et licence

  • Licence MIT
  • Les retours d’information, rapports de bugs et traductions sont les bienvenus dans ce sujet ou par e-mail, réseaux sociaux (ActivityPub) ou chat (XMPP) à raucao@kosmos.org
2 « J'aime »