Usenet

Un article de Wikipédia, l'encyclopédie libre.

Usenet (également connu sous le nom Netnews) est un système en réseau de forums de discussions, inventé en 1979 et basé sur le protocole NNTP. Il a rapidement été rendu utilisable via Internet où il reste aujourd'hui en usage.

Certains le trouvent moins simple d'emploi que les forums Web (apparus dans les années 1990) mais il a pour principaux avantages de permettre une lecture plus rapide (car moins personnalisée et perturbée visuellement) et de faciliter la réplication des articles sur les serveurs du monde entier.

De nos jours, la plupart des nouveaux venus sur Internet découvrent et utilisent Usenet via la rubrique Groups[1] de Google.

Habituellement, l'usage (lecture ou écriture) a lieu via un logiciel dit lecteur de nouvelles ou newsreader en anglais.

Sommaire

[modifier] Fonctionnement général

Usenet est un ensemble de protocoles servant à générer, stocker et récupérer des « articles » (des messages qui sont proches, dans leur structure, des courriels), et permet l'échange de ces articles entre les membres d'une communauté qui peut être répartie sur une zone potentiellement très étendue. Usenet est organisé autour du principe de groupes de discussion ou groupes de nouvelles (en anglais newsgroups), qui rassemblent chacun des articles (contributions) sur un sujet précis. Les sujets des groupes de discussion sont organisés selon une hiérarchie. Une fois connectés à un serveur informatique fournissant un service Usenet, les utilisateurs peuvent choisir les groupes mis à disposition par ce serveur auxquels ils désirent « s'abonner ». Pour chaque groupe auquel il est abonné, l'utilisateur peut alors voir tous les nouveaux articles mis à disposition sur ce groupe et tous les articles reçus par le serveur depuis un certain temps. Les anciens articles sont automatiquement effacés du serveur ; selon les serveurs, ce délai peut varier entre un mois et quelques jours. Toutefois, il existe des serveurs d'archivage, tels que Google Groups ou Gmane[2], qui permettent de consulter les anciens articles de certains groupes de discussion, présentés de la même façon que les archives de Liste de discussion.

Lorsqu'un utilisateur envoie un article sur un serveur Usenet, celui-ci le propage à tous les autres serveurs avec qui il a conclu des accords d'échange d'articles (feeding, littéralement, « alimentation »), et ainsi de suite. Chaque serveur conserve une copie de cet article, et peut ensuite le mettre à disposition des utilisateurs ayant accès à ce serveur.

Les utilisateurs emploient généralement un logiciel client appelé lecteur de nouvelles (parfois aussi appelé client de news, en référence au modèle client-serveur) pour lire et composer des articles Usenet. La plupart des clients de messagerie intègrent un module de lecture des articles Usenet plus ou moins complet.

[modifier] Les débuts d'Usenet

Usenet a été créé en 1979 par un groupe d'étudiants de Caroline du Nord : Tom Truscott, Jim Ellis, Denis Rockwell et Steve Daniel, de Dake, et Steve Bellovin, de Chapel Hill. Il est donc né après le courriel (1972) et après TCP/IP (1974), mais avant le DNS (1983) et bien avant le World Wide Web (1989). Le nom Usenet était une abréviation de UNIX User Network ; on le considère aujourd'hui comme un nom propre.

Usenet, à l'origine indépendant, a rapidement été connecté à ARPAnet, le futur Internet. En pratique, aujourd'hui, la totalité du trafic Usenet passe par Internet. Mais certains utilisateurs se plaisent à rappeler que « Usenet n'est pas Internet » et pourrait exister sans.

En 1986, le protocole UUCP, utilisé à l'origine pour le transport des news, a été remplacé par NNTP, conçu spécialement. Dans les deux ans qui ont suivi, le Great Renaming, réorganisation des groupes pour faire face à la croissance et à l'internationalisation du réseau, a donné à Usenet sa structure d'ensemble actuelle.

[modifier] Organisation

Depuis cette époque, les groupes sont rangés selon divers critères dans une arborescence. Le nom d'un groupe est formé de plusieurs composantes, séparées par des points ; et chaque composante correspond à un niveau d'arborescence. Il se lit de gauche à droite : par exemple, fr.education.superieur est un groupe francophone, consacré à l'éducation, et plus particulièrement à l'enseignement supérieur. L'ensemble des groupes situés dans une même branche de l'arborescence, c'est-à-dire qui ont des premières composantes identiques, s'appelle une hiérarchie. On utilise souvent le symbole * pour désigner des caractères quelconques : ainsi, on écrit comp.* pour désigner l'ensemble des groupes de la hiérarchie comp.

Chaque serveur peut choisir de diffuser ou non pour ses utilisateurs, et de propager ou non à ses voisins, le contenu de chaque groupe. Le plus souvent, l'administrateur ne choisit pas les groupes un par un, mais sélectionne des hiérarchies entières.

Le cœur d'Usenet est le Big Eight ou Big8, formé des huit principales hiérarchies internationales : comp (ordinateurs), misc (divers), news (fonctionnement des newsgroups), rec (loisirs), sci (sciences), soc (société) et talk (débats), créées lors du Great Renaming, et humanities (lettres, sciences humaines), ajoutée par la suite. Le Big8, à l'exception parfois de la hiérarchie talk, est largement propagé. On y discute principalement mais pas uniquement en anglais.

Il existe deux autres hiérarchies internationales importantes, où les règles — assez strictes — de fonctionnement du Big8 sont assouplies. Sur biz.*, la publicité est autorisée. Sur alt.*, n'importe qui peut créer un groupe, et sur alt.binaries.* il est permis de publier des pièces jointes.

Il y a ensuite un certain nombre de hiérarchies « nationales » Certaines, comme la principale hiérarchie francophone Usenet-fr, correspondent en réalité à une langue et non pas à un pays. Les plus importantes sont presque aussi bien propagées que le Big8.

Enfin, on trouve un grand nombre de hiérarchies mineures, à la propagation assez aléatoire. Il peut s'agir de réseaux de discussion complets et indépendants, d'espaces de discussion mis en place par des entreprises... De nombreux serveurs offrent une hiérarchie locale « privée » qui est parfois propagée à l'extérieur. La hiérarchie microsoft.public.* en est un exemple connu.

[modifier] L'avenir d'Usenet ?

Le nombre de contributions et d'auteurs est en baisse depuis 2003[3]. Usenet semble souffrir de la concurrence du Web : (forums Web, blogs et wikis). De plus, Usenet est souvent accusé de véhiculer un contenu réputé illégal ou pornographique[4].

[modifier] Fonctionnement technique

[modifier] Articles

Pour lire les news, l'utilisateur utilise un logiciel spécialisé, le lecteur de nouvelles ou newsreader. Celui-ci se connecte à un serveur de nouvelles. Le dialogue avec le serveur utilise le protocole NNTP, décrit dans la RFC 977, et se déroule en général sur le port 119. Une fois connecté, le logiciel peut récupérer la liste des groupes disponibles, la liste des articles d'un groupe (en fait, leurs en-têtes), ou le contenu d'un article donné. Il peut aussi poster des articles, en les envoyant au serveur.

Le format des articles, décrit dans la RFC 1036, ressemble beaucoup à celui des courriers électroniques. Un article commence par des en-têtes de la forme

 Champ: valeur

Il y a un grand nombre d'en-têtes standardisés, pour indiquer l'expéditeur, la date, le sujet, les groupes où publier l'article... Les lecteurs de news les remplissent automatiquement. Il est possible d'ajouter ses propres en-têtes ; le nom du champ doit alors commencer par X-, par exemple X-No-Archive. Suivent une ligne vierge puis le corps de l'article proprement dit.

Le tout doit être en texte brut. Le seul codage du texte brut lisible sur tout Usenet est ASCII. Selon les groupes, il est possible, en l'indiquant dans les en-têtes, d'envoyer des messages codés ISO-8859 sur 8 bits, et en particulier dans les jeux de caractères adaptés aux langues d'Europe de l'Ouest : ISO 8859-1 (latin1) et ISO 8859-15 (latin9). Enfin, dans quelques rares groupes, on peut utiliser Unicode, en général codé en UTF-8.

Chaque article porte un identifiant unique, le Message-Id. C'est la façon principale d'y faire référence. Un article n'appartient pas à un groupe particulier. Il est simplement posté sur le réseau, et visible dans les groupes où il est posté d'après ses en-têtes. Cela permet de poster un même article dans plusieurs groupes en ne transportant qu'un seul exemplaire. (Il est bien vu de ne pas abuser de ce procédé, appelé crosspost.)

Le serveur doit ensuite propager l'article.

[modifier] Serveurs et propagation

Les premières versions de Usenet utilisaient les logiciels B-News, puis C-News comme logiciels serveurs. Dans les Années 1990, INN fut développé pour tirer avantage de l'architecture d'Internet, qui favorisait un fonctionnement autre que la méthode stocker-faire suivre d'UUCP. Le développement d'INN continue à ce jour, et d'autres serveurs Usenet sont également apparus entre-temps.

Pour mettre en place un serveur de news, il faut tout d'abord se procurer un feed, c'est-à-dire une connexion à un autre serveur (suffisamment important) qui pourra transmettre au nouveau serveur le trafic du reste d'Usenet. Les serveurs voisins se contactent régulièrement pour propager les articles. Schématiquement, ils comparent leurs listes d'articles, et chacun envoie à l'autre ce qu'il est le seul à avoir. Naturellement, les serveurs de news ne conservent et ne propagent que les articles suffisamment récents.

Pour ce qui est des changements dans la structure des groupes elle-même, des articles spéciaux, appelés messages de contrôle, indiquent à chaque serveur les modifications de l'arborescence. Libre à chaque administrateur d'ignorer certains groupes. N'importe qui peut envoyer un message de contrôle, mais les serveurs sont configurés pour n'accepter, pour telle hiérarchie, que les messages signés par telle clé privée de cryptographie asymétrique. Les messages de contrôle « pirates » sont donc ignorés — à moins que l'administrateur du serveur n'en décide autrement.

Le classement des plus gros serveurs de newsgroup est tenu par le site top1000.org[5].

[modifier] Adresses et accès aux ressources

Reste un dernier point, celui de l'identification d'un serveur, d'un groupe ou d'un message. Comme à peu près tout ce qui est accessible par Internet, ces ressources peuvent être désignées par des « adresses » textuelles, les Universal Resource Identifiers ou URI.

Les adresses concernant Usenet ne sont pas complètement standardisées. La RFC 1738 en définit trois sortes, mais on en trouve d'autres encore (voir la RFC 2396 et les Internet Draft draft-gilmain-news-url-02 et draft-stockwell-hnews-url-00).

La syntaxe

 news:<nom de groupe>

(par exemple news:fr.sci.maths), permet d'accéder à un groupe donné. Les logiciels qui l'utilisent demandent à l'utilisateur d'indiquer par ailleurs sur quel serveur le rechercher. Le nom de groupe spécial * correspond à la liste des groupes disponibles. Sur le même principe,

 news:<Message-Id>

désigne un article précis, toujours sur un serveur quelconque. Il n'y a pas d'ambiguïté car un Message-Id contient toujours le caractère @ ; un nom de groupe jamais.

Enfin,

  nntp://<hôte>:<port>/<nom de groupe>/<numéro d'article> 

identifie un article précis, dans un groupe précis, sur un serveur donné. On peut omettre les dernières composantes pour désigner un groupe ou un serveur, et le port par défaut est 119.

Certains sites web permettent de lire les forums usenet largement distribués et d'y poster ; ces sites offrent en général également une fonction d'archive (voir ci-après).

[modifier] Archive des discussions

L'ensemble des articles postés sur Usenet n'a pas toujours été archivé. Cependant, de 1995 à 2001, la société Deja.com (devenue DejaNews.com en 1997) effectua un tel travail d'archivage et mit à la disposition des internautes une plate-forme de recherche puis d'envoi d'articles. En décembre 2001, le moteur de recherche Google racheta DejaNews.com et sa base d'articles, puis ajouta une archive d'articles remontant jusqu'aux débuts de Usenet.[6] Ces archives sont incomplètes, mais néanmoins très fournies. Il est notamment possible d'y retrouver des messages historiques[7], comme l'annonce du World Wide Web faite par Tim Berners-Lee dans news:alt.hypertext[8] et l'annonce de Linux faite par Linus Torvalds dans news:comp.os.minix[9].

[modifier] Transport de fichiers binaires

Historiquement, Usenet a été développé pour distribuer du texte brut utilisant le jeu de caractères 7 bits ASCII. À l'aide de programmes qui codent des données 8 bits comme des suites de caractères ASCII 7 bits, il est possible de transférer par Usenet des fichiers binaires quelconques. En raison de leur taille et de leur légalité parfois douteuse, les articles contenant des fichiers binaires ne sont acceptés que sur des groupes spécifiques, ce qui permet aux administrateurs de serveurs d'accepter ou refuser facilement de les distribuer.

La plus ancienne de ces méthodes de codage est uuencode, initialement développée pour UUCP. À la fin des années 1980, beaucoup de serveurs limitaient la longueur des articles à 60 000 caractères ; et de telles limites existent toujours, même si elles sont généralement plus élevées. Pour cette raison, les données d'un fichier sont réparties en différents articles et doivent être réassemblées par le lecteur de nouvelles.

Il arrive que certaines parties d'un fichier ne soient plus téléchargeables (en effet les serveurs ne gardent les messages binaires que quelques jours) ou bien que certaines parties soient erronées. Pour pallier ce problème, on rencontre souvent des fichiers PAR qui sont des données supplémentaires à télécharger et permettent de reconstruire les parties manquantes. En règle générale les fichiers PAR font 10 % de la taille totale du fichier à télécharger.

Avec les extensions du format des articles (Base64, « Quoted-Printable », MIME) sont apparues de nouvelles possibilités pour le transport de contenus binaires. En pratique, MIME est de plus en plus utilisé dans les messages, mais guère pour transmettre des pièces jointes binaires. Par ailleurs, certains systèmes d'exploitation qui associent aux fichiers des informations auxiliaires (métadonnées) nécessitent des formats spéciaux. Mac OS utilise par exemple Binhex et des types MIME spécifiques.

Pour mieux utiliser les capacités du réseau Usenet et augmenter la vitesse de transfert, la procédure de codage yEnc a été mise au point en 2001. Elle utilise moins d'espace que les codages usuels en supposant que la plupart des caractères 8 bits peuvent être transmis correctement.

[modifier] Logiciels

[modifier] Explications

Les fichiers binaires déposés sur les newsgroups étant découpés en plusieurs parties (multi-parties), il faut les réassembler une fois tous les téléchargements terminés. Des logiciels sont apparus afin de faciliter et d'accélérer le téléchargement mais aussi de l'interrompre pour le reprendre plus tard. Beaucoup d'autres options sont disponibles et varient selon les programmes, comme par exemple :

  • la prise en charge du système NZB
  • la vérification de l'intégrité et la réparation éventuelle des fichiers grâce au système Parchive
  • l'extraction d'archives simples ou en plusieurs volumes fréquemment utilisées pour le dépôts de gros fichiers

[modifier] Notes et références

[modifier] Voir aussi

[modifier] Articles connexes

[modifier] Liens externes