Le service NNTP

L'auteur de cette page est : Jean-Baptiste Yunes

Les forums, messages...

Les forums

USENET est un réseau de distribution de forums et messages que l'on peut comparer à des journaux et articles.

Les forums sont nommés et classés par catégories et sous-catégories. Par exemple le forum comp.os.plan9 correspond à un forum classé parmi ceux dont l'intérêt le plus général est de communiquer à propos de l'informatique (computers), plus particulièrement des systèmes d'exploitation (os : operating systems) de la famille plan9. Les catégories principales couramment distribuées sont :

Mais on trouve aussi des hiérarchies propres à de nombreux pays :

La création de forums obéit à certaines règles (différentes selon la hiérarchie concernée) par exemple pour la hiérarchie fr il faut procéder par :

appel à discussion
d'une durée d'environ un mois dont le rôle est de faire émerger un consensus sur la nécessité du forum.
appel à vote
d'une durée d'environ un mois et qui permet de voter sur la création elle-même (les discussions sont alors closes).
dépouillement
sans durée mais généralement très rapide. Des règles de comptage sont appliqués sur les bulletins.
publication des résultats
ne doit pas dépasser sept jours après la fin du vote. La liste de votants est publiée ainsi que les résultats.

Pour la france l'administration de la hiérarchie est gérée par le modérateur du forum fr.announce.newgroups.

Les forums sont en général ouverts (on dit non modérés), ce qui signifie que chacun peut y poster librement des messages. Les forums modérés ne permettent que des postages conditionnés à l'approbation d'un modérateur (lequel est chargé de veiller essentiellement à la pertinence des messages postés).

Les FAQs

Il existe aussi pour presque tous les forums un document appelé FAQ (Frequently Asked Questions, laborieusement traduit en français par Foire Aux Questions) contenant une liste de questions et réponses que chacun se pose naïvement à propos du thème du forum. Nous croyons bien souvent être des êtres originaux mais la consultation de tels documents montrent que bien avant nous de nombreuses personnes se sont posés les mêmes questions. Ainsi l'existence d'un tel document permet, en théorie, de limiter la bande passante du forum aux messages originaux. En théorie car en pratique il semble bien que peu de personnes lisent ces documents. Par exemple on trouvera dans la FAQ du forum fr.sci.maths la réponse à la question Est-ce que 0,9999... = 1 ?.

On peut trouver une liste de FAQs sur le site Internet FAQ Consortium, ou encore à l'Institut Pasteur.

Les messages

Ils constituent simplement des articles que chacun pourra librement consulter après diffusion dans le réseau. Ils sont très souvent organisés en discussion (threads) car un message appelle très souvent, et pas toujours à raison, une voire des réponses. Les messages sont constitués d'un entête (voir plus bas) et d'un corps. Ce dernier est libre de contenu mais obéît généralement à certaines conventions. Par exemple il est fréquent en réponse à un autre message de citer tout ou partie de celui-ci, et dans ce cas chaque extrait est préfixé par un caractère permettant de retrouver l'imbrication dans la conversation. De plus, on utilise fréquemment une ligne précédant l'extrait permettant d'identifier l'auteur. Une dernière convention consiste à signer les messages par un ou plusieurs petits mots.

Attention : il est fréquent d'abuser de ces conventions, il faut donc essayer de s'en tenir à quelque chose de raisonnable. Éviter de citer un message dans son entier (c'est tellement facile et inutile) est une bonne règle. Pour la signature, évitez d'en mettre une tartine en pensant faire de l'art (c'est tellement facile et généralement de mauvais goût). Voici un corps message raisonnable (l'identité des auteurs a été volontairement masquée) :

pla@BigNoz.com (Pline l-ancien) nous a dit:
> 
> L'origine du mot n'est pas tout a fait celle la. Je crois que c'est un tcheque qui
> le premier a utilise ce terme pour designer une machine autonome qui effectue
> des taches pour l'homme. 

Tiré de la FAQ de fr.rec.arts.sf:
Le mot « robot » est tiré du tchèque pour « travailleur », et apparaît 
pour la première fois dans une pièce de théâtre de Karel Capek.

-- 
Plutarque

Voici un corps de message des plus idiots au moins en ce qui concerne Patrick :

cretin@BigNoz.com (Philippe le Cretin) nous a dit:
> idiot@LittleFeet.com (Jean le Debile) nous fait savoir:
> > Bonjour,
> > 
> > J'écris dans ce groupe pour la premiêre fois, s'il vous plaît soyez gentils!
> >
> > Je voudrais savoir s'il est possible d'obtenir la liste des fichiers d'un
> > répertoire sous DOS ?
> >
> > --
> > Jean
> Salut jean,
> 
> Mais oui nous sommes gentils.
> 
> Il existe plusieurs façon de réaliser ce que tu demandes. La plus simple est
> d'utiliser la commande DIR. Par exemple: DIR *.txt. Essayes!
>
> --
> Philippe

Hé les gars,

J'espère que vous allez bien! Moi aussi ca va.

Philippe! Parle pour toi :-) Je suis pas gentil moi!!!!!!! :-(

Sinon, ouais je suis tout a fait d'accord avec la réponse de Philippe. Il a vachement
raison. C'est la bonne façon. Enfin autant que je saches car je n'ai jamais essayé.

Allez, salut et à demain.
--
Patrick "Cool" Abruti ;-)
"Il est nécessaire de croire en l'homme pour bien faire ses courses"
  Voltaire in "les belles phrases".
Consultez mon super-site web ultra cool http://blurp.net/trash/cool.htm
int main(int argc,char *argv[]) { printf("Patrick \"Cool\" Abruti\n"); }

Il existe de nombreux documents décrivent les règles d'usage en vigueur sur USENET : Conseils pour une meilleure utilisation des News de Marc Schaefer, Savoir communiquer sur USENET, Emily Postnews répond à vos questions de Brad Templeton et traduit par divers auteurs, Les bonnes manières sur Usenet-fr, L'art et la maniêre de ne pas répondre sur Usenet, La netiquette de Corinne Gacon et Philippe Ladame, Répondre par courrier ou dans les news,

La distribution de messages

USENET est un graphe dirigé dans lequel chaque noeud est une machine et chaque arc un canal de transmission étiqueté par une liste de forums à redistribuer.

USENET est un ensemble de sous-réseaux nommés (par exemple : comp ou alt). Chacun de ses sous-réseaux est connexe, ainsi que USENET lui-même (du moins en théorie).

Un message à diffuser sur une liste de forums entre dans le réseau (on dit qu'il est posté) par l'intermédiaire d'une des machines du réseau USENET, laquelle est chargée de le redistribuer sur tous les canaux dont l'étiquette correspond au moins à l'un des forums. Chacun des voisins faisant alors de même jusqu'à ce que le message soit diffusé sur l'ensemble du réseau.

Le protocole

Le protocole de transfert de forums est décrit par la RFC 977 datant de 1986. Depuis, certaines extensions ont été implantées dans divers logiciels et la RFC 2980 (datant de l'année 2000) propose d'en faire la liste. Le format des messages échangés est décrit par deux autres documents : RFC 822 et RFC 1036.

Les commandes du protocole

ARTICLE
peut prendre trois formes possibles :
ARTICLE
retrouve le message courant du forum courant.
ARTICLE identificateur-de-message
retrouve le message identifié par son identificateur-de-message.
ARTICLE numéro-de-message
retrouve le message de numéro numéro-de-message dans le forum courant.

Les réponses possibles sont :

220 numéro-de-message identificateur-de-message
ce message est suivi par l'entête du message, une ligne blanche, le corps du message, puis une ligne ne contenant que le caractère ..
412
indique qu'aucun forum courant n'est sélectionné
420
indique qu'aucun message courant n'est sélectionné
423
indique qu'aucun message ne possède un tel numéro-de-message
430
indique qu'aucun message n'est identifié par cet identificateur-de-message
BODY
peut prendre trois formes possibles :
BODY
retrouve le corps du message courant du forum courant.
BODY identificateur-de-message
retrouve le corps du message identifié par son identificateur-de-message.
BODY numéro-de-message
retrouve le corps du message de numéro numéro-de-message dans le forum courant.

Les réponses possibles sont :

222 numéro-de-message identificateur-de-message
ce message est suivi par le corps du message, puis une ligne ne contenant que le caractère ..
412
indique qu'aucun forum courant n'est sélectionné
420
indique qu'aucun message courant n'est sélectionné
423
indique qu'aucun message ne possède un tel numéro-de-message
430
indique qu'aucun message n'est identifié par cet identificateur-de-message
HEAD
peut prendre trois formes possibles :
HEAD
retrouve l'entête du message courant du forum courant.
HEAD identificateur-de-message
retrouve l'entête du message identifié par son identificateur-de-message.
HEAD numéro-de-message
retrouve l'entête du message de numéro numéro-de-message dans le forum courant.

Les réponses possibles sont :

221 numéro-de-message identificateur-de-message
ce message est suivi par l'entête du message, puis une ligne ne contenant que le caractère ..
412
indique qu'aucun forum courant n'est sélectionné
420
indique qu'aucun message courant n'est sélectionné
423
indique qu'aucun message ne possède un tel numéro-de-message
430
indique qu'aucun message n'est identifié par cet identificateur-de-message
STAT
peut prendre trois formes possibles :
STAT
permet de récupérer le statut du message courant du forum courant.
STAT identificateur-de-message
récupère le statut du message identifié par son identificateur-de-message.
STAT numéro-de-message
récupère le statut du message de numéro numéro-de-message dans le forum courant.

Les réponses possibles sont :

223 numéro-de-message identificateur-de-message
indique que le message existe et doit être lu par une autre méthode
412
indique qu'aucun forum courant n'est sélectionné
420
indique qu'aucun message courant n'est sélectionné
423
indique qu'aucun message ne possède un tel numéro-de-message
430
indique qu'aucun message n'est identifié par cet identificateur-de-message
GROUP
dont la syntaxe est : GROUP forum permet de sélectionner le forum comme forum courant.

Les réponses possibles sont :

211 nombre premier dernier forum
indique que le forum existe bien qu'il contient au plus nombre messages dont les numéros sont compris entre premier et dernier
411
indique qu'aucun forum de ce nom là n'existe.
HELP
permet d'obtenir de la liste des commandes supportées par le serveur.

La seule réponse possible est :

100
suivie d'un texte librement formatté terminé par une ligne ne contenant que le caractère .
IHAVE
dont la syntaxe est : IHAVE identificateur-de-message permet d'informer le serveur que le client possède un message identifié par identificateur-de-message afin que le serveur puisse en réclamer le contenu s'il le désire.

Cette commande n'est pas à l'usage des applications de consultation de forums mais réservée aux serveurs afin de distribuer les messages dans le réseau USENET.

Outre les causes d'erreur diverses et variées possibles (place disque, mauvais format, etc.) les réponses suivantes sont distinguées :

235
indique que le transfert a correctement abouti.
335
indique que le serveur désire maintenant recevoir le message. Lequel doit être terminé par une ligne ne contenant que le caractère .
435
indique que le serveur ne désire pas recevoir ce message
436
indique que le transfert a échoué mais que le transfert pourra sans doute aboutir un peu plus tard
437
indique que le message est rejeté et qu'il ne faut pas tenter de le renvoyer
LAST
permet de positionner le pointeur de message sur le message précédent dans le forum courant.

Les réponses possibles sont :

223 numéro-de-message identificateur-de-message
indique que l'article a été retrouvé et qu'il faut utiliser une autre commande pour le consulter
412
indique qu'aucun forum courant n'a été sélectionné
420
indique qu'aucun message courant n'est sélectionné
422
indique qu'il n'existe pas de message précédant le message courant
LIST
permet de retrouver la liste des forums disponibles ainsi que certaines informations les concernant. La liste est une suite de lignes chacune au format suivant :
forum dernier premier y|n

La liste est terminée à la réception d'une ligne ne contenant que le caractère ..

Pour chaque forum sont indiqués les numéros des dernier et premier messages (dans le cas où dernier est plus petit que premier cela signifie qu'il n'y a pas de messages à consulter dans le forum).

Le dernier caractère indique s'il est permis de poster ou non un message dans le forum. Mais attention le postage peut être par ailleurs interdit (voir la commande POST).

La seule réponse possible est :

215
indiquant que la liste suit (terminée par une ligne ne contenant que le caractère .)
NEWGROUPS
dont la syntaxe est : NEWGROUPS date heure [GMT] [<distributions>] permet de retrouver la liste de forums créés depuis la date et l'heure indiqués.

La date doit être représentée sur 6 caractères (AAMMJJ) et l'heure sur 6 caractères (HHMMSS). L'heure étant exprimée relativement au fuseau horaire du serveur sauf si l'on précise GMT.

Une liste de distributions peut être précisée afin de limiter la recherche (ex: <fr,comp> limite la recherche aux forums distribués sous comp et fr.

La seule réponse possible est :

231
indique que la liste suit (terminée par une ligne ne contenant que le caractère .)
NEWNEWS
dont la syntaxe est : NEWNEWS forums date heure [GMT] [<distributions>] permet de recevoir la liste des messages reçus par le serveur dans les forums appartenant aux distributions depuis la date et l'heure indiqués (l'heure est relative au fuseau horaire du serveur sauf si l'on précise GMT).

Les forums peuvent être spécifiés en utilisant l'opérateur , pour indiquer une alternative, * pour indiquer un morceau quelconque et ! pour indiquer une négation. Par exemple : fr.*,comp.*,!*.rec.* correspond à l'ensemble des forums dont le nom commence par fr. ou comp. mais ne contenant pas .rec..

Les formats de date, d'heure et de distributions sont identiques à ceux de la commande NEWGROUPS.

La seule réponse possible est :

230
indique que la liste des identificateurs de messages suit (terminée par une ligne ne contenant que le caractère .)
NEXT
permet de positionner le pointeur de message sur le message suivant dans le forum courant.

Les réponses possibles sont :

223 numéro-de-message identificateur-de-message
indique que l'article a été retrouvé et qu'il faut utiliser une autre commande pour le consulter
412
indique qu'aucun forum courant n'a été sélectionné
420
indique qu'aucun message courant n'est sélectionné
412
indique qu'il n'existe pas de message précédant le message courant
POST
permet de poster un nouveau message dont le format doit être conforme à la RFC 1036. Si une ligne du texte à transmettre commence par le caractère . celui-ci doit être doublé.

Les réponses possibles sont :

240
indique que le message a bien été reçu et posté.
340
indique que le serveur est prêt à recevoir le message.
440
indique que le postage est interdit.
441
indique que le postage a échoué.

Le postage peut être globalement autorisé ou interdit au client. Ceci est indiqué par le message obtenu du serveur lors de la connexion initiale (200 autorise le postage sauf indication contraire dans le forum. 201 interdit le postage quelque soit l'indication ultérieure du forum).

SLAVE
permet d'indiquer au serveur que le client n'est pas une application destinée à un utilisateur mais un serveur esclave. Si la sémantique n'est pas précisée, il est possible d'imaginer par exemple que le serveur puisse servir en priorité les requêtes d'un serveur esclave.

La seule réponse possible est :

202
indique que le serveur a bien noté la demande de changement de statut
QUIT
permet d'indiquer une fin de session.

La seule réponse possible est :

205
indique que le serveur va fermer la connexion

Les extensions

LIST ACTIVE
dont la syntaxe est : LIST ACTIVE [motif] permet de recevoir la liste des forums correspondant au motif spécifié. Celui-ci peut contenir certains caractères magiques comme *, ?, [], ^ et \. Le résultat est identique à celui renvoyé par la commande standard LIST.
LIST ACTIVE.TIMES
permet de recevoir le liste des forums disponibles sur le serveur ainsi que la date de création (exprimée en secondes écoulées depuis le 1 Janvier 1970 à 0 heures 0 minutes 0 secondes) et l'identité du créateur. Par exemple :
fr.rec.photo.numerique 953560868 Newsmaster@jussieu.fr.
fr.soc.environnement 953560868 Newsmaster@jussieu.fr.
fr.comp.integration 953560869 Newsmaster@jussieu.fr.
fr.sci.psychologie 953560869 Newsmaster@jussieu.fr.
fr.rec.arts.musique.variete 953560870 Newsmaster@jussieu.fr.
LIST DISTRIBUTIONS
permet d'obtenir des informations détaillées sur les valeur possibles du champ Distribution. Chaque ligne du résultat contient deux champs : le premier étant la valeur possible et le second un court message explicitant la sémantique de la valeur.
LIST DISTRIB.PATS
permet d'obtenir une méthode de calcul à appliquer pour mettre à jour le champ Distribution. Les lignes de résultat sont formées de trois champs séparés par des :, le premier spécifiant un poids, le second un motif décrivant un ensemble de forums et le troisième la valeur du champ Distribution. Lors du postage d'un article dans un forum, le client doit de préférence utiliser la valeur pour laquelle le poids le plus fort est obtenu. Ceci n'est donné qu'a titre informatif.
LIST NEWSGROUPS
dont la syntaxe est : LIST NEWSGROUPS [motif] permet d'obtenir pour chaque forum un court message descriptif. Par exemple :
fr.rec.moto             Pour les amateurs de moto.
fr.rec.oracle           Le Grand Oracle francophone. (Moderated)
fr.rec.peche            Discussions et informations sur la pêche à la ligne.
fr.rec.peche-chasse             Pour les amateurs de chasse et de peche.
fr.rec.philatelie       Discussions sur les timbres et l'histoire postale.
fr.rec.photo            Discussions sur la photographie.
fr.rec.plongee          Plongee sous-marine.
LIST OVERVIEW.FMT
permet d'obtenir la liste ordonnée des champs utilisés par le serveur à des fins d'indexation.
LIST SUBSCRIPTIONS
permet d'obtenir une liste de forums auxquels le serveur recommande de s'abonner par défaut.
LISTGROUP
dont la syntaxe est : LISTGROUP forum permet d'obtenir la liste des numéros de message du forum en question. De plus cette commande positionne le pointeur de message courant au premier de la liste.
MODE READER
permet d'indiquer au serveur que le client est une application destinée à des utilisateurs. Ainsi le serveur pourra éventuellement prendre en considération cette information afin de se comporter en conséquence vis-à-vis du client (voir SLAVE).
XGTITLE
dont la syntaxe est XGTITLE [motif] permet de retrouver pour chaque forum un court message descriptif. Cette commande est tout à fait identique à LIST NEWSGROUPS sauf en ce qui concerne les codes de retour.
XHDR
dont la syntaxe est XHDR champ [rang|<identificateur-de-message>] permet de retrouver la valeur du champ d'entête des messages spécifiés. Par exemple la commande XHDR Subject 43640-43650 renvoie :
43640 Re: Pompe sur batterie pour circulation chauffe-eau solaire
43641 Re: Ou est...
43642 Re: Où trouver les consignes Promotelec
43643 Re: Comparaison tonne de gaz
43644 Re: Pompe sur batterie pour circulation chauffe-eau solaire
43645 Re: chauffe eau 380 tri
43646 Re: vitesse de cuve de bétonniere ?
43647 Re: Plafond cave
43648 lexan est-ce du plastique ??
43649 Pb de chauffage te c'est bientot l'hiver
43650 Re: =?iso-8859-1?Q?b=E9ton?= cellulaire
XOVER
dont la syntaxe est XOVER [rang] renvoie les informations d'indexation des messages spécifiés.
XPAT
dont la syntaxe est XPAT champ rang|<identificateur-de-message> motif [motif...] permet de retrouver les messages dont le numéros sont spécifiés et pour lesquels le champ contient les différents motifs. Par exemple la commande XPAT Subject 43640-44000 *batterie* renvoie :
43640 Re: Pompe sur batterie pour circulation chauffe-eau solaire 
43644 Re: Pompe sur batterie pour circulation chauffe-eau solaire 
43669 Re: Pompe sur batterie pour circulation chauffe-eau solaire 
43677 Re: Pompe sur batterie pour circulation chauffe-eau solaire 
43706 Re: Pompe sur batterie pour circulation chauffe-eau solaire 
43710 Re: Pompe sur batterie pour circulation chauffe-eau solaire 
43796 Re: Pompe sur batterie pour circulation chauffe-eau solaire
XPATH
dont la syntaxe est XPATH <identificateur-de-message> permet de retrouver le fichier contenant le message.
AUTHINFO
permet de réaliser l'authentification de l'utilisateur.
DATE
permet de retrouver la date et l'heure courante du serveur au format AAAAMMJJHHMMSS mesurée par rapport au méridien de Greenwich.

Les messages USENET

C'est la RFC 1036 qui définit le format des messages distribués dans les forums USENET. En réalité ce document ne fait que restreindre la sémantique ou l'utilisation de certains champs des messages électroniques tels qu'ils sont définis dans la RFC 822.

Il faut préciser que si de nombreux champs sont obligatoires pour qu'un message circule correctement sur USENET, seuls quelques-uns d'entre eux doivent être fournis par l'application cliente; c'est ensuite le serveur qui ajoute les champs qu'il juge nécessaires. Certains serveurs sont capables de fournir un modèle d'entête.

Les champs obligatoires

From
ce champ doit contenir l'adresse électronique de l'envoyeur, et de façon optionnelle (entre parenthèses et à la suite ou au début mais avec une adresse entre crochets) le nom complet de la personne en question. Soit par exemple :
From: Jimi.Hendrix@electric.ladyland (James Marshall Hendrix)

ou

From: James Marshall Hendrix <Jimi.Hendrix@electric.ladyland>
Date
spécifie la date à laquelle le message a été posté sur USENET. Le format des dates est plutôt compliqué mais le suivant est accepté : JDS, JJ MMM AA HH:MM:SS TMZ. Par exemple :
Date: Tue, 17 Oct 2000 01:08:30 +0200
Newsgroups
ce champ spécifie le forum (ou la liste des forums) dans lequel (lesquels) ce message doit être distribué ou dans lequel (lesquels) il a un intérêt (voir Followup-To).
Subject
spécifie un titre pour le message. Celui-ci doit être suffisamment suggestif afin que les lecteurs soient aidés dans leur décision de le lire ou l'ignorer. Si ce message est une réponse à un autre message alors le titre du message originel doit être conservé et préfixé par Re: , un champ References doit être spécifié et il est recommandé d'utiliser Summary.
Message-ID
ce champ permet d'identifier de façon unique le message. Les identificateurs de messages doivent avoir une durée de vie d'au minimum deux ans. La syntaxe conforme à la RFC 822 est : <identificateur@domaine-d'entrée>.
Path
ce champ permet de tracer le chemin utilisé par le message pour sa diffusion dans le réseau USENET. À chaque fois qu'un serveur distribue une message il doit y ajouter, en tête, son propre nom. Soit par exemple :
Path: jussieu.fr!bidule.net!trucmuche!be.bop.a.lula @news.gateway.zorglub

Tout autre caractère qu'une lettre, chiffre, point ou tiret y est considéré comme séparateur. La valeur de ce champ ne doit jamais être utilisée pour retrouver une quelconque adresse électronique. Son utilisation est entièrement réservée à la distribution et permet principalement d'éviter aux messages de tourner sans fin dans le réseau.

Les champs optionnels

Reply-To
de même format que le champ From, il permet de joindre l'auteur du message en privé (par courrier électronique). Si ce champ est absent c'est l'adresse fournie dans le champ From qui doit être utilisée.
Sender
ce champ n'existe que si l'envoyeur a déjà fournit un champ From. Il contient l'adresse de l'envoyeur réel. Par exemple, si Jimi décide de poster un message en utilisant le compte de son ami Mitch les champs doivent contenir les informations suivantes :
From: Jimi.Hendrix@electric.ladyland (James Marshall Hendrix)
Sender: Mitch.Mitchell@are.you.experienced (Mitch Mitchell)
Followup-To
de même format que Newsgroups spécifie la liste des forums dans lesquels les réponses au message devront être distribuées. En son absence les réponses seront distribuées en utilisant la liste présente dans Newsgroups. Il est préférable de ne pas mettre plus d'un forum dans la liste.

Si ce champ est positionné à la valeur poster aucune réponse à ce message ne doit être posté sur USENET : un courrier électronique doit être envoyé à l'auteur en lieu et place.

Pour couper court à une discussion il est toujours possible d'utiliser le forum poubelle junk.

Expires
ce champ doit contenir une date correctement formattée spécifiant une date d'expiration pour le message.
References
ce champ doit contenir la liste des identificateurs de messages auxquels celui-ci se réfère (dans le cas d'une réponse). Il ne doit jamais apparaître lorsque le message est un nouveau sujet de discussion.

L'utilisation courante de ce champ est le regroupement de messages en conversations. Si le message d'origine possède déjà un tel champ alors la réponse que l'on y fait doit aussi contenir ce champ avec la même valeur plus l'identificateur du message d'origine en question. Il est permis d'enlever quelques identificateurs lorsque l'imbrication des réponses est déraisonnable.

Control
lorsque ce champ est présent c'est que le message est un message de contrôle. Ces derniers ne sont qu'à l'usage des serveurs et ne doivent normalement pas être lus par les utilisateurs. Il existe d'autres formes de messages de contrôle mais uniquement à des fins de compatibilité. La valeur du champ est la commande de contrôle que l'on désire réaliser (voir les messages de contrôle).
Distribution
permet de limiter la visibilité du message. Sa présence limite la diffusion du message aux serveurs diffusant les forums en question et adhérant à la distribution spécifiée. Par exemple, si l'on désire (en théorie) limiter la diffusion d'une petite annonce de vente d'un véhicule sur le territoire français on peut imaginer l'entête suivant :
Newsgroups: rec.autos.forsale,fr.automobile.petites-annonces,misc.vehicule.forsale
Distribution: fr
À condition que les serveurs soient d'accord sur les valeurs possibles (ce qui est loin d'être le cas).

On recommande parfois d'utiliser local (pour ne pas redistribuer le message) ou world pour le diffuser sur la planète.

Organization
permet de préciser (à titre informatif) à quel genre d'utilisateur l'adresse électronique de l'émetteur fait référence car celles-ci sont souvent indéchiffrables. Par exemple:
Organization: BigNoze Computing Machinery
Keywords
spécifie une liste de mots-clés permettant d'identifier les sujets couverts par le message.
Summary
contient normalement un bref résumé du contenu du message.
Approved
ce champ n'est présent que pour des messages postés sur des forums modérés et approuvés. La valeur est l'adresse électronique du modérateur. Certains messages de contrôle utilisent aussi ce champ.
Lines
spécifie la longueur du corps du message exprimée en nombre de lignes.
Xref
contient le nom d'une machine suivit par une liste de couples forums/numéros de messages. Cette information est purement locale au serveur. Par exemple :
Xref: news-server fr.rec.bricolage:403 fr.soc.politique:4589

indique que ce message est disponible sur la machine news-server dans le forum fr.rec.bricolage sous le numéro 403 ainsi que dans le forum fr.soc.politique sous le numéro 4589.

Voici un exemple de message :

Path: jussieu.fr!not-for-mail
From: Jean-Baptiste.Yunes@liafa.jussieu.fr
Newsgroups: fr.test
Subject: Un petit essai
Date: 2 Nov 2000 10:07:42 GMT
Organization: LIAFA - Universite Paris 7 - France
Lines: 5
Message-ID: <8trede$sgl$2@vishnu.jussieu.fr>
NNTP-Posting-Host: verif.liafa.jussieu.fr
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: vishnu.jussieu.fr 973159662 29205 132.227.81.70 (2 Nov 2000 10:07:42 GMT)
X-Complaints-To: Newsmaster@jussieu.fr.
NNTP-Posting-Date: 2 Nov 2000 10:07:42 GMT
Summary: Une chanson celebre
Keywords: mai, fleurs, vent
User-Agent: tin/pre-1.4-19990805 ("Preacher Man") (UNIX) (SunOS/5.6 (sun4u))
Xref: jussieu.fr fr.test:64322

Voici le moi de mai,
Où les fleurs volent au vent,
-- 
 Yunes Jean-Baptiste,     LIAFA, Universite Paris 7 Denis Diderot.    France
                                         http://www.liafa.jussieu.fr/~yunes/

Les messages de contrôle

Il faut rappeler que les messages de contrôle sont ceux qui possèdent un champ Control dont la valeur est l'une des commandes suivantes :

cancel <identificateur-de-message>
si le message est présent sur le serveur celui-ci doit être supprimé, dans le cas contraire rien d'autre ne doit être fait (et surtout pas retransmettre cette commande sur le réseau USENET). Normalement seul l'auteur du message et l'administrateur du serveur sont autorisés à effectuer une telle requête.
ihave|sendme <liste-d'identificateurs-de-messages> [système]
permet la distribution de messages entre serveurs en lieu et place de la commande IHAVE du protocole.
newgroup <forum> [moderated]
permet de créer un nouveau forum (éventuellement modéré). Dans ce type de message le corps du message doit être utilisé pour contenir la charte du forum à créer.
rmgroup <forum>
permet de supprimer un forum.
sendsys
permet de recevoir des informations relatives à la connectivité USENET du serveur.
version
permet de recevoir des informations relatives à l'application serveur.
checkgroups
permet de recevoir une liste des forums officiellement distribués par le serveur.

Les applications clientes

Il existe de très nombreuses applications permettant de consulter les forums USENET. En voici une liste non-exhaustive :

TIN
navigateur USENET en mode texte disponible sur tin.org.
Netscape Communicator
qui permet de naviguer sur USENET en utilisant l'URL news: ou news:forum par exemple news:fr.rec.bricolage.
Internet Explorer avec Outlook Express
qui permet de naviguer sur USENET en utilisant l'URL news: ou news:forum par exemple news:fr.rec.bricolage.