flnews_post_proc 1.7

Sign up to get free protection for your applications and to get access to all the features.
Binary file
Binary file
@@ -0,0 +1,380 @@
1
+ =======================
2
+ flnews_post_proc
3
+ =======================
4
+ ------------------------------------------
5
+ Post-Traitement pour flnews
6
+ ------------------------------------------
7
+
8
+ SYNOPSIS
9
+ =======================
10
+
11
+ Un article est envoyé au logiciel de post-traitement via STDIN. Ceci se passe
12
+ automatiquement, quand la variable « post_proc » dans le fichier de
13
+ configuration de flnews a la valeur *flnews_post_proc*.
14
+
15
+ Si un article a été sauvegardé dans un fichier, il peut servir pour tester le
16
+ fonctionnement de flnews_post_proc, en lançant une commande comme :
17
+
18
+ **flnews_post_proc < article.txt**
19
+
20
+ ou si vous préférez l'équivalent :
21
+
22
+ **cat article.txt | flnews_post_proc**
23
+
24
+ DESCRIPTION
25
+ =======================
26
+
27
+ Le lecteur de news **flnews** est suffisant pour l'accès au Usenet, c'est à
28
+ dire pour lire les articles et pour les rédiger et les envoyer aux newsgroups
29
+ de votre choix.
30
+
31
+ Quand vous comparez les clients pour les news, vous allez toujours identifier
32
+ le logiciel qui correspond à vos attentes et vos habitudes. Flnews, comme un
33
+ logiciel basique, vous offre la possibilité d'influencer comment il fonctionne
34
+ et aussi de manipuler directement les articles qu'il produit, juste avant qu'ils
35
+ soient envoyés au serveur nntp.
36
+
37
+ Ce post-traitement peut servir à ajouter et à modifier des détails du message
38
+ d'une manière qui n'est actuellement pas possible avec seulement flnews. Comme
39
+ le logiciel est configurable, il peut probablement répondre aux besoins de
40
+ quelques utilisateurs du Usenet. Quand même, vous devez le comprendre comme un
41
+ exemple pour ce qui est possible et pour inspiration, afin de créer vos propres
42
+ solutions.
43
+
44
+ Les limites d'un lecteur basique de news – ce qui peut faire flnews_post_proc
45
+ -----------------------------------------------------------------------------
46
+
47
+ Bien que les articles qui sont créés avec flnews sont complets et prêt pour
48
+ l'envoi, certains utilisateurs ne seront pas toujours d'accord avec le résultat
49
+ et ce pour des raisons arbitraires :
50
+
51
+ * Il peut y avoir des inconvénients quand vous communiquez dans de groupes
52
+ diverses en plusieurs langues. La ligne d'introduction qui fait référence à
53
+ un article précédent, ne peut être configurée qu'une seule fois pour flnews.
54
+ La conséquence peut être une introduction en Anglais quand vous postez dans
55
+ un groupe français.
56
+
57
+ Avec mon logiciel de post-traitement vous pouvez imposer des introductions
58
+ spécifiques, à chaque fois pour une ou plusieurs newsgroups.
59
+
60
+ * Le même conflit se produit quand vous avez défini une signature mais voudriez
61
+ la remplacer contre une autre, selon le groupe dans lequel vous êtes en train
62
+ de poster.
63
+
64
+ flnews_post_proc peut faire exactement ça, quand vous avez configuré quel
65
+ signature doit apparaître dans quel newsgroup ou liste de newsgroups.
66
+
67
+ * Quelques entêtes supplémentaires peuvent servir à transmettre des informations
68
+ aux lecteurs intéressés, comme l'ID de votre clé GnuPG, vos connaissances en
69
+ langues ou pareil. Il se trouve que la signature est mieux pour ça, mais vous
70
+ êtes libres. Je veux mentionner « face » et « x-face » mais préfère que vous
71
+ ne vous en souvenez pas.
72
+
73
+ Ces entêtes, – Custom-Headers – peuvent être définis dans la configuration
74
+ du logiciel et vont être utilisées dans chaque article sortant.
75
+
76
+ * Les entêtes « Archive » et « X-No-Archive » sont parfois utilisés afin
77
+ d'éviter l'archivage d'un article. Il ne devrait par conséquence pas être
78
+ trouvé par les moteurs de recherche ( Google notamment ). Les articles dans
79
+ les groupes de test, par exemple, ne valent probablement pas qu'on les trouve
80
+ parmi les résultats des recherches.
81
+
82
+ Avec flnews_post_proc vous pouvez décider et imposer que vos articles dans
83
+ certains newsgroups contiendront d'office les deux entêtes **Archive: no** et
84
+ **X-No-Archive: Yes**.
85
+
86
+ **ATTENTION**: Dès 2024, l'entête « X-No-Archive » a perdu beaucoup de son
87
+ utilité. Les opérateurs des serveurs peuvent décider s'ils veulent le prendre
88
+ en considération ou non.
89
+
90
+ * Certains messages mentionnent d'autres articles ou des URLs de pages Web.
91
+ S'ils sont nombreux, ces références peuvent déranger la lecture à cause de
92
+ leur syntaxe spécifique.
93
+
94
+ Mon logiciel est capable d'identifier des fragments de text marqué – pas
95
+ seulement des références – et les transformer en notes en bas de page. Vous
96
+ pouvez imaginer ça comme le fonctionnement de la balise <ref/> de Wikipedia,
97
+ mais vous pouvez définir votre propre séparateur pour marquer les fragments
98
+ de text dans le fichier de configuration.
99
+
100
+ Exemple ( avec séparateur **%=** ) :
101
+ « Ceci est un objet %=et ceci devient la note en bas de page, qui décrit
102
+ l'objet plus précisement=% »
103
+
104
+ Dialogue pour désactiver des options
105
+ ------------------------------------
106
+ Juste avant d'entrer en action, flnews_post_proc peut afficher un dialogue, qui
107
+ vous laisse **désactiver** des options fixées dans la configuration. Sous
108
+ condition qu'un des outils YAD, Zenity, Whiptail ou seulement xterm est
109
+ disponible, vous pouvez choisir dans les options suivantes, ceux que vous
110
+ voulez ignorer pour l'article en préparation. Vous **ne pouvez pas** activer
111
+ des options, qui ne l'ont pas été auparavant :
112
+
113
+ * Signatures, comme définis dans la configuration **peuvent être ignorées**.
114
+ Soit une signature par défaut sera appliquée, si prévue, ou aucune.
115
+
116
+ * Entêtes supplémentaires, si définis, peuvent rester absentes de l'article.
117
+
118
+ * Les entêtes Archive et X-No-Archive, si prévus pour le newsgroup choisi,
119
+ peuvent être ignorés.
120
+
121
+ * L'auto correction de URLs et références à d'autres articles peut être
122
+ désactivé.
123
+
124
+ * L'écriture d'un protocole peut être arrêtée.
125
+
126
+ En tapant Esc ou en poussant le bouton « Annuler » du dialogue, vous pouvez
127
+ interrompre le processus, flnews ne vas pas envoyer l'article.
128
+
129
+ Vous pouvez même désactiver le dialogue, ce qui assure que toutes les options
130
+ configurées seront appliquées sans plus d'interaction ( à voir dessous : optoin
131
+ OVERRIDE_CONFIG ).
132
+
133
+ CONFIGURATION
134
+ =============
135
+ La première fois que vous exécutez le logiciel, une copie de la configuration
136
+ par défaut sera écrit dans */home/[utilisateur]/.flnews_post_proc.conf* C'est
137
+ ce fichier qui sera désormais utilisé. Si vous l'effacez, il sera recréé à la
138
+ prochaine occasion, mais vos modifications seront perdues.
139
+
140
+ Le fichier de configuration est en format YAML et plein d'explications. Les
141
+ variables définis dans ce fichier peuvent être classées en deux catégories :
142
+
143
+ * Variables qui décrivent des valeurs déterminées par flnews. Ils peuvent être
144
+ utiilisées ou remplacées. Les composants importants sont normalement
145
+ spécifiés dans une « capture group ».
146
+
147
+ * Variables qui définissent du nouveau contenu ou des changements dans le
148
+ contenu.
149
+
150
+ **FUP_NAME**
151
+ Une « expression régulière » ( “regular expression” ) décrivant la chaîne de
152
+ caractères qui contient le nom de l'auteur d'un article précédent, qu'on veut
153
+ citer en partie. Cet élément est reconnu dans l'article d'origine et peut
154
+ être utilisé à la place de l'élément correspondant dans *GROUP_INTRO* ( à voir
155
+ plus bas ). Le format de l'expression est celui de la classe Regexp dans Ruby.
156
+ Veillez de masquer le backslash '\\' avec un autre, comme dans l'exemple. Un
157
+ « capture group » '()' sert à extraire le nom du résultat de la comparaison.
158
+
159
+ Laissez ce champs vide afin de maintenir le comportement configuré pour flnews.
160
+
161
+ CONTENU : L'équivalent d'une regular expression en chaîne de caractères.
162
+
163
+ PAR DÉFAUT : Vide
164
+
165
+ EXEMPLE 1 : "On \\\\d+.\\\\d+.\\\\d{2,4} at \\\\d+:\\\\d+ **(.*)** wrote:"
166
+
167
+ EXEMPLE 2 : "**(.*)** wrote:"
168
+
169
+ **FUP_GROUP**
170
+ Une « expression régulière » ( “regular expression” ) décrivant la chaîne de
171
+ caractères qui contient le newsgroup où a été publié l'article précédent à qui nous
172
+ faisons référence dans un « followup ».
173
+
174
+ Laissez ce champs vide afin d'ignorer le groupe précis.
175
+
176
+ CONTENU : l'équivalent d'une regular expression en chaîne de caractères.
177
+
178
+ PAR DÉFAUT : Vide
179
+
180
+ EXEMPLE : "wrote in **(.*)**:"
181
+
182
+ **GROUP_INTROS**
183
+ Des introductions qui font référence à l'auteur de l'article précédent que
184
+ nous souhaitons citer. Si vous avez trouvé le newsgroup où l'article a été
185
+ publié ( à voir : FUP_GROUP, ci-dessus ), et le nom de son auteur
186
+ ( FUP_NAME ), vous pouvez utiliser ces valeurs ici.
187
+
188
+ Jusqu'à prochaine ordre, seulement %fup_name% est %fup_group% sont reproduit
189
+ dans l'introduction resultant.
190
+
191
+ | CONTENU : Un newsgroup ou regexp par ligne, suivi de deux points, un espace et
192
+ | une chaîne de caractères.
193
+
194
+ PAR DÉFAUT : Comme configuré dans flnews.
195
+
196
+ | EXEMPLE ( un groupe et une hiérarchie ) :
197
+ | alt.test: "Thus spoke %fup_name% in %fup_group%"
198
+ | fr\\.*: "C'était dans %fup_group%, que %fup_name% c'est exprimé ainsi"
199
+
200
+ **GROUP_SIGS**
201
+ Une signature par newsgroup ou expression.
202
+ ATTN! Vous devez noter \\r\\n pour les sautes de lignes, si une signature
203
+ s'étend sur plusieurs lignes.
204
+
205
+ CONTENU : un newsgroup ou expression par ligne, suivi de deux poins, un espace
206
+ et une chaîne de caractères.
207
+
208
+ PAR DÉFAUT : Comme configuré dans flnews.
209
+
210
+ EXEMPLE : fr.test: "Signature pour alt.test\\r\\nseconde ligne"
211
+
212
+ **CUSTOM_HEADERS**
213
+ Entêtes supplémentaires pour l'article sortant.
214
+
215
+ CONTENU : 1 ligne par entête : un trait d'union, un espace, puis une chaîne de
216
+ caractères comprenant le nom de l'entête, puis deux points et la valeur de
217
+ l'entête.
218
+
219
+ PAR DÉFAUT : Vide ( pas défini )
220
+
221
+ | EXEMPLE ( 2 entêtes ) :
222
+ | - 'X-My-Header: nothing fancy'
223
+ | - 'X-Another-Header: care not!'
224
+
225
+ **NO_ARCHIVE_GROUPS**
226
+ Les newsgroups, où les entêtes « Archive: no » et « X-No-Archive: yes »
227
+ doivent être présents.
228
+
229
+ CONTENU : Un trait d'union et un espace, puis une chaîne de caractères,
230
+ contenant le nom du groupe ou une expression.
231
+
232
+ PAR DÉFAUT : Vide
233
+
234
+ | EXEMPLE ( 1 groupe, 1 hiérarchie ) :
235
+ | - "alt.test"
236
+ | - "^news.*"
237
+
238
+
239
+ **DEBUG_LOG**
240
+ Le nom d'un fichier, qui va servir comme protocol. Si le nom d'un fichier
241
+ valide est donné, le protocol est activé. Laissez vide pour désactiver le
242
+ protocol.
243
+
244
+ | CONTENU : Le nom d'un fichier dont les droits permettent l'écriture.
245
+ | Il sera créé s'il n'existe pas encore et remplacé à chaque exécution
246
+ | du logiciel.
247
+
248
+ PAR DÉFAUT : Vide
249
+
250
+ EXEMPLE : '/tmp/a_log-file.txt'
251
+
252
+ **LOG LEVEL**
253
+ Un de debug, fatal, error, info, warn
254
+
255
+ | EXEMPLE :
256
+ | LOG_LEVEL: 'debug'
257
+
258
+ **REFERENCES_SEPARATOR**
259
+ Un symbole ou une séquence de symboles qui marquent la fin du corps du message
260
+ et le début d'une liste de « références » ou « notes de pied de page ». Il
261
+ apparaîtra seulement, si le message contient du text marqué pour servir comme
262
+ note de pied de page. À voir *REFERENCES_DELIMITER* ci-dessous.
263
+
264
+ Si l'option n'est pas défini ou vide, la liste suit à la dernière ligne du
265
+ corps du message, sans séparation supplémentaire.
266
+
267
+ CONTENU : Un symbol ou séquence de symboles entre guillemets " " ou ' '.
268
+
269
+ PAR DÉFAUT : Vide
270
+
271
+ EXEMPLE : '---------'
272
+
273
+ **REFERENCES_DELIMITER**
274
+ Une séquence d'au moins deux symboles qui marque le début d'un text qui sera
275
+ transformé en note de pied de page ( ou référence ). La **séquence inversée**
276
+ doit marquer la fin du même fragment de text. La présence de cette séquence
277
+ dans le message d'origine, a comme conséquence que le text marqué sera déplacé
278
+ vers la fin, au-dessous du corps du message.
279
+ Si *REFERENCES_SEPARATOR* ( option ci-dessus ) est défini, il va séparer le message
280
+ de la liste des notes du pied de page.
281
+
282
+ Laissez ce champs vide pour éviter la création des noted du pied de page.
283
+
284
+ CONTENU : Une séquence de symboles entre guillemets ( '' )
285
+
286
+ PAR DÉFAUT : Vide
287
+
288
+ EXEMPLE: '%?'
289
+
290
+ **REFERENCE_FORMAT**
291
+ Une chaîne de formatage, contenant %s pour représenter une nombre, qui
292
+ remplace le texte d'une future note du pied de page dans le corps du message.
293
+
294
+ PAR DÉFAUT : " %s)" -> devient 1) ... 2) ... 3)
295
+
296
+ EXEMPLE : "(%s)" -> devient (1) ... (2) ... (3)
297
+
298
+ **VFY_URLS**
299
+ Une constante booléen. Elle détermine si le programme doit essayer de corriger
300
+ des URLs. Même si les URLs sont identifiables, seulement quelques manipulations
301
+ sont temptées :
302
+
303
+ * '<' et '>' sont ajoutés, si manquants
304
+ * Des slashes sont insérés, s'ils manquent après "http(s):"
305
+
306
+ ATTN! Le programme ne peut pas différencier entre "mailto:" et "news:". Si ni l'un
307
+ ni l'autre est donné, mais '@' est présent, "news:" est ajouté automatiquement.
308
+
309
+ Si la variable n'est pas défini, la valeur 'yes' est présumée.
310
+
311
+ CONTENU: Un de YES, yes, NO, no, et autres tels variations
312
+
313
+ PAR DÉFAUT: yes
314
+
315
+ EXEMPLE: No
316
+
317
+ **OVERRIDE_CONFIG**
318
+ Une constante booléenne. Vous pouvez décider d'ignorer les options suivantes
319
+ avant qu'un article est posté : GROUP_SIGS, XNAY_GROUPS, CUSTOM_HEADERS,
320
+ VFY_URLS et DEBUG_LOG. Un dialogue peut être affiché, qui permet la
321
+ désactivation de chacune de ces options. Les valeurs par défaut, définis pour
322
+ flnews, vont donc prévaloir.
323
+
324
+ ATTN ! En poussant Esc ou le bouton « Annuler » du dialogue, vous interrompez
325
+ le programme et flnews ne va rien envoyer.
326
+
327
+ Notez la valeur 'no', 'NO' ou pareil pour désactiver le dialogue.
328
+
329
+ PAR DÉFAUT : yes
330
+
331
+ EXEMPLE: No
332
+
333
+ Autres Informations
334
+ ===================
335
+
336
+ Tester
337
+ ------
338
+ L'effet qu'aura l'exécution du programme peut être vérifié de deux manières :
339
+
340
+ 1. En fournissant un article, sauvegardé auparavant dans un fichier :
341
+
342
+ **:~$ /usr/local/bin/[post-processor] < [test-article]**
343
+
344
+ Ceci va vous présenter la nouvelle version de l'article sur l'écran, mais
345
+ vous pouvez aussi diriger le résultat dans un autre fichier. C'est une
346
+ excellente technique pour tester un logiciel pendant le développement ou
347
+ votre configuration avant que vous vous en servez.
348
+
349
+ 2. En envoyant un message directement dans un groupe de test ( comme alt.test,
350
+ fr.test ou similaires ).
351
+ Ceci est obligatoire avant que vous postez dans des groupes thématiques et
352
+ si les réglages du post-traitement vont modifier l'article.
353
+
354
+ Code source
355
+ -----------
356
+ Le fichier flnews_post_proc.gem, que vous recevez à l'aide de l'outil *gem* ou
357
+ directement du site *rubygems.org*, contient tout le code source du logiciel et
358
+ de la documentation ( cette page notamment ). Pour lire le code du logiciel,
359
+ vous devez
360
+
361
+ 1. utiliser *tar -xf flnews_post_proc-[version].gem*
362
+ 2. décomprimer l'archive data.gz : *gunzip data.gz*
363
+ 3. Extraire le contenu du fichier résultant « data.tar » :
364
+ *tar -xf data.tar*
365
+
366
+ À la fin les répertoires bin, doc et lib seront créés.
367
+
368
+ License
369
+ -------
370
+ flnews_post_proc est distribué sous les conditions de la WTFPL-2.0 ou plus
371
+ récent ( À voir http://www.wtfpl.net/txt/copying/ ou license-text dans le
372
+ répertoire « doc » de la gem ).
373
+
374
+ Auteur
375
+ ------
376
+ | flnews_post_proc a été développé par
377
+ | Michael Uplawski <michael.uplawski@uplawski.eu>
378
+
379
+ Ω
380
+ ==