Ajout : doc/
[tool/hledger.git] / doc / hledger.fr.slidy.ad
1 = Informatiser une comptabilité avec confiance
2 :author: git://git.autogeree.net/tool/hledger
3 :copyright: © 2014 (CC) BY Julien Moutinho <julm+hledger@autogeree.net>
4 :icons:
5 :iconsdir: ./icons
6 :numbered:
7 :toc:
8 :slidebackground: hledgersplash
9 :slidefontsizeadjust: -3
10 :incremental:
11 :revremark:
12 //:max-width: 45em
13 :scriptsdir: $PWD/javascripts
14 ifdef::backend-slidy2[:data-uri:]
15
16 ifdef::backend-slidy2[:slidebackground!:]
17
18 // a2x: --xsltproc-opts "--stringparam ulink.show 1"
19 // a2x: --xsltproc-opts "--stringparam ulink.footnotes 1"
20 // :source-highlighter: vim
21
22
23 == Le ++.ledger++ : un format de __Grand Livre__ ouvert.. et simple
24
25 [source,hledger]
26 ----
27 2014/05/01 Stand manif
28 Don:Anonyme -42
29 Caisse:Grève 42
30
31 2014/05/08 Propagande
32 Caisse:Grève -7
33 Achat:Impression:Tracts 7
34
35 ; Répéter ad nauseam
36 ----
37
38 ifdef::backend-slidy2[>>>]
39 === Les plus
40 [horizontal]
41 Transparent:: Visibilité de _toutes_ les informations.
42 Pérenne:: Compréhensible sans peine.
43 Modifiable:: Pas d’interface protectrice.
44 Accès:: Pas de changement d’interface non-consenti.
45 Versionnable:: Suivi et fusion simples des modifications.
46 Écrit:: Langage pour s’exprimer clairement, par exemple pour discuter dans un courriel.
47 Hors-ligne:: Pas besoin de réseau.
48 Interopérable::
49 Pas spécifique à un éditeur logiciel particulier
50 (sauf fonctionnalité expérimentale).
51 * http://ledger-cli.org/[]
52 * http://hledger.org/[]
53 * http://furius.ca/beancount/[]
54 * https://massysett.github.io/penny/[]
55 * https://github.com/hrj/abandon/[]
56
57 === Les moins
58 [horizontal]
59 Modifiable::
60 Mais pas moins que les autres logiciels
61 et à nuancer si couplé à un gestionnaires de versions,
62 et/ou avec signature cryptographiques.
63 +
64 [source,sh]
65 ----
66 % git tag --sign v2011 -m "Clôture de la comptabilité 2011"
67 % git tag --verify v2011
68 ----
69 +
70 [source,sh]
71 ----
72 % gpg --sign $fichier.hledger
73 % gpg --verify-files $fichier.hledger.gpg
74 ----
75
76 Textuel:: Préférable de bien savoir utiliser
77 un éditeur de texte structuré.
78 Peu contraint::
79 +
80 [source,hledger]
81 ----
82 2102/03/21 Remise chq (1101804)
83 5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser -145,00
84 5.Finance:1.Etablissement:2.Banque:001.Courant 145,00
85 ----
86
87 NOTE: KISS
88
89
90 == ++hledger++ : un outil libre.. et convivial
91 [source,sh]
92 ----
93 % hledger balance '^6' '^7' --depth 2 -f Paris.2011.hledger
94 770,58€ 6.Charge
95 248,87€ 0.Achat
96 441,46€ 1.Service
97 55,25€ 2.Autre_service
98 25,00€ 5.Gestion
99 -726,00€ 7.Produit
100 -700,00€ 0.Vente
101 -26,00€ 5.Autre_gestion_courante
102 ‑-------------------
103 44,58€
104 ----
105
106 ifdef::backend-slidy2[>>>]
107 === Les plus
108
109 Utilisation::
110 Étude::
111 Modification::
112 Duplication::
113 Permises techniquement et légalement +
114 (« logiciel libre » sous ++GNU/GPLv3++)
115
116 Certification::
117 Programmé en http://fr.wikipedia.org/wiki/Haskell[Haskell]
118 [horizontal]
119 Fonctionnel pur;; Aucune mutation de données externes à une fonction (effet de bord).
120 Typage statique;; Vérification des erreurs de type avant l’exécution du programme.
121 Typage fort;; Aucune conversion implicite de types de données.
122
123 Portable:: GNU/Linux, Apple/MacOS, Microsoft/Windows
124
125 Support:: ~1 développeur à mi-temps
126 +
127 * Simon Michael <simon@joyful.com>
128
129 [horizontal]
130 Ligne de commande::
131 +
132 [source,sh]
133 ----
134 % hledger balance -f $fichier.hledger
135 ----
136 Interface Web::
137 +
138 [source,sh]
139 ----
140 % hledger-web --server -f $fichier.hledger
141 % firefox "http://localhost:5000"
142 ----
143 Extensible::
144 +
145 [source,sh]
146 ----
147 % ghc hledger-fait-ce-que-je-veux.hs
148 % ./hledger-fait-ce-que-je-veux -f $fichier.hledger
149 ----
150
151 ifdef::backend-slidy2[>>>]
152 === Les moins
153 Ligne de commande::
154 +
155 ...
156
157 == Installer `hledger`
158
159 * http://hledger.org/installing[]
160
161 [source,sh]
162 .Debian/jessie
163 ----
164 % sudo apt-get install hledger hledger-web
165 ----
166
167 ifdef::backend-slidy2[>>>]
168 === Via `cabal`
169 * http://www.haskell.org/cabal/[]
170
171 [source,sh]
172 .Debian/wheezy
173 ----
174 % echo 'PATH="$HOME/.cabal/bin:$PATH"' >>~/.profile
175 # NOTE: rajoute dans le chemins des exécutables
176 # les exécutables installés par cabal
177 % exit # NOTE: recharge ~/.profile
178
179 % sudo apt-get install ghc cabal-install \
180 libncurses5-dev libtinfo-dev zlib1g-dev
181 % cabal update
182 % cabal install cabal # NOTE: met à jour cabal
183 % cabal install happy # NOTE: anticipe une dépendance exécutable
184 % cabal install hledger
185 % cabal install alex # NOTE: anticipe une dépendance exécutable
186 % cabal install warp-2.0.3.4 hledger-web
187 # NOTE: aide cabal à sélectionner un warp qui fonctionne
188 ----
189
190 [source,sh]
191 .Mise-à-jour
192 ----
193 % cabal install --reinstall hledger hledger-web
194 ----
195
196 ifdef::backend-slidy2[>>>]
197 ==== Version de développement
198
199 [source,sh]
200 ----
201 % git clone http://github.com/simonmichael/hledger.git ~/src/hledger
202 % cd ~/src/hledger
203 % cabal install --reinstall --force-reinstalls \
204 ./hledger-lib ./hledger ./hledger-web
205 ----
206
207 == Écrire en +.ledger+
208 Un +.ledger+ est un fichier de texte brut respectant une syntaxe préçise
209 qui forme une succession d’écritures comptables, ordonnées librement.
210
211 ifdef::backend-slidy2[>>>]
212 === Exemple
213 [source,hledger]
214 ----
215 ; Ceci est un exemple de livre comptable « ledger »
216 ; NOTE: fantaisiste comptablement parlant, mais syntaxiquement correct
217
218 2014/01/01 Libellé de l’écriture ; UN_TAG:, Autre_tag:Avec_Valeur
219 Compte:Sous-Compte -42 ; flux créditant
220 Autre_Compte:Sous-Compte:Sous-Sous-Compte 42 ; flux débitant
221
222 2014/01/01 Deuxième écriture le même jour
223 Vente:Âme -666 ; (tag de flux) Arnaque:
224 Kapital 666
225
226 2014/01/02 Troisième écriture le jour suivant avec ventilation des flux
227 Compte:Crédité:A -1
228 Compte:Crédité:B -2
229 Compte:Débité:Z 1
230 Compte:Débité:Y 1
231 Compte:Débité:X:x 1
232
233 2014/04/12
234 Compte:Crédité -1234,56
235 Compte:Débité ; 1234,56 (montant inféré)
236
237 2014/02/01 Écriture non ordonnée par date ; Ok, mais déconseillé
238 Compte:Débité 1
239 Compte:Crédité -1 ; Flux non ordonné par crédit/débit
240 ; c'est juste moins lisible...
241
242 ; Répéter ad nauseam
243 ----
244
245 === Langage
246
247 [cols="a,a",options="header"]
248 |==================================
249 ^|Syntaxe (grammaire https://fr.wikipedia.org/wiki/Forme_de_Backus-Naur[BNF])
250 ^|Structure (signatures fonctionnelles)
251 |
252 [source,conf]
253 -----------------------------------
254 livre ::= (écriture \| commentaire \| "⏎" \| "␣")*
255 -----------------------------------
256 |
257 [horizontal]
258 :role: math
259 **livre**:: latexmath:[$
260 :\>f:\textcolor{#D2691E}{\textbf{fichier}} →
261 \lbrack\textcolor{#D2691E}{\textbf{\acute{e}criture}}\rbrack$]
262 |
263 [source,conf]
264 ----
265 écriture ::= date "␣" "␣"* libellé commentaire "⏎"
266 ("␣" flux "⏎")*
267 date ::= (année "/")? mois "/" jour
268 libellé ::= (· - (";"\|"⏎"))*
269 ----
270 |
271 [horizontal]
272 :role: math
273 **date**:: latexmath:[$
274 :\>e:\textcolor{#D2691E}{\textbf{\acute{e}criture}} →
275 (\textcolor{#083194}{\textbf{ann\acute{e}e}}:\textcolor{#D2691E}{\textbf{ℕ}},~
276 \textcolor{#083194}{\textbf{mois}}:\{\textcolor{#D2691E}{\textbf{01}},...,\textcolor{#D2691E}{\textbf{12}}\},~
277 \textcolor{#083194}{\textbf{jour}}:\{\textcolor{#D2691E}{\textbf{01}},...,\textcolor{#D2691E}{\textbf{31}}\})$]
278 **libellé**:: latexmath:[$
279 :\>e:\textcolor{#D2691E}{\textbf{\acute{e}criture}} →
280 \textcolor{#D2691E}{\textbf{texte}}$]
281 **commentaire**:: latexmath:[$
282 :\>e:\textcolor{#D2691E}{\textbf{\acute{e}criture}} →
283 \textcolor{#D2691E}{\textbf{texte}}$]
284 **tags**:: latexmath:[$
285 :\>e:\textcolor{#D2691E}{\textbf{\acute{e}criture}} →
286 \lbrack\textcolor{#D2691E}{\textbf{tag}}\rbrack
287 \ =\ \textbf{tags}~(\textbf{commentaire}~e)$]
288 **flux**:: latexmath:[$
289 :\>e:\textcolor{#D2691E}{\textbf{\acute{e}criture}} →
290 \lbrack\textcolor{#D2691E}{\textbf{flux}}\rbrack$]
291 |
292 [source,conf]
293 ----
294 flux ::= compte "␣␣" "␣"* ("-" crédit \| débit) ("␣"\|"⏎")* commentaire
295 compte ::= nom ( ":" nom )*
296 nom ::= (· - (":"\|"⏎")) (· - (":"\|"⏎"))*
297 crédit ::= quantité
298 débit ::= quantité
299 ----
300 |
301 [horizontal]
302 :role: math
303 **compte**:: latexmath:[$
304 :\>f:\textcolor{#D2691E}{\textbf{flux}} →
305 \lbrack\textcolor{#D2691E}{\textbf{nom}}\rbrack$]
306 **montant**::
307 latexmath:[$
308 :\>f:\textcolor{#D2691E}{\textbf{flux}} → \textcolor{#D2691E}{ℚ} = \displaystyle{
309 \left\{\begin{array}{ll} -~(\textbf{cr\acute{e}dit}~f) & \mathit{\mbox{si défini}} \\
310 (\textbf{d\acute{e}bit}~f) & \mathit{\mbox{sinon}}
311 \end{array}\right}$]
312 **tags**:: latexmath:[$
313 :\>f:\textcolor{#D2691E}{\textbf{flux}} →
314 \lbrack\textcolor{#D2691E}{\textbf{tag}}\rbrack
315 \ =\ \textbf{tags}~(\textbf{commentaire}~f)$]
316 |
317 [source,conf]
318 ----
319 commentaire ::= ( ";" (tag ":" valeur? \| ·)* )
320 ( ("⏎"\|"␣")* ";" (tag ":" valeur? \| ·)* )*
321 ----
322 |
323 [horizontal]
324 :role: math
325 **tags**:: latexmath:[$
326 :\>m:\textcolor{#D2691E}{\textbf{commentaire}} →
327 \lbrack\textcolor{#D2691E}{\textbf{tag}}\rbrack$]
328 **tag**:: latexmath:[$
329 :\>(\textcolor{#083194}{\textbf{tag}}:\textcolor{#D2691E}{\textbf{texte}},%
330 ~\textcolor{#083194}{\textbf{valeur}}:\textcolor{#D2691E}{\textbf{\mbox{texte}}\>?})$]
331 |==================================
332
333 NOTE: RTFM @ http://hledger.org/manual/[].
334
335
336 === Calculs
337
338 [horizontal]
339 **compte_parent**::
340 latexmath:[$:\>c : \textcolor{#D2691E}{\textbf{compte}} → \textcolor{#D2691E}{\textbf{compte}}\>?$] +
341 latexmath:[$=\>c_{\lbrack0,\cdots,|c|-2\rbrack}\ \mbox{si}\ |c| \ge 2$]
342 **hiérarchie_de_compte**::
343 latexmath:[$:\>\mathbb c : \textcolor{#D2691E}{\textbf{compte}} → \lbrack\textcolor{#D2691E}{\textbf{compte}}\rbrack$] +
344 latexmath:[$=\>\lbrack{\ c\ :\ \lbrack{\ c\ |\ c ← (\mathbf{compte\mbox{_}parent}\>{c})}\ \rbrack}\ \rbrack$]
345 **comptes**::
346 latexmath:[$:\>\mathbb E : \lbrack\textcolor{#D2691E}{\textbf{\acute{e}criture}}\rbrack → \{\textcolor{#D2691E}{\textbf{compte}}\}$] +
347 latexmath:[$\{\ (\textbf{compte}\>f)\ |\ f ← (\textbf{flux}\>e)\ |\ e ← \mathbb E\ \}$]
348 **balance**::
349 latexmath:[$:\>\mathbb F : \lbrack\textcolor{#D2691E}{\textbf{flux}}\rbrack → ℚ$] +
350 latexmath:[$=\>{(\ m\ |\ m ← m + (\textbf{montant}\>f)\ |\ f ← \mathbb F\ |\ m ← 0\ )$] +
351 **solde_de_compte**::
352 latexmath:[$:\>\mathbb E : \lbrack\textcolor{#D2691E}{\textbf{\acute{e}criture}}\rbrack → c : \textcolor{#D2691E}{\textbf{compte}} → ℚ$] +
353 latexmath:[$=\>{\textbf{balance}\>\lbrack{\ f\ |\ f ← (\textbf{flux}\>e),\ c\>≼\>(\textbf{compte}\>f)\ |\ e ← \mathbb E\ }\rbrack$] +
354 // latexmath:[$=\>{\displaystyle{\sum_{e ← \mathbb E}}\left(\sum_{\stackrel{f ← (\textbf{flux}\>e),}{c\ ≼\ (\textbf{compte}\>f)}}(\textbf{montant}\>f})\right)$]
355 **solde**::
356 latexmath:[$:\>\mathbb E : \lbrack\textcolor{#D2691E}{\textbf{\acute{e}criture}}\rbrack →
357 \lbrack\textcolor{#D2691E}{\textbf{flux}}\rbrack$] +
358 latexmath:[$=\>\displaystyle{\left\lbrack
359 \begin{array}{l}
360 (\textcolor{#083194}{\textbf{compte}}=c´, \textcolor{#083194}{\textbf{montant}}=m) \\
361 |\ m ← (\mathbf{\mbox{solde_de_compte}}\,\mathbb E\,c´) \\
362 |\ c´ ← (\mathbf{hi\acute{e}rarchie\mbox{_}de\mbox{_}compte}\,c) \\
363 |\ c ← (\mathbf{comptes}\,\mathbb E)
364 \end{array}}\right\rbrack$]
365
366
367 === Utiliser un éditeur de texte structuré (`vim`)
368
369 Coloration syntaxique sur mesure::
370 * ++hledger.vim++
371 +
372 [source,vim]
373 .~/.vimrc
374 ----
375 autocmd BufNewFile,BufRead *.hledger,*.ledger setfiletype hledger
376 ----
377 Complètement automatique des comptes (`<Tab>`)::
378 +
379 * https://github.com/Shougo/neocomplete.vim[]
380 * https://github.com/Shougo/neocomplcache.vim[]
381 +
382 [source,vim]
383 .~/.vimrc
384 ----
385 autocmd Filetype hledger set iskeyword+=.,38,39,40,41,44,45,58 "
386 ----
387 Alignement automatique des montants::
388 +
389 * https://github.com/junegunn/vim-easy-align[]
390 +
391 [source,vim]
392 .~/.vimrc
393 ----
394 let g:easy_align_ignore_groups = ['Comment', 'String', 'hledgerTransaction']
395 ----
396
397 ifdef::backend-slidy2[>>>]
398 ==== Suivre les modifications à plusieurs et/ou à distance (`git`)
399 TODO
400
401 == Commandes `hledger`
402
403 ifdef::backend-slidy2[>>>]
404 === Calculer des soldes (`balance`)
405 [source,sh]
406 ----
407 % hledger balance -f $fichier.ledger $filtre
408 ----
409
410 [source,sh]
411 .Suivi des comptes
412 ----
413 % hledger balance -b 2012/02/01 -e 2012/04/30 --monthly -f $fichier.ledger >/tmp/bal.flow
414 % hledger balance -b 2012/02/01 -e 2012/04/30 --cumulative --monthly -f $fichier.ledger >/tmp/bal.cumulative
415 % hledger balance -b 2012/02/01 -e 2012/04/30 --historical --monthly -f $fichier.ledger >/tmp/bal.historical
416 % gvimdiff -o /tmp/bal.{cumulative,historical}
417 ----
418 image::data/gvimdiff-cumulative-historical.png[]
419
420 ifdef::backend-slidy2[>>>]
421 === Filtrer des écritures (`print`)
422 TODO
423
424 ifdef::backend-slidy2[>>>]
425 === Suivre un compte (`register`)
426 TODO
427
428 ifdef::backend-slidy2[>>>]
429 === Observer des statistiques (`stats`, `activity`)
430 TODO
431
432
433 == Exercice comptable
434
435 ifdef::backend-slidy2[>>>]
436 === Plan comptable d’une association
437
438 * DOC : https://wiki.cyclocoop.org/Comptabilité/Document/Plan_comptable/[]
439
440 [source,hledger]
441 ----
442 #include::data/Cyclofficine.Plan_comptable.hledger[]
443 ----
444
445 === Comptabiliser en partie double
446
447 Solde nul de toute écriture::
448 +
449 Pour toute écriture;;
450 Tout ce qui est _débité_ (+++++) dans ses comptes +
451 est forcément _crédité_ (++-++) dans ses autres comptes.
452 +
453 * latexmath:[$\forall e : \textcolor{#D2691E}{\textbf{\acute{e}criture}},
454 \ \textbf{balance}\>(\textbf{flux}\>{e}) = 0$]
455
456 Relation de Chasles par écritures d’engagement et de paiement::
457 +
458 [source,hledger]
459 ----
460 01/01 Écriture d’engagement
461 7.Produit:0.Vente:1.Produit_fini:1.Vélo -80
462 5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser 80
463
464 01/02 Écriture de paiement
465 5.Finance:1.Etablissement:1.Valeur:2.Chèque_à_encaisser -80
466 5.Finance:1.Etablissement:2.Banque:001.Courant 80
467 ----
468 +
469 NOTE: pour des espèces, transiter par : ++5.Finance:3.Caisse:1.Siège++
470
471 ==== Soldes nuls souhaitables
472
473 - Écritures des recettes
474 +
475 1. latexmath:[$\sum{\mbox{ventes}} + \sum{\mbox{dons}} = \sum{\mbox{espèces entrées en caisse}} + \sum{\mbox{Chèques à encaisser}}$] +
476 (Total des ventes + dons == Total d’espèces entrée en caisse + Chèques à encaisser (5112))
477 2. Total chèques à encaisser (5112) == Total remises de chèques à la banque (512) (+/- argent non déposé en banque)
478 3. Solde du compte caisse (531) == Total entrées espèces en caisse - Total des sorties (remises d’espèces en banque - sorties d’achats - erreur de caisse)
479 4. Solde compte caisse (531) == Total entrées en caisse - Dépôt espèce en banque - Achat en espèce
480
481
482 - Écritures de paye
483 +
484 TODO
485
486
487 === Journaux (filtres)
488 [horizontal]
489 **Banque**::
490 +
491 [source,sh]
492 ----
493 hledger print -f $fichier.ledger '^5.Finance:1.Etablissement:2.Banque:'
494 ----
495 **Achats**::
496 +
497 [source,sh]
498 ----
499 hledger print -f $fichier.ledger '^(2.Immobilisation:1.Corporelle:|6.Charge:(0.Achat|1.Service|2.Autre_service):)'
500 ----
501 **Vente**::
502 +
503 [source,sh]
504 ----
505 hledger print -f $fichier.ledger '^7.Produit:0.Vente:'
506 ----
507 **Caisse**::
508 +
509 [source,sh]
510 ----
511 hledger print -f $fichier.ledger '^5.Finance:3.Caisse:'
512 ----
513 **Paye**::
514 +
515 [source,sh]
516 ----
517 hledger print -f $fichier.ledger '6.Charge:(3.Impôt:(1.|3.):|4.Personnel:)'
518 ----
519 **À NouVeaux**::
520 +
521 [source,sh]
522 ----
523 hledger print -f $fichier.ledger tag:ANV
524 ----
525 **Opération_Diverses**::
526 +
527 [source,sh]
528 ----
529 hledger print -f $fichier.ledger tag:OD
530 ----
531
532 === Clôture / Ouverture (`equity`)
533 ++hledger-equity++ calcule une balance de comptes
534 et en fait deux écritures, respectivement :
535 [horizontal]
536 de clôture:: pour les solder à zéro en fin d’exercice ;
537 d’ouverture:: pour les réinitialiser à leur solde du précédent exercice.
538
539 [source,sh]
540 ----
541 % hledger-equity -f $fichier.ledger $filtre
542 ----
543
544 [source,hledger]
545 .Solde des compte de gestion
546 ----
547 % hledger-equity '^6' '^7' -f Paris.2011.hledger
548 2014/07/29
549 6.Charge:0.Achat:6.Non_stocké:8.Autre_Matière,Fourniture:1.Atelier -248,87€
550 6.Charge:1.Service:3.Location:2.Immobilière -441,46€
551 6.Charge:2.Autre_service:3.Communication:6.Catalogue,Imprimé -24,00€
552 6.Charge:2.Autre_service:7.Service_bancaire -31,25€
553 6.Charge:5.Gestion:8.Divers:6.Cotisation_(vie_statutaire) -25,00€
554 7.Produit:0.Vente:6.Prest'action 700,00€
555 7.Produit:5.Autre_gestion_courante:6.Cotisation 20,00€
556 7.Produit:5.Autre_gestion_courante:8.Divers 6,00€
557 equity:closing balances 44,58€
558
559 2014/07/29
560 6.Charge:0.Achat:6.Non_stocké:8.Autre_Matière,Fourniture:1.Atelier 248,87€
561 6.Charge:1.Service:3.Location:2.Immobilière 441,46€
562 6.Charge:2.Autre_service:3.Communication:6.Catalogue,Imprimé 24,00€
563 6.Charge:2.Autre_service:7.Service_bancaire 31,25€
564 6.Charge:5.Gestion:8.Divers:6.Cotisation_(vie_statutaire) 25,00€
565 7.Produit:0.Vente:6.Prest'action -700,00€
566 7.Produit:5.Autre_gestion_courante:6.Cotisation -20,00€
567 7.Produit:5.Autre_gestion_courante:8.Divers -6,00€
568 equity:opening balances -44,58€
569 ----
570
571 == Import et export avec `hledger`
572
573 * https://github.com/eval/total_recall[]
574 * https://github.com/quentinsf/icsv2ledger[]
575
576 === Feuilles de calculs des documents comptables
577
578 ifdef::backend-slidy2[>>>]
579 ==== Bilan financier
580 TODO
581
582 ifdef::backend-slidy2[>>>]
583 ==== Comptes de résultats
584 TODO
585
586 == `hledger-web`
587 TODO
588
589 == (bonus) Scripter ++hledger++
590 TODO
591
592 ifdef::backend-slidy2[>>>]
593 === Installer un script ++hledger++
594 [source,sh]
595 ----
596 % echo 'PATH="$HOME/src/hledger/extra:$PATH"' >>~/.profile
597 % exit # NOTE: recharge ~/.profile
598 % ghc ~/src/hledger/extra/hledger-SCRIPT.hs
599 ----
600
601 == Communauté
602
603 [horizontal]
604 Chat:: <irc://irc.freenode.net#ledger>
605 Liste:: <hledger+subscribe@googlegroups.com>
606
607
608
609 ifdef::backend-slidy2[]
610 [hledgersplash,position: absolute; left: 50%; top: 10%;]
611 &&&&
612 image::data/hledger.splash.png[hledgersplash]
613 &&&&
614 endif::backend-slidy2[]