# Usenet

Usenet est un système en réseau de forums, inventé en 1979, lancé publiquement en 1980 à l’université de Caroline du Nord à Chapel Hill et l'université Duke$^,$, et cela une décennie avant l’arrivée du web. Pour fonctionner dans un environnement Unix, il utilise alors le protocole UUCP. Il devient accessible depuis Internet grâce à l'utilisation du protocole NNTP. Il est encore régulièrement utilisé au XXIe siècle.
Pour accéder au réseau Usenet, l’utilisateur passe par un logiciel qu’on appelle un lecteur de nouvelles et il utilise un fournisseur d’accès à Usenet (FAU).
Usenet est également accessible par le Web par des interfaces (web2news) comme Google Groupes et des sites faisant tourner une interface comme celui de l'Académie de Versailles.

## 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, qui permettent de consulter les anciens articles de certains groupes de discussion, présentés de la même façon que des 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.

## Organisation

Les groupes sont rangés selon divers critères dans une arborescence (depuis le Great Renaming de 1987). 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.

## Histoire
### Les débuts

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 Duke, et Steve Bellovin, de Chapel Hill (UNC)$^,$. 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 ce dernier.
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.

### Au XXIe siècle

Le nombre de contributions et d'auteurs est en baisse depuis 2003.
Voici quelques causes du déclin de son usage :
* la technologie de page web dynamique (début des années 2000) a permis la mise en service de forums sur des sites Web. Bien que disposant d'une audience individuellement beaucoup moins grande et d'une dispersion du contenu produit entre les forums web, ils ont comme atout (entre autres) la facilité d'emploi (quasi immédiate), contrairement à la relative difficulté de participation à Usenet ;
* en France la majorité des FAI ont cessé de fournir un service Usenet durant la décennie 2000. Toutefois, des bénévoles maintiennent des serveurs gratuits. Free continue de proposer une assistance officielle via Usenet pour la majorité de ses services ;
* il n'y a pas de modérateurs sur Usenet, ce qui entraîne sur certains groupes beaucoup d'abus (flooding, spamming, trolling…). Usenet a de ce fait été accusé de véhiculer un contenu réputé illégal (ex : Warez) et pornographique.
Néanmoins, en France, Usenet semble connaitre un regain d'intérêt : avec l'HADOPI 2, les systèmes d'échanges P2P étant surveillés, de nouvelles méthodes de téléchargement sont recherchées, et le réseau Usenet (principalement binaire) est de plus en plus fréquenté pour sa haute vitesse de téléchargement, la richesse des contenus et le respect de la neutralité du réseau.

## Fonctionnement technique
### 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 3977, 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). Aujourd’hui, on peut utiliser Unicode, en général codé en UTF-8 qui est plus universel.
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.

### 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. Actuellement les serveurs utilisés sont Diablo, Dnews et INN.
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.

### Adresses et accès aux ressources

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 (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).

## Fournisseurs d’accès à Usenet (FAU)
### Fournisseurs inclus dans les abonnements aux fournisseurs d’accès Internet (FAI)

En France, le FAI Free offre un accès aux newsgroups binaires (bien qu'un certain nombre de groupes aux noms évocateurs comme binaries.mp3 aient été fermés). Leur intérêt est souvent simple : diminuer les coûts liés à la bande passante en proposant un serveur à l'intérieur de leur réseau. Cet accès gratuit souffre cependant assez souvent de limitations, telles qu'une faible durée de rétention (souvent quelques jours ou semaines), ou une censure de certains newsgroups (parfois à la suite de décisions de justice) accusés de favoriser le téléchargement illégal.
French Data Network est le plus vieux fournisseur d’accès Internet français encore en activité et fournit un accès à Usenet depuis 1992.

### Fournisseurs indépendants

Eternal September est un projet privé et gratuit d'utilisation visant à donner accès à usenet uniquement aux newsgroups text. Son nom vient d’une expression Usenet sur Septembre éternel.
i2pn2 distribue la majorité des groupes "textes seulement. La liste des groupes francophones est à jour.
Solani serveur gratuit et non commercial
NUO serveur gratuit géré par des bénévoles distribuant les groupes de discussions textes.

### Fournisseurs payants

Parallèlement, il existe un certain nombre d'offres Usenet payantes, beaucoup fournissant l'avantage d'une longue rétention (plus de 1 000 jours pour les meilleurs) et d'une connexion chiffrée en SSL pour préserver l'anonymat (de ce qui est transmis a l'utilisateur et non l'utilisateur en lui-même). Ces offres sont souvent appréciées par ceux qui téléchargent des fichiers binaires en raison d'une absence de censure, même si on ne sait jamais très bien à qui va l'argent que les clients de ce type d'abonnement payent.
En règle générale, les offres sont commercialisés suivant les modèles suivants :
* tarification au volume uniquement : l'utilisateur achète un certain volume de données et peut l'utiliser quand il veut ;
* tarification mensuelle forfaitaire, avec ou sans limite de vitesse ;
* une tarification hybride : l'utilisateur paye au mois en ayant un quota maximum mensuel de téléchargement (au-delà le téléchargement est soit bloqué, soit à vitesse réduite).
Le prix des abonnements sert en partie à financer les infrastructures. En effet il s'agit bien d'un modèle client-serveur et non de P2P.

### Fournisseur d’Accès Internet ayant stoppé leur service d’accès à usenet

Le 11 mars 2013, Orange arrête de fournir ce service.

## Transport de fichiers binaires

Historiquement, Usenet a été conçu 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.
Pour le transfert de données binaires, la connexion peut être chiffrée par le protocole TLS (par exemple avec l’algorithme de chiffrement AES et une clé de 256 bits).

### Logiciels

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 :
* 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ôt de gros fichiers.
Le téléchargement de fichiers binaires est grandement simplifié par l'existence de moteurs de recherche spécialisés, tels que sur newzleech, binsearch ou avec le logiciel NewZFinders. Ces moteurs permettent de trouver un fichier NZB à partir de mots clés. Ce fichier est ensuite utilisé par le logiciel de téléchargement de fichiers binaires.

## 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. Ces archives sont incomplètes, mais néanmoins très fournies. Il est notamment possible d'y retrouver des messages historiques, comme l'annonce du World Wide Web faite par Tim Berners-Lee dans news:alt.hypertext et l'annonce de Linux faite par Linus Torvalds dans news:comp.os.minix.