| Résumé | Afficher les journaux hledger sous forme de tableau de bord en direct dans le premier message d’un sujet. | |
| Dépôt | gitea.kosmos.org/raucao/discourse-hledger | |
| 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 :
-
Comptes — l’arborescence complète des soldes, tous les comptes parents étant dépliés. -
Bilan — actifs, passifs et capitaux propres, regroupés en sections. -
Compte de résultat — revenus et dépenses. -
Capitaux propres — une répartition par devise du capital apporté. -
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 exempleequity:@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
hledgersur 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
- Activez le plugin dans
Admin > Settings > Plugins(hledger enabled). - Ajoutez un journal hledger au premier message d’un sujet.
- Définissez éventuellement
hledger pathsi l’exécutable n’est pas dans lePATHpar 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


