L’essentiel pour lire les newsgroups avec `slrn`
Il n’est pas très dur de chercher quelque chose dans la documentation
officielle de slrn
(le client NNTP le plus utilisé à l’ÉPITA, en
console), mais je ne peux résister à la tentation de regrouper ici ce qui me
semble le plus utile pour que plus personne n’ait d’excuse pour ne pas
participer sur les newsgroups de l’école.
Fonctionnement général des newsgroups
C’est quoi les newsgroups ?
Sur le principe, on a à peu près la même chose qu’un forum comme vous pouvez en trouver sur le Web : il y a plusieurs sections, et les personnes communiquent en écrivant des messages dans les sections appropriées.
Les forums sont apparus avec le Web dans les années 1990, en revanche les newsgroups existent depuis 1979 : les technologies utilisées n’étaient pas exactement les mêmes, mais les utilisateurs d’Internet communiquaient beaucoup au travers d’un réseau de serveurs newsgroups appelé Usenet. Usenet est de nos jours bien moins utilisé ; l’ÉPITA a cependant conservé l’usage des newsgroups (dans une certaine mesure) pour la communication entre élèves et avec l’équipe pédagogique, surtout en première année d’ingénierie. Même si l’activité a drastiquement baissé depuis quelques années (au moment où j’écris, en septembre 2012), à côté de ça les forums de promotions se créent puis finissent par tomber dans l’oubli au cours du temps, devenant la cible de SPAMs ; leur fermeture va avec la perte de tous les messages qui y ont été posté.
Pour vous et moi, la première différence avec les forums est qu’on accède à
ceux-ci avec le protocole HTTP, et donc par un navigateur. Les newsgroups sont
accessibles avec des protocoles dédiés. Pour rester simple et pragmatique,
disons que nous utiliserons le protocole NNTP avec le logiciel slrn
pour à la fois
lire et poster des messages. Ainsi, pour lire les newsgroups, on va se
connecter à un serveur (dans notre cas, news.epita.fr
).
Chaque groupe (équivalent d’une section d’un forum) a un nom qui ressemble à
un nom de domaine : plusieurs mots séparés par des points, par exemple :
iit.talk.citations
. La liste des groupes est gérée par les
administrateurs du serveur. Chaque groupe a un thème bien particulier, ce qui
permet de classer les discussions : rien d’inhabituel. Certains newsgroups ont
aussi une fonction bien particulière ; par exemple, dans le cas des newsgroups
de l’école :
iit.test
- Ce groupe est incontournable : il permet à chacun de tester que son lecteur de news est bien configuré (que les messages rédigés sont bien formattés, etc.). On peut y écrire n’importe quoi sans crainte de déranger personne.
iit.delation
- Groupe autrefois au traffic inouï, on y retrouve comme son nom l’indique diverses délations de dites « mauvaises actions » de la part d’étudiants, de bocaliens, etc.
iit.adm, epita.adm, …
- L’écriture de messages dans les groupes de ce type est réservée à l’équipe pédagogique. Leur lecture est en revanche recommandée à toutes les personnes concernées.
epita.adm.a1, epita.adm.isup, …
- La lecture de ces groupes est obligatoire pour chaque promotion concernée (a1 = ing1, isup = Info Sup, etc.). Je n’ai aucune idée des permissions pour écrire dedans.
En septembre 2012, si l’on ne compte pas les groupes utilisés par la pédagogie en Ing-1 (c’est-à-dire les groupes réservés par les assistants, les projets pour Ing-1, etc.), on compte moins d’un article posté par jour pour la totalité des groupes. Il est donc tout à fait raisonnable de tout lire sans y passer trop de temps. Je recommande donc à chacun de s’abonner à l’ensemble des groupes.
Anatomie d’un article
Parlons maintenant des articles (un article = une news = un post = un
message)… Informatiquement parlant, une news a exactement le même format
qu’un mail : il s’agit tout d’abord d’un document texte, c’est-à-dire une suite
d’octets affichables dans un terminal. Pour exemple, prenons le premier post
venu sur iit.test
:
Path: news.ig-iit.com!made by rockyluke!not-for-mail
From: Arthur <…@marmottus.net>
Newsgroups: iit.test
Subject: Dis moi petit pot de test...
Date: Mon, 10 Sep 2012 14:36:27 +0000 (UTC)
Organization: IONIS Institute of Technology
Lines: 9
Message-ID: <slrnk4rust.k5j.arthur@localhost.localdomain>
Reply-To: …@marmottus.net
NNTP-Posting-Host: marmottus.net
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-Trace: news.ig-iit.com 1347287787 3314 178.170.114.194 (10 Sep 2012 14:36:27 GMT)
X-Complaints-To: https://intranet.ig-iit.com
NNTP-Posting-Date: Mon, 10 Sep 2012 14:36:27 +0000 (UTC)
User-Agent: slrn/pre1.0.0-16 (Linux)
Xref: news.ig-iit.com iit.test:12320
Bonjour,
éyaéyaéyaéyaéyaéyaéyaéya
Cordialement.
--
Arthur « Marmottus » Crépin-Leblond
ING3
Au premier coup d’œil, on peut voir deux sections bien différentes :
Le headers (en gras) sont des méta-données permettant de joindre aux messages des informations utiles comme la date d’envoi (cherchez la ligne commençant par
Date:
), l’expéditeur (From:
), le sujet (Suject:
) et les groupes dans lesquels le message a été posté (Xref:
).On peut aussi voir beaucoup d’informations qui se révèlent inutiles pour le commun des mortels. Rassurez-vous,
slrn
ne va pas tout afficher par défaut !… et le corps du message, à la guise complète du rédacteur (c’est-à-dire vous !).
Remarquez que j’ai dit qu’une news pouvait être postée dans plusieurs newsgroups à la fois. Ce n’est pas une erreur, c’est d’ailleurs une pratique assez courante : cross-poster. Si vous voulez diffuser une information qui a sa place dans plusieurs groupes, au lieu de recopier votre article dans chaque groupe, il est possible de poster une news dans plusieurs groupes en même temps. Nous verrons comment faire la seconde possibilité plus tard, mais gardez en tête que la première est à bannir : si on a une news copiée dans plusieurs groupes, les lecteurs vont devoir marquer séparément le même texte comme lu, ce qui est peu pratique.
Aussi, quand on cross-poste une news, il est de bon ton de définir dans quel
newsgroups vous voulez poursuivre la discussion. Imaginez que vous voulez
annoncer une conférence destinée aux Info Sup : iit.assos.gconfs
et epita.adm.isup
sont alors des groupes de choix. Mais ensuite,
les lecteurs de ces deux groupes vont-ils répondre sur l’un ? sur l’autre ? sur
les deux ? Il est déconseillé de cross-poster toute une discussion,
c'est-à-dire de cross-poster les réponses à un cross-post. Pour fixer les
choses, il est d’usage de rajouter un header Followup-To:
indiquant dans quel groupe en particulier répondre à un cross-post. Dans notre
exemple, il suffit donc de rajouter le header Followup-To:
iit.assos.gconfs
pour que tous les lecteurs puisse répondre
automatiquement dans le groupe réservé à l’association GConfs.
Les messages font généralement partie de discussions : on appelle
thread l’ensemble des messages qui forment une discussion.
Généralement, chaque message est soit un début de discussion soit une réponse à
un autre message. Une discussion est alors un arbre de messages (pour les
curieux, voir les headers Message-ID:
et
References:
).
Il n’y a rien d’autre à savoir pour utiliser confortablement les newsgroups ! La partie sur les cross-posting peut paraître compliqué, mais on peut ne s’y référer que quand on veut cross-poster, ce qui arrive finalement peu souvent, par exemple lorsque l’on veut annoncer un événement qui concerne plusieurs groupes.
Configuration basique de
slrn
L’installation du logiciel est hors de la portée de ce document : si vous
êtes sur une machine de l’école, slrn
devrait déjà être installé,
sinon débrouillez-vous. ;-) Notez la convention concernant les touches du
clavier : par « appuyez sur la touche T » j’entends comme si vous tapiez la
lettre « t » (en minuscule), tandis que « appuyez sur Shift-T » signifie qu’il
faut appuyer sur la touche « Shift », puis la garder enfoncée tout en appuyant
sur la lettre « t », et enfin relâcher les deux.
La première chose à faire est de créer le fichier .slrnrc
dans
votre dossier personnel (/home/login/.slrnrc
), qui va contenir vos
options de configuration pour slrn
. Supposons que vous vous
appeliez John Doe et que votre adresse mail soit
john.doe@example.com
, vous pouvez commencer votre fichier de
configuration avec :
set username "john.doe"
set hostname "example.com"
set realname "John Doe"
visible_headers "From:,Newsgroups:,Followup-To:,Date:,Subject:"
set sorting_method 9
Avec cette configuration, slrn
va automatiquement placer vos
noms et mail dans les messages que vous posterez et va par défaut limiter
l’affichage des headers à l’expéditeur, les groupes sur lesquels la news est
postée, le groupe pour répondre, la date et le sujet de la news, ce qui couvre
la majorité des usages. De plus, quand vous parcourerez la liste des articles
d’un groupes, ceux-ci seront groupés par discussion et triés par date (les plus
récent en haut).
D’ailleurs, la rédaction des messages que vous posterez avec
slrn
est déléguée à votre éditeur de texte favori. Il suffit de
définir la variable d’environnement EDITOR
pour désigner l’éditeur
à utiliser.
# Avec Bash/zsh/ksh/…
$ export EDITOR="vim"
$ export EDITOR="emacs -nw"
$ export EDITOR="gedit"
# Avec csh/tcsh
$ setenv EDITOR="vim"
$ setenv EDITOR="emacs -nw"
$ setenv EDITOR="gedit"
Il faut aussi spécifier à quel serveur NNTP se connecter. Dans la majorité
des cas, vous ne lisez les news que depuis un seul serveur : il suffit de
définir la variable d’environnement NNTPSERVER
:
# Avec Bash/zsh/ksh/…
$ export NNTPSERVER="news.epita.fr"
# Avec csh/tcsh
$ setenv NNTPSERVER="news.epita.fr"
Vous pouvez exécuter cette commande avant chaque lancement de
slrn
ou simplement la rajouter dans votre
.bashrc
/.tcshrc
/…
Notez que le serveur news.epita.fr
est accessible depuis
l’intérieur du parc informatique de l’école mais aussi depuis l’extérieur, sans
authentification. Il y a quelques années, il fallait se netsouler pour y avoir
accès depuis Internet.
Enfin, si vous voulez suffixer vos messages d’une signature, créez le
fichier /home/login/.signature
. Voici ma signature, par exemple :
--
Pierre-Marie de Rodat <pmderodat@kawie.fr>… ou simplement PM
http://canartichaut.kawie.fr/
Notez bien la première ligne de la signature : deux tirets, un espace et un retour à la ligne. Ce marqueur bien précis sert aux lecteurs à bien différencier la signature du reste : ne vous trompez pas ! Gardez votre signature concise : les signatures de plus de 4 lignes sont considérées comme de bruit, de la distraction inutile.
De très nombreuses autres options de configuration sont possibles, notament changer tous les racourcis clavier : il suffit de lire la documentation !
Exploration des groupes
Il n’y a plus qu’à lancer slrn
! Au premier lancement, il faut
dire à slrn
d’initialiser le fichier qui va garder en mémoire les
groupes que vous lisez, les articles lus/non-lu, etc. :
$ slrn -f .jnewsrc-epita --create
On peut lire sur le premier écran la liste des groupes disponibles :
U
pour « Unsuscribe », le nombre d’articles présents et le nom
du groupe. La dernière ligne indique les touches à utiliser pour les
actions les plus courantes.
Dans chaque écran, appuyez sur « Q » pour revenir à l’écran précédent ou pour quitter. « Ctrl-G » permet généralement de sortir d’un menu ou d’une action que vous voulez annuler tandis que « ? » permet d’afficher l’aide.
Vous pouvez naviguer dans cette liste avec les flèches Haut/Bas ou avec Page
Up/Page Down. Par défaut, slrn ne vous inscrit à aucun groupe : en l’état, vous
ne verrez aucun groupe au prochain lancement. Pour remédier à cela, positionnez
le curseur (la flèche verte) sur le groupe auquel vous voulez vous inscrire et
appuyez sur « S » : l’indicateur « U » devrait alors disparaître. Pour demander
à slrn
de vérifier une nouvelle fois les derniers messages postés,
appuyez sur « Shift-G ».
Recherchez le groupe iit.test
: pour cela, appuyez sur la
touche « / » (« forward search ») puis tappez iit.test
. La
fonction rechercher devrait sélectionner automatiquement le bon newsgroup. Pour
lire la liste des articles présents dans iit.test
, il suffit alors
d’appuyer sur « Enter ». Il y a généralement beaucoup de news déjà présentes :
pour éviter de tout télécharger, slrn
propose de n’en télécharger
qu’une partie (« Read how many? »). Acceptez le nombre par défaut avec la
touche « Entrer » pour lire toutes les news.
Quand on visite un groupe, tous les articles non-lus sont affichés (en gras). On peut lire dans l’ordre : le numéro du message, le nombre de lignes de son corps, l’expéditeur, le nombre de messages dans le thread et le titre de la news.
Il est possible de se déplacer dans la liste des threads de la même manière qu’à l’écran précédent. Par défaut, les threads sont repliés : vous ne voyez pas les différents messages qui les constitue. Pour déplier/replier un thread, placez-vous dessus et appuyer sur « Alt-T ».
slrn
est capable de trier les threads selon différents
critères (par date, par sujet, …). Pour sélectionner une méthode de tri,
appuyez sur « Alt-S » et sélectionnez un des modes indiqués.
Toutes les news que vous allez trouver au départ sont évidemement sont non-lues. Pour en line une, placez-vous dessus et pressez « Enter ». L’écran se divise alors en deux : la partie haute contient toujour la liste des threads et la partie basse contient le message à lire:
- Pour cacher/afficher l’écran de lecture, appuyez sur « H ».
- Pour cacher/afficher l’intégralité des headers, appuyez sur « T ».
- Pour cacher/afficher l’intégralité des citations, appuyez sur « Shift-T ».
Dans la liste des threads, si vous voulez marquer tous les threads comme « lus », appuyez sur « C » et confirmez ensuite avec « Y ». Pour marquer un thread/article comme lu, ce sera « D » et « U » pour marquer comme non-lu.
Remarquez que lorsque vous visitez un groupe qui contient des news non-lues, les news déjà lues ne sont pas listées. Par conséquent, pour lire une news que vous avez déjà lue il faut d’abord lire toutes les autres !
Postons des news !
Rien de plus simple : appuyez sur « Shift-P » et confirmez que vous voulez
poster avec « Y ». slrn
vous demande alors le newsgroup dans
lequel vous voulez poster : laissez iit.test
et appuyez sur
« Enter ». Donnez un sujet à votre nouveau post, appuyez de nouveau sur
« Entrer » et pouf ! vous voilà dans votre éditeur favori, avec un squelette de
news Vous avez déjà un certain nombre de headers, mais d’autres seront rajoutés
pendant le posting. En gardant une ligne vide entre vos headers et le
corps du message, tappez allègrement votre message en respectant les
conventions (voir plus bas). Une fois que votre news est rédigée, sauvegardez,
fermez votre éditeur et confirmez dans slrn
que vous voulez poster
avec « Y ».
La procédure pour répondre à une news est sensiblement la même : placez-vous en lecture sur la news à laquelle répondre et appuyez sur « F ». Le reste est identique !
Afin que les newsgroups restent un endroit convivial et pratique, il existe un certain nombre de conventions à respecter. De très nombreux documents ont été écrits sur ce sujet (« netiquette ») donc je vais faire court :
Restez courtois : encore plus que de face-à-face, l’ironie est dure à déceler et les propos sont souvent mal pris. À l’inverse, ne prêtez pas trop vite de mauvaises intentions à votre interlocuteur…
Configurez votre éditeur de texte pour ne pas dépasser idéalement 72 colones et dans tous les cas 80 colones de texte par ligne (il est normal de dépasser 72 colones en citant ce à quoi on répond). Au-delà de 80, on considère que certains équipements peuvent avoir des difficultés à afficher votre prose. Garder une certaine marge en dessous de 80 colones permet aux autres de vous citer sans dépasser ces 80 colones.
Relisez-vous et soignez votre orthographe ! Un article n’est écrit qu’une fois mais sera lu de très nombreuses fois, donc si vous soignez la présentation, ce sera autant moins de gêne pour toutes les personnes qui vous liront. Alors par pitié, faites un effort !
Essayez de ne pas dépasser 4 lignes pour votre signature : gardez le nécessaire et n’encombrez pas vos messages de choses inutiles.
Gardez un minimum de contexte quand vous répondez à quelque chose : citez ce à quoi vous répondez et réponsez en-dessous de la citation. C’est bien plus simple à lire ! Et ne tombez pas dans l’excès inverse : ne citez pas tous les messages précédents. Corolaire : ne faites pas trop référence à quelque chose que seules 2 ou 3 personnes sont capables de comprendre (« private jokes »), c’est très désagréable pour les autres. On va essayer d’être constructif, donc voici un exemple :
Quel beau ciel bleu ! Le 12 septembre 2012, Bidule a écrit : > Ma foi c’est un peu nuageux, et chez vous ? > > Le 10 septembre 2012, Machin a écrit : >> Quel temps fait-il là-bas ?
Cet extrait est écrit en « top-post ». C’est bien moins facile à lire que :
Le 12 septembre 2012, Bidule a écrit : > Le 10 septembre 2012, Machin a écrit : >> Quel temps fait-il là-bas ? > > Ma foi c’est un peu nuageux, et chez vous ? Quel beau ciel bleu !
N’oubliez pas de tester votre configuration en postant un message dans
iit.test
! Quand on n’a pas l’habitude de poster, on ne peut pas
faire attention à tout du premier coup…
Créé en setptembre 2012 et dernière mise à jour en août 2014