flnews_post_proc 1.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,704 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <meta name="generator" content="Docutils 0.20.1: https://docutils.sourceforge.io/" />
7
+ <title>Flnews_post_proc</title>
8
+ <style type="text/css">
9
+
10
+ /*
11
+ :Author: David Goodger (goodger@python.org)
12
+ :Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
13
+ :Copyright: This stylesheet has been placed in the public domain.
14
+
15
+ Default cascading style sheet for the HTML output of Docutils.
16
+
17
+ See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
18
+ customize this style sheet.
19
+ */
20
+
21
+ /* used to remove borders from tables and images */
22
+ .borderless, table.borderless td, table.borderless th {
23
+ border: 0 }
24
+
25
+ table.borderless td, table.borderless th {
26
+ /* Override padding for "table.docutils td" with "! important".
27
+ The right padding separates the table cells. */
28
+ padding: 0 0.5em 0 0 ! important }
29
+
30
+ .first {
31
+ /* Override more specific margin styles with "! important". */
32
+ margin-top: 0 ! important }
33
+
34
+ .last, .with-subtitle {
35
+ margin-bottom: 0 ! important }
36
+
37
+ .hidden {
38
+ display: none }
39
+
40
+ .subscript {
41
+ vertical-align: sub;
42
+ font-size: smaller }
43
+
44
+ .superscript {
45
+ vertical-align: super;
46
+ font-size: smaller }
47
+
48
+ a.toc-backref {
49
+ text-decoration: none ;
50
+ color: black }
51
+
52
+ blockquote.epigraph {
53
+ margin: 2em 5em ; }
54
+
55
+ dl.docutils dd {
56
+ margin-bottom: 0.5em }
57
+
58
+ object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
59
+ overflow: hidden;
60
+ }
61
+
62
+ /* Uncomment (and remove this text!) to get bold-faced definition list terms
63
+ dl.docutils dt {
64
+ font-weight: bold }
65
+ */
66
+
67
+ div.abstract {
68
+ margin: 2em 5em }
69
+
70
+ div.abstract p.topic-title {
71
+ font-weight: bold ;
72
+ text-align: center }
73
+
74
+ div.admonition, div.attention, div.caution, div.danger, div.error,
75
+ div.hint, div.important, div.note, div.tip, div.warning {
76
+ margin: 2em ;
77
+ border: medium outset ;
78
+ padding: 1em }
79
+
80
+ div.admonition p.admonition-title, div.hint p.admonition-title,
81
+ div.important p.admonition-title, div.note p.admonition-title,
82
+ div.tip p.admonition-title {
83
+ font-weight: bold ;
84
+ font-family: sans-serif }
85
+
86
+ div.attention p.admonition-title, div.caution p.admonition-title,
87
+ div.danger p.admonition-title, div.error p.admonition-title,
88
+ div.warning p.admonition-title, .code .error {
89
+ color: red ;
90
+ font-weight: bold ;
91
+ font-family: sans-serif }
92
+
93
+ /* Uncomment (and remove this text!) to get reduced vertical space in
94
+ compound paragraphs.
95
+ div.compound .compound-first, div.compound .compound-middle {
96
+ margin-bottom: 0.5em }
97
+
98
+ div.compound .compound-last, div.compound .compound-middle {
99
+ margin-top: 0.5em }
100
+ */
101
+
102
+ div.dedication {
103
+ margin: 2em 5em ;
104
+ text-align: center ;
105
+ font-style: italic }
106
+
107
+ div.dedication p.topic-title {
108
+ font-weight: bold ;
109
+ font-style: normal }
110
+
111
+ div.figure {
112
+ margin-left: 2em ;
113
+ margin-right: 2em }
114
+
115
+ div.footer, div.header {
116
+ clear: both;
117
+ font-size: smaller }
118
+
119
+ div.line-block {
120
+ display: block ;
121
+ margin-top: 1em ;
122
+ margin-bottom: 1em }
123
+
124
+ div.line-block div.line-block {
125
+ margin-top: 0 ;
126
+ margin-bottom: 0 ;
127
+ margin-left: 1.5em }
128
+
129
+ div.sidebar {
130
+ margin: 0 0 0.5em 1em ;
131
+ border: medium outset ;
132
+ padding: 1em ;
133
+ background-color: #ffffee ;
134
+ width: 40% ;
135
+ float: right ;
136
+ clear: right }
137
+
138
+ div.sidebar p.rubric {
139
+ font-family: sans-serif ;
140
+ font-size: medium }
141
+
142
+ div.system-messages {
143
+ margin: 5em }
144
+
145
+ div.system-messages h1 {
146
+ color: red }
147
+
148
+ div.system-message {
149
+ border: medium outset ;
150
+ padding: 1em }
151
+
152
+ div.system-message p.system-message-title {
153
+ color: red ;
154
+ font-weight: bold }
155
+
156
+ div.topic {
157
+ margin: 2em }
158
+
159
+ h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
160
+ h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
161
+ margin-top: 0.4em }
162
+
163
+ h1.title {
164
+ text-align: center }
165
+
166
+ h2.subtitle {
167
+ text-align: center }
168
+
169
+ hr.docutils {
170
+ width: 75% }
171
+
172
+ img.align-left, .figure.align-left, object.align-left, table.align-left {
173
+ clear: left ;
174
+ float: left ;
175
+ margin-right: 1em }
176
+
177
+ img.align-right, .figure.align-right, object.align-right, table.align-right {
178
+ clear: right ;
179
+ float: right ;
180
+ margin-left: 1em }
181
+
182
+ img.align-center, .figure.align-center, object.align-center {
183
+ display: block;
184
+ margin-left: auto;
185
+ margin-right: auto;
186
+ }
187
+
188
+ table.align-center {
189
+ margin-left: auto;
190
+ margin-right: auto;
191
+ }
192
+
193
+ .align-left {
194
+ text-align: left }
195
+
196
+ .align-center {
197
+ clear: both ;
198
+ text-align: center }
199
+
200
+ .align-right {
201
+ text-align: right }
202
+
203
+ /* reset inner alignment in figures */
204
+ div.align-right {
205
+ text-align: inherit }
206
+
207
+ /* div.align-center * { */
208
+ /* text-align: left } */
209
+
210
+ .align-top {
211
+ vertical-align: top }
212
+
213
+ .align-middle {
214
+ vertical-align: middle }
215
+
216
+ .align-bottom {
217
+ vertical-align: bottom }
218
+
219
+ ol.simple, ul.simple {
220
+ margin-bottom: 1em }
221
+
222
+ ol.arabic {
223
+ list-style: decimal }
224
+
225
+ ol.loweralpha {
226
+ list-style: lower-alpha }
227
+
228
+ ol.upperalpha {
229
+ list-style: upper-alpha }
230
+
231
+ ol.lowerroman {
232
+ list-style: lower-roman }
233
+
234
+ ol.upperroman {
235
+ list-style: upper-roman }
236
+
237
+ p.attribution {
238
+ text-align: right ;
239
+ margin-left: 50% }
240
+
241
+ p.caption {
242
+ font-style: italic }
243
+
244
+ p.credits {
245
+ font-style: italic ;
246
+ font-size: smaller }
247
+
248
+ p.label {
249
+ white-space: nowrap }
250
+
251
+ p.rubric {
252
+ font-weight: bold ;
253
+ font-size: larger ;
254
+ color: maroon ;
255
+ text-align: center }
256
+
257
+ p.sidebar-title {
258
+ font-family: sans-serif ;
259
+ font-weight: bold ;
260
+ font-size: larger }
261
+
262
+ p.sidebar-subtitle {
263
+ font-family: sans-serif ;
264
+ font-weight: bold }
265
+
266
+ p.topic-title {
267
+ font-weight: bold }
268
+
269
+ pre.address {
270
+ margin-bottom: 0 ;
271
+ margin-top: 0 ;
272
+ font: inherit }
273
+
274
+ pre.literal-block, pre.doctest-block, pre.math, pre.code {
275
+ margin-left: 2em ;
276
+ margin-right: 2em }
277
+
278
+ pre.code .ln { color: grey; } /* line numbers */
279
+ pre.code, code { background-color: #eeeeee }
280
+ pre.code .comment, code .comment { color: #5C6576 }
281
+ pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
282
+ pre.code .literal.string, code .literal.string { color: #0C5404 }
283
+ pre.code .name.builtin, code .name.builtin { color: #352B84 }
284
+ pre.code .deleted, code .deleted { background-color: #DEB0A1}
285
+ pre.code .inserted, code .inserted { background-color: #A3D289}
286
+
287
+ span.classifier {
288
+ font-family: sans-serif ;
289
+ font-style: oblique }
290
+
291
+ span.classifier-delimiter {
292
+ font-family: sans-serif ;
293
+ font-weight: bold }
294
+
295
+ span.interpreted {
296
+ font-family: sans-serif }
297
+
298
+ span.option {
299
+ white-space: nowrap }
300
+
301
+ span.pre {
302
+ white-space: pre }
303
+
304
+ span.problematic {
305
+ color: red }
306
+
307
+ span.section-subtitle {
308
+ /* font-size relative to parent (h1..h6 element) */
309
+ font-size: 80% }
310
+
311
+ table.citation {
312
+ border-left: solid 1px gray;
313
+ margin-left: 1px }
314
+
315
+ table.docinfo {
316
+ margin: 2em 4em }
317
+
318
+ table.docutils {
319
+ margin-top: 0.5em ;
320
+ margin-bottom: 0.5em }
321
+
322
+ table.footnote {
323
+ border-left: solid 1px black;
324
+ margin-left: 1px }
325
+
326
+ table.docutils td, table.docutils th,
327
+ table.docinfo td, table.docinfo th {
328
+ padding-left: 0.5em ;
329
+ padding-right: 0.5em ;
330
+ vertical-align: top }
331
+
332
+ table.docutils th.field-name, table.docinfo th.docinfo-name {
333
+ font-weight: bold ;
334
+ text-align: left ;
335
+ white-space: nowrap ;
336
+ padding-left: 0 }
337
+
338
+ /* "booktabs" style (no vertical lines) */
339
+ table.docutils.booktabs {
340
+ border: 0px;
341
+ border-top: 2px solid;
342
+ border-bottom: 2px solid;
343
+ border-collapse: collapse;
344
+ }
345
+ table.docutils.booktabs * {
346
+ border: 0px;
347
+ }
348
+ table.docutils.booktabs th {
349
+ border-bottom: thin solid;
350
+ text-align: left;
351
+ }
352
+
353
+ h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
354
+ h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
355
+ font-size: 100% }
356
+
357
+ ul.auto-toc {
358
+ list-style-type: none }
359
+
360
+ </style>
361
+ </head>
362
+ <body>
363
+ <div class="document" id="flnews-post-proc">
364
+ <h1 class="title">flnews_post_proc</h1>
365
+ <h2 class="subtitle" id="post-traitement-pour-flnews">Post-Traitement pour flnews</h2>
366
+
367
+ <div class="section" id="synopsis">
368
+ <h1>SYNOPSIS</h1>
369
+ <p>Un article est envoyé au logiciel de post-traitement via STDIN. Ceci se passe
370
+ automatiquement, quand la variable « post_proc » dans le fichier de
371
+ configuration de flnews a la valeur <em>flnews_post_proc</em>.</p>
372
+ <p>Si un article a été sauvegardé dans un fichier, il peut servir pour tester le
373
+ fonctionnement de flnews_post_proc, en lançant une commande comme :</p>
374
+ <blockquote>
375
+ <strong>flnews_post_proc &lt; article.txt</strong></blockquote>
376
+ <p>ou si vous préférez l'équivalent :</p>
377
+ <blockquote>
378
+ <strong>cat article.txt | flnews_post_proc</strong></blockquote>
379
+ </div>
380
+ <div class="section" id="description">
381
+ <h1>DESCRIPTION</h1>
382
+ <p>Le lecteur de news <strong>flnews</strong> est suffisant pour l'accès au Usenet, c'est à
383
+ dire pour lire les articles et pour les rédiger et les envoyer aux newsgroups
384
+ de votre choix.</p>
385
+ <p>Quand vous comparez les clients pour les news, vous allez toujours identifier
386
+ le logiciel qui correspond à vos attentes et vos habitudes. Flnews, comme un
387
+ logiciel basique, vous offre la possibilité d'influencer comment il fonctionne
388
+ et aussi de manipuler directement les articles qu'il produit, juste avant qu'ils
389
+ soient envoyés au serveur nntp.</p>
390
+ <p>Ce post-traitement peut servir à ajouter et à modifier des détails du message
391
+ d'une manière qui n'est actuellement pas possible avec seulement flnews. Comme
392
+ le logiciel est configurable, il peut probablement répondre aux besoins de
393
+ quelques utilisateurs du Usenet. Quand même, vous devez le comprendre comme un
394
+ exemple pour ce qui est possible et pour inspiration, afin de créer vos propres
395
+ solutions.</p>
396
+ <div class="section" id="les-limites-d-un-lecteur-basique-de-news-ce-qui-peut-faire-flnews-post-proc">
397
+ <h2>Les limites d'un lecteur basique de news – ce qui peut faire flnews_post_proc</h2>
398
+ <p>Bien que les articles qui sont créés avec flnews sont complets et prêt pour
399
+ l'envoi, certains utilisateurs ne seront pas toujours d'accord avec le résultat
400
+ et ce pour des raisons arbitraires :</p>
401
+ <ul>
402
+ <li><p class="first">Il peut y avoir des inconvénients quand vous communiquez dans de groupes
403
+ diverses en plusieurs langues. La ligne d'introduction qui fait référence à
404
+ un article précédent, ne peut être configurée qu'une seule fois pour flnews.
405
+ La conséquence peut être une introduction en Anglais quand vous postez dans
406
+ un groupe français.</p>
407
+ <p>Avec mon logiciel de post-traitement vous pouvez imposer des introductions
408
+ spécifiques, à chaque fois pour une ou plusieurs newsgroups.</p>
409
+ </li>
410
+ <li><p class="first">Le même conflit se produit quand vous avez défini une signature mais voudriez
411
+ la remplacer contre une autre, selon le groupe dans lequel vous êtes en train
412
+ de poster.</p>
413
+ <p>flnews_post_proc peut faire exactement ça, quand vous avez configuré quel
414
+ signature doit apparaître dans quel newsgroup ou liste de newsgroups.</p>
415
+ </li>
416
+ <li><p class="first">Quelques entêtes supplémentaires peuvent servir à transmettre des informations
417
+ aux lecteurs intéressés, comme l'ID de votre clé GnuPG, vos connaissances en
418
+ langues ou pareil. Il se trouve que la signature est mieux pour ça, mais vous
419
+ êtes libres. Je veux mentionner « face » et « x-face » mais préfère que vous
420
+ ne vous en souvenez pas.</p>
421
+ <p>Ces entêtes, – Custom-Headers – peuvent être définis dans la configuration
422
+ du logiciel et vont être utilisées dans chaque article sortant.</p>
423
+ </li>
424
+ <li><p class="first">Les entêtes « Archive » et « X-No-Archive » sont parfois utilisés afin
425
+ d'éviter l'archivage d'un article. Il ne devrait par conséquence pas être
426
+ trouvé par les moteurs de recherche ( Google notamment ). Les articles dans
427
+ les groupes de test, par exemple, ne valent probablement pas qu'on les trouve
428
+ parmi les résultats des recherches.</p>
429
+ <p>Avec flnews_post_proc vous pouvez décider et imposer que vos articles dans
430
+ certains newsgroups contiendront d'office les deux entêtes <strong>Archive: no</strong> et
431
+ <strong>X-No-Archive: Yes</strong>.</p>
432
+ <p><strong>ATTENTION</strong>: Dès 2024, l'entête « X-No-Archive » a perdu beaucoup de son
433
+ utilité. Les opérateurs des serveurs peuvent décider s'ils veulent le prendre
434
+ en considération ou non.</p>
435
+ </li>
436
+ <li><p class="first">Certains messages mentionnent d'autres articles ou des URLs de pages Web.
437
+ S'ils sont nombreux, ces références peuvent déranger la lecture à cause de
438
+ leur syntaxe spécifique.</p>
439
+ <p>Mon logiciel est capable d'identifier des fragments de text marqué – pas
440
+ seulement des références – et les transformer en notes en bas de page. Vous
441
+ pouvez imaginer ça comme le fonctionnement de la balise &lt;ref/&gt; de Wikipedia,
442
+ mais vous pouvez définir votre propre séparateur pour marquer les fragments
443
+ de text dans le fichier de configuration.</p>
444
+ <p>Exemple ( avec séparateur <strong>%=</strong> ) :
445
+ « Ceci est un objet %=et ceci devient la note en bas de page, qui décrit
446
+ l'objet plus précisement=% »</p>
447
+ </li>
448
+ </ul>
449
+ </div>
450
+ <div class="section" id="dialogue-pour-desactiver-des-options">
451
+ <h2>Dialogue pour désactiver des options</h2>
452
+ <p>Juste avant d'entrer en action, flnews_post_proc peut afficher un dialogue, qui
453
+ vous laisse <strong>désactiver</strong> des options fixées dans la configuration. Sous
454
+ condition qu'un des outils YAD, Zenity, Whiptail ou seulement xterm est
455
+ disponible, vous pouvez choisir dans les options suivantes, ceux que vous
456
+ voulez ignorer pour l'article en préparation. Vous <strong>ne pouvez pas</strong> activer
457
+ des options, qui ne l'ont pas été auparavant :</p>
458
+ <ul class="simple">
459
+ <li>Signatures, comme définis dans la configuration <strong>peuvent être ignorées</strong>.
460
+ Soit une signature par défaut sera appliquée, si prévue, ou aucune.</li>
461
+ <li>Entêtes supplémentaires, si définis, peuvent rester absentes de l'article.</li>
462
+ <li>Les entêtes Archive et X-No-Archive, si prévus pour le newsgroup choisi,
463
+ peuvent être ignorés.</li>
464
+ <li>L'auto correction de URLs et références à d'autres articles peut être
465
+ désactivé.</li>
466
+ <li>L'écriture d'un protocole peut être arrêtée.</li>
467
+ </ul>
468
+ <p>En tapant Esc ou en poussant le bouton « Annuler » du dialogue, vous pouvez
469
+ interrompre le processus, flnews ne vas pas envoyer l'article.</p>
470
+ <p>Vous pouvez même désactiver le dialogue, ce qui assure que toutes les options
471
+ configurées seront appliquées sans plus d'interaction ( à voir dessous : optoin
472
+ OVERRIDE_CONFIG ).</p>
473
+ </div>
474
+ </div>
475
+ <div class="section" id="configuration">
476
+ <h1>CONFIGURATION</h1>
477
+ <p>La première fois que vous exécutez le logiciel, une copie de la configuration
478
+ par défaut sera écrit dans <em>/home/[utilisateur]/.flnews_post_proc.conf</em> C'est
479
+ ce fichier qui sera désormais utilisé. Si vous l'effacez, il sera recréé à la
480
+ prochaine occasion, mais vos modifications seront perdues.</p>
481
+ <p>Le fichier de configuration est en format YAML et plein d'explications. Les
482
+ variables définis dans ce fichier peuvent être classées en deux catégories :</p>
483
+ <ul class="simple">
484
+ <li>Variables qui décrivent des valeurs déterminées par flnews. Ils peuvent être
485
+ utiilisées ou remplacées. Les composants importants sont normalement
486
+ spécifiés dans une « capture group ».</li>
487
+ <li>Variables qui définissent du nouveau contenu ou des changements dans le
488
+ contenu.</li>
489
+ </ul>
490
+ <dl class="docutils">
491
+ <dt><strong>FUP_NAME</strong></dt>
492
+ <dd><p class="first">Une « expression régulière » ( “regular expression” ) décrivant la chaîne de
493
+ caractères qui contient le nom de l'auteur d'un article précédent, qu'on veut
494
+ citer en partie. Cet élément est reconnu dans l'article d'origine et peut
495
+ être utilisé à la place de l'élément correspondant dans <em>GROUP_INTRO</em> ( à voir
496
+ plus bas ). Le format de l'expression est celui de la classe Regexp dans Ruby.
497
+ Veillez de masquer le backslash '\' avec un autre, comme dans l'exemple. Un
498
+ « capture group » '()' sert à extraire le nom du résultat de la comparaison.</p>
499
+ <p>Laissez ce champs vide afin de maintenir le comportement configuré pour flnews.</p>
500
+ <p>CONTENU : L'équivalent d'une regular expression en chaîne de caractères.</p>
501
+ <p>PAR DÉFAUT : Vide</p>
502
+ <p>EXEMPLE 1 : &quot;On \\d+.\\d+.\\d{2,4} at \\d+:\\d+ <strong>(.*)</strong> wrote:&quot;</p>
503
+ <p class="last">EXEMPLE 2 : &quot;<strong>(.*)</strong> wrote:&quot;</p>
504
+ </dd>
505
+ <dt><strong>FUP_GROUP</strong></dt>
506
+ <dd><p class="first">Une « expression régulière » ( “regular expression” ) décrivant la chaîne de
507
+ caractères qui contient le newsgroup où a été publié l'article précédent à qui nous
508
+ faisons référence dans un « followup ».</p>
509
+ <p>Laissez ce champs vide afin d'ignorer le groupe précis.</p>
510
+ <p>CONTENU : l'équivalent d'une regular expression en chaîne de caractères.</p>
511
+ <p>PAR DÉFAUT : Vide</p>
512
+ <p class="last">EXEMPLE : &quot;wrote in <strong>(.*)</strong>:&quot;</p>
513
+ </dd>
514
+ <dt><strong>GROUP_INTROS</strong></dt>
515
+ <dd><p class="first">Des introductions qui font référence à l'auteur de l'article précédent que
516
+ nous souhaitons citer. Si vous avez trouvé le newsgroup où l'article a été
517
+ publié ( à voir : FUP_GROUP, ci-dessus ), et le nom de son auteur
518
+ ( FUP_NAME ), vous pouvez utiliser ces valeurs ici.</p>
519
+ <p>Jusqu'à prochaine ordre, seulement %fup_name% est %fup_group% sont reproduit
520
+ dans l'introduction resultant.</p>
521
+ <div class="line-block">
522
+ <div class="line">CONTENU : Un newsgroup ou regexp par ligne, suivi de deux points, un espace et</div>
523
+ <div class="line-block">
524
+ <div class="line">une chaîne de caractères.</div>
525
+ </div>
526
+ </div>
527
+ <p>PAR DÉFAUT : Comme configuré dans flnews.</p>
528
+ <div class="last line-block">
529
+ <div class="line">EXEMPLE ( un groupe et une hiérarchie ) :</div>
530
+ <div class="line-block">
531
+ <div class="line">alt.test: &quot;Thus spoke %fup_name% in %fup_group%&quot;</div>
532
+ <div class="line">fr\.*: &quot;C'était dans %fup_group%, que %fup_name% c'est exprimé ainsi&quot;</div>
533
+ </div>
534
+ </div>
535
+ </dd>
536
+ <dt><strong>GROUP_SIGS</strong></dt>
537
+ <dd><p class="first">Une signature par newsgroup ou expression.
538
+ ATTN! Vous devez noter \r\n pour les sautes de lignes, si une signature
539
+ s'étend sur plusieurs lignes.</p>
540
+ <p>CONTENU : un newsgroup ou expression par ligne, suivi de deux poins, un espace
541
+ et une chaîne de caractères.</p>
542
+ <p>PAR DÉFAUT : Comme configuré dans flnews.</p>
543
+ <p class="last">EXEMPLE : fr.test: &quot;Signature pour alt.test\r\nseconde ligne&quot;</p>
544
+ </dd>
545
+ <dt><strong>CUSTOM_HEADERS</strong></dt>
546
+ <dd><p class="first">Entêtes supplémentaires pour l'article sortant.</p>
547
+ <p>CONTENU : 1 ligne par entête : un trait d'union, un espace, puis une chaîne de
548
+ caractères comprenant le nom de l'entête, puis deux points et la valeur de
549
+ l'entête.</p>
550
+ <p>PAR DÉFAUT : Vide ( pas défini )</p>
551
+ <div class="last line-block">
552
+ <div class="line">EXEMPLE ( 2 entêtes ) :</div>
553
+ <div class="line">- 'X-My-Header: nothing fancy'</div>
554
+ <div class="line">- 'X-Another-Header: care not!'</div>
555
+ </div>
556
+ </dd>
557
+ <dt><strong>NO_ARCHIVE_GROUPS</strong></dt>
558
+ <dd><p class="first">Les newsgroups, où les entêtes « Archive: no » et « X-No-Archive: yes »
559
+ doivent être présents.</p>
560
+ <p>CONTENU : Un trait d'union et un espace, puis une chaîne de caractères,
561
+ contenant le nom du groupe ou une expression.</p>
562
+ <p>PAR DÉFAUT : Vide</p>
563
+ <div class="last line-block">
564
+ <div class="line">EXEMPLE ( 1 groupe, 1 hiérarchie ) :</div>
565
+ <div class="line">- &quot;alt.test&quot;</div>
566
+ <div class="line">- &quot;^news.*&quot;</div>
567
+ </div>
568
+ </dd>
569
+ <dt><strong>DEBUG_LOG</strong></dt>
570
+ <dd><p class="first">Le nom d'un fichier, qui va servir comme protocol. Si le nom d'un fichier
571
+ valide est donné, le protocol est activé. Laissez vide pour désactiver le
572
+ protocol.</p>
573
+ <div class="line-block">
574
+ <div class="line">CONTENU : Le nom d'un fichier dont les droits permettent l'écriture.</div>
575
+ <div class="line-block">
576
+ <div class="line">Il sera créé s'il n'existe pas encore et remplacé à chaque exécution</div>
577
+ <div class="line">du logiciel.</div>
578
+ </div>
579
+ </div>
580
+ <p>PAR DÉFAUT : Vide</p>
581
+ <p class="last">EXEMPLE : '/tmp/a_log-file.txt'</p>
582
+ </dd>
583
+ <dt><strong>LOG LEVEL</strong></dt>
584
+ <dd><p class="first">Un de debug, fatal, error, info, warn</p>
585
+ <div class="last line-block">
586
+ <div class="line">EXEMPLE :</div>
587
+ <div class="line-block">
588
+ <div class="line">LOG_LEVEL: 'debug'</div>
589
+ </div>
590
+ </div>
591
+ </dd>
592
+ <dt><strong>REFERENCES_SEPARATOR</strong></dt>
593
+ <dd><p class="first">Un symbole ou une séquence de symboles qui marquent la fin du corps du message
594
+ et le début d'une liste de « références » ou « notes de pied de page ». Il
595
+ apparaîtra seulement, si le message contient du text marqué pour servir comme
596
+ note de pied de page. À voir <em>REFERENCES_DELIMITER</em> ci-dessous.</p>
597
+ <p>Si l'option n'est pas défini ou vide, la liste suit à la dernière ligne du
598
+ corps du message, sans séparation supplémentaire.</p>
599
+ <p>CONTENU : Un symbol ou séquence de symboles entre guillemets &quot; &quot; ou ' '.</p>
600
+ <p>PAR DÉFAUT : Vide</p>
601
+ <p class="last">EXEMPLE : '---------'</p>
602
+ </dd>
603
+ <dt><strong>REFERENCES_DELIMITER</strong></dt>
604
+ <dd><p class="first">Une séquence d'au moins deux symboles qui marque le début d'un text qui sera
605
+ transformé en note de pied de page ( ou référence ). La <strong>séquence inversée</strong>
606
+ doit marquer la fin du même fragment de text. La présence de cette séquence
607
+ dans le message d'origine, a comme conséquence que le text marqué sera déplacé
608
+ vers la fin, au-dessous du corps du message.
609
+ Si <em>REFERENCES_SEPARATOR</em> ( option ci-dessus ) est défini, il va séparer le message
610
+ de la liste des notes du pied de page.</p>
611
+ <p>Laissez ce champs vide pour éviter la création des noted du pied de page.</p>
612
+ <p>CONTENU : Une séquence de symboles entre guillemets ( '' )</p>
613
+ <p>PAR DÉFAUT : Vide</p>
614
+ <p class="last">EXEMPLE: '%?'</p>
615
+ </dd>
616
+ <dt><strong>REFERENCE_FORMAT</strong></dt>
617
+ <dd><p class="first">Une chaîne de formatage, contenant %s pour représenter une nombre, qui
618
+ remplace le texte d'une future note du pied de page dans le corps du message.</p>
619
+ <p>PAR DÉFAUT : &quot; %s)&quot; -&gt; devient 1) ... 2) ... 3)</p>
620
+ <p class="last">EXEMPLE : &quot;(%s)&quot; -&gt; devient (1) ... (2) ... (3)</p>
621
+ </dd>
622
+ <dt><strong>VFY_URLS</strong></dt>
623
+ <dd><p class="first">Une constante booléen. Elle détermine si le programme doit essayer de corriger
624
+ des URLs. Même si les URLs sont identifiables, seulement quelques manipulations
625
+ sont temptées :</p>
626
+ <ul class="simple">
627
+ <li>'&lt;' et '&gt;' sont ajoutés, si manquants</li>
628
+ <li>Des slashes sont insérés, s'ils manquent après &quot;http(s):&quot;</li>
629
+ </ul>
630
+ <p>ATTN! Le programme ne peut pas différencier entre &quot;mailto:&quot; et &quot;news:&quot;. Si ni l'un
631
+ ni l'autre est donné, mais '&#64;' est présent, &quot;news:&quot; est ajouté automatiquement.</p>
632
+ <p>Si la variable n'est pas défini, la valeur 'yes' est présumée.</p>
633
+ <p>CONTENU: Un de YES, yes, NO, no, et autres tels variations</p>
634
+ <p>PAR DÉFAUT: yes</p>
635
+ <p class="last">EXEMPLE: No</p>
636
+ </dd>
637
+ <dt><strong>OVERRIDE_CONFIG</strong></dt>
638
+ <dd><p class="first">Une constante booléenne. Vous pouvez décider d'ignorer les options suivantes
639
+ avant qu'un article est posté : GROUP_SIGS, XNAY_GROUPS, CUSTOM_HEADERS,
640
+ VFY_URLS et DEBUG_LOG. Un dialogue peut être affiché, qui permet la
641
+ désactivation de chacune de ces options. Les valeurs par défaut, définis pour
642
+ flnews, vont donc prévaloir.</p>
643
+ <p>ATTN ! En poussant Esc ou le bouton « Annuler » du dialogue, vous interrompez
644
+ le programme et flnews ne va rien envoyer.</p>
645
+ <p>Notez la valeur 'no', 'NO' ou pareil pour désactiver le dialogue.</p>
646
+ <p>PAR DÉFAUT : yes</p>
647
+ <p class="last">EXEMPLE: No</p>
648
+ </dd>
649
+ </dl>
650
+ </div>
651
+ <div class="section" id="autres-informations">
652
+ <h1>Autres Informations</h1>
653
+ <div class="section" id="tester">
654
+ <h2>Tester</h2>
655
+ <p>L'effet qu'aura l'exécution du programme peut être vérifié de deux manières :</p>
656
+ <ol class="arabic">
657
+ <li><p class="first">En fournissant un article, sauvegardé auparavant dans un fichier :</p>
658
+ <p><strong>:~$ /usr/local/bin/[post-processor] &lt; [test-article]</strong></p>
659
+ <p>Ceci va vous présenter la nouvelle version de l'article sur l'écran, mais
660
+ vous pouvez aussi diriger le résultat dans un autre fichier. C'est une
661
+ excellente technique pour tester un logiciel pendant le développement ou
662
+ votre configuration avant que vous vous en servez.</p>
663
+ </li>
664
+ <li><p class="first">En envoyant un message directement dans un groupe de test ( comme alt.test,
665
+ fr.test ou similaires ).
666
+ Ceci est obligatoire avant que vous postez dans des groupes thématiques et
667
+ si les réglages du post-traitement vont modifier l'article.</p>
668
+ </li>
669
+ </ol>
670
+ </div>
671
+ <div class="section" id="code-source">
672
+ <h2>Code source</h2>
673
+ <p>Le fichier flnews_post_proc.gem, que vous recevez à l'aide de l'outil <em>gem</em> ou
674
+ directement du site <em>rubygems.org</em>, contient tout le code source du logiciel et
675
+ de la documentation ( cette page notamment ). Pour lire le code du logiciel,
676
+ vous devez</p>
677
+ <ol class="arabic simple">
678
+ <li>utiliser <em>tar -xf flnews_post_proc-[version].gem</em></li>
679
+ <li>décomprimer l'archive data.gz : <em>gunzip data.gz</em></li>
680
+ <li>Extraire le contenu du fichier résultant « data.tar » :
681
+ <em>tar -xf data.tar</em></li>
682
+ </ol>
683
+ <p>À la fin les répertoires bin, doc et lib seront créés.</p>
684
+ </div>
685
+ <div class="section" id="license">
686
+ <h2>License</h2>
687
+ <p>flnews_post_proc est distribué sous les conditions de la WTFPL-2.0 ou plus
688
+ récent ( À voir <a class="reference external" href="http://www.wtfpl.net/txt/copying/">http://www.wtfpl.net/txt/copying/</a> ou license-text dans le
689
+ répertoire « doc » de la gem ).</p>
690
+ </div>
691
+ <div class="section" id="auteur">
692
+ <h2>Auteur</h2>
693
+ <div class="line-block">
694
+ <div class="line">flnews_post_proc a été développé par</div>
695
+ <div class="line">Michael Uplawski &lt;<a class="reference external" href="mailto:michael.uplawski&#64;uplawski.eu">michael.uplawski&#64;uplawski.eu</a>&gt;</div>
696
+ </div>
697
+ </div>
698
+ </div>
699
+ <div class="section" id="section-1">
700
+ <h1>Ω</h1>
701
+ </div>
702
+ </div>
703
+ </body>
704
+ </html>