Slrn et Slrnpull : Aspirons les <!-- aux ? -->News <author>Par <<htmlurl url="mailto:layers@vax2.rainis.net" name="Larry Ayers">> <p>Linux Gazette n°15 - Traducteur : Joel Sagnes <<htmlurl url="mailto:joels69@club-internet.fr" name="joels69@club-internet.fr">> le 1er août 1999. <sect>Installation et utilisation <p>Il existe plusieurs façons de lire les contributions sur Usenet. Un lecteur de news classique se loguera sur votre serveur distant, téléchargera les en-têtes des nouveaux articles des groupes auxquels vous êtes abonnés, puis vous permettra de marquer les articles que vous jugez intéressants, pour ensuite les récupérer pour vous. Tout ceci a lieu en connexion et pendant ce temps, le compteur tourne. <p>D'autres, parmi lesquels Suck et Leafnode, procèdent différemment. Ces programmes sont conçus pour être utilisés d'une façon non-interactive et sont en général configurés pour déposer les articles récupérés dans un répertoire de spool local. Suck nécessite la présence d'un serveur de news actif tel que INN ou CNEWS sur votre machine. Leafnode n'en a pas besoin (il a le sien), mais ces deux programmes sont prévus pour des environnements multi-utilisateurs et peuvent se révéler disproportionnés sur des machines individuelles. <p>Slrn est un lecteur de news populaire, en mode texte, écrit par <htmlurl url="mailto:davis@space.mit.edu" name="John Davis"> au MIT. A l'origine, il faisait partie de la première catégorie ci-dessus énoncée, mais récemment, Davis s'est mis à travailler sur une extension à Slrn qui descendrait les articles depuis le serveur pour les stocker localement. On peut ensuite les lire hors-connexion avec Slrn. Cette extension, Slrnpull, est fournie avec la dernière version bêta de Slrn. <p>Si vous disposez de la bibliothèque S-lang sur votre système, vous pouvez compiler Slrn et Slrnpull à partir des sources disponibles (de même que ceux de la bibliothèque S-lang) sur ce <htmlurl url="ftp://space.mit.edu /pub/davis/slrn" name="site">. Une version binaire, liée statiquement, pourrait se trouver dans le répertoire <tt>/pub/Linux/Incoming</tt> sur <tt>sunsite.unc.edu</tt> au moment où vous lirez ces lignes. Si vous préférez placer le répertoire de spool de news ailleurs (il peut atteindre une taille non négligeable), vous devrez modifier le fichier <em>/slrn/src/slrnfeat.h</em>. <p>Slrn a recours à un script <em>configure</em> qui devrait lui permettre d'être compilé sur la plupart des plateformes Linux. Une fois les exécutables dans un répertoire se trouvant dans le chemin (<em>path</em>), créez le répertoire de spool (<em>/var/spool/news/slrnpull</em> ou là où vous l'aurez défini), puis copiez y le modèle de script <em>slrnpull.conf</em> fourni. Il faudra le retoucher avant de lancer Slrnpull pour la première fois, mais son format<!-- syntaxe ? --> n'est pas très compliqué et voici les commentaires que John Davis y a placé : <newline> <!-- euh, là, il faut traduire aussi ? --> <verb> # The syntax of the file is very simple. # Any line that is blank or begins with a '#' character will be ignored by # slrnpull. The remaining lines consist of 1-3 fields separated by # whitespace: # # NEWSGROUP_NAME MAX_ARTICLES_TO_RETRIEVE NUMBER_OF_DAYS_BEFORE_EXPIRE # # The first field must contain the name of a newsgroup. # # The second field denotes the number of articles to retrieve for the # newsgroup; if its value is 0, all available articles will # be retrieved. # # The third field indicates the number of days after an article is retrieved # before it will be eligible for deletion. If this value is 0, articles from # this group will not expire. # # # If a field is blank, or contains the single character '*', default values # will apply to the field. Defaults may be set by a line whose newsgroup # field is 'default'. Such a line will denote default values to be applied to # the lines following it or until another default is established. # For example: default 20 14 # indicates a default value of 20 articles to be retrieved from the server and # that such an article will expire after 14 days. comp.os.linux.misc 50 7 comp.os.linux.x 20 7 comp.os.linux.announce * * </verb> <p>C'est plus facile à configurer que certains des programmes de news que j'ai utilisés ! <p>Dès l'instant où la variable $NNTPSERVER de vos fichiers <em>~/.bash_profile</em> ou <em>~/.cshenv</em> contient l'adresse IP <!-- plutôt le FQDN, non ? --> de votre serveur de news, Slrnpull devrait être prêt pour un essai. La première fois que vous le lancerez, il créera un sous-répertoire pour chaque groupe de news que vous avez choisi. Ensuite, il se loguera sur le serveur et téléchargera les articles tout en affichant à l'écran le débit de la connexion et le nombre d'articles. <p>Il est probable que vous vouliez tous les articles de certains des groupes auxquels vous vous êtes abonné, alors que pour d'autres, vous voulez être plus sélectif dans ce que vous allez rapatrier. On peut créer un <em>kill-file</em> dans le répertoire de spool qui permettra de spécifier, selon les groupes, quels articles doivent être gardés sur le serveur. <p>Lancer Slrn avec l'option <em>--spool</em> aura pour effet de lui faire charger le contenu du fichier de spool nouvellement créé. De cette façon, vous pourrez lire des articles rapidement et tous ceux que vous aurez supprimés deviendront invisibles pour le lecteur de news tout en subsistant sur le disque jusqu'à leur expiration. Tous les articles de suivi que vous pourriez écrire sont stockés dans un sous-répertoire du spool. Ainsi, la prochaine fois que vous lancerez Slrnpull, il les remontera sur le serveur avant de récupérer les nouveaux articles. <p>Slrnpull conserve un historique de toutes les transactions avec le serveur ; ces messages sont affichés à l'écran alors que le programme tourne, mais l'idée derrière celui-ci est que vous n'avez pas besoin de rester assis là à regarder. L'historique sert à vérifier si vos contributions ont bien été acceptées par le serveur. <p>Périodiquement, Slrnpull devrait être lancé avec l'option <em>--expire</em> afin de supprimer tous les articles que vous avez marqués comme effacés en lisant les news avec Slrn. Cette tâche devrait être prise en charge par <tt>cron</tt> chaque nuit. <p>Avec un peu de peaufinage du fichier <em>slrnpull.conf</em>, vous devriez obtenir du programme qu'il vous récupère uniquement les articles de votre choix. Cela pourrait sembler du gaspillage que de télécharger tous les articles 'bons à jeter' en même temps que ceux que vous jugez dignes d'intérêt, mais c'est une procédure globale qui ne prend pas tant de temps que cela. J'ai pu constater que faire tourner Slrnpull tout en naviguant sur le Web ou en recevant un fichier par FTP fonctionnait bien. <p>Le modèle de fichier <em>.slrnrc</em> inclus avec le programme contient une expression <tt>if/then</tt> qui force Slrn à lire le fichier <tt>active</tt> local lorsqu'il est lancé en mode spool, tout en l'empêchant, quand il tourne en mode standard, de récupérer le gros fichier <tt>active</tt> distant lors de chaque connexion.Ceci vous permet de lire les news directement depuis votre serveur quand vous le désirez.<!-- à vérifier, là. Pas sûr de moi ... --> <p>Voici les nouvelles entrées contenues dans le fichier-exemple et nécessaires à Slrn pour utiliser les articles <em>spoolés</em> : <newline> <verb> set spool_inn_root "/var/spool/news/slrnpull" set spool_root "/var/spool/news/slrnpull/news" set spool_nov_root "/var/spool/news/slrnpull" set use_slrnpull 1 hostname "your.host.name" username "your_user_name" </verb> <newline> <p>Le restant du fichier <em>.slrnrc</em> est le même que dans les versions précédentes de Slrn, par conséquent, si vous en avez accomodé un à vos préférences, les sections spécifiques à Slrnpull peuvent être copiées/collées depuis le modèle. <p>Pour savoir quel logiciel utilise votre serveur de news, connectez-y vous via un <tt>telnet</tt> : <newline> <verb> telnet [adresse IP] :nntp </verb> <!-- Moi, je fais plutôt 'telnet news.mon_provider_.com nntp', mais bon ... --> <newline> <p>Le serveur s'identifiera lors de l'ouverture de la connexion. <newline> <sect>Conclusion <p>Slrnpull est certainement le plus utile avec des groupes de news au trafic peu élevé, tels que <em>fr.comp.os.linux.annonces</em>. Il est probable que vous voudrez quand même en lire tous les articles et Slrnpull les prendra tous. En revanche, pour des groupes très fréquentés, tels que <em>fr.comp.os.linux.configuration</em>, où il est particulièrement difficile de séparer le bon grain de l'ivraie, un rapide survol des en-têtes à la recherche des quelques contributions dignes d'intérêt (pendant la connexion), peut se révéler plus efficace. Srlnpull est aussi très pratique pour avoir une idée générale de l'ambiance d'un groupe : dites lui simplement d'aspirer les vingt articles les plus récents et jugez par vous-même. <p>Si vous n'avez jamais utilisé Slrn, je vous le recommande chaudement, surtout si vous lisez les news par l'intermédiaire d'une liaison PPP ou SLIP. Il est rapide et efficace, et vous pouvez le modeler en fonction de vos besoins. Ceux qui utilisent le module Gnus sous Emacs feront la transition sans peine, la plupart des raccourcis clavier étant identiques. Gnus a beaucoup plus de possibilités mais il s'avère plus lent sur un réseau et est plus gourmand en ressources système. </article>