Recherche de site Web

Comment utiliser Emacs comme lecteur USENET avec Gnus


USENET est un système de messagerie mondial décentralisé. Il est considéré comme le premier réseau social mondial avec plus de 100 000 groupes qui parlent de divers sujets et spécialisations. Cela fait de USENET un référentiel de connaissances et de discussions particulièrement intéressant pour le lecteur intéressé.

Contenu

  • Qu'est-ce que les gnous ?
  • Pourquoi utiliser un lecteur de news dans Emacs ?
  • Installer des gnous
  • Configuration de Gnus pour lire les groupes USENET
  • Utilisation de base
  • Questions fréquemment posées

Lire aussi : Comment utiliser Emacs pour écouter de la musique avec EMMS

Qu'est-ce que les gnous ?

Malgré le déclin d'USENET ces dernières années, il y a encore des gens qui l'utilisent pour discuter et partager des informations. De nos jours, la plupart des utilisateurs d'USENET s'interfacent avec le réseau via le site Web des groupes Google. Si vous utilisez Emacs, cependant, il existe un moyen d'afficher les groupes de discussion USENET via celui-ci.

Gnus est un package Emacs conçu pour lire les groupes de discussion. Il s'agit d'un programme riche doté de nombreuses fonctionnalités puissantes qui rendent la lecture des actualités facile et pratique. De plus, étant dans Emacs, l'utilisateur peut facilement manipuler le texte dans les publications et l'utiliser avec le reste du système Emacs.

Pourquoi utiliser un lecteur de news dans Emacs ?

Emacs a toujours été présenté comme l'évier de la cuisine de l'extensibilité. Non seulement parce qu'il possède de nombreux packages et fonctionnalités supplémentaires, il est également très facile d'étendre les fonctions de base d'Emacs en dehors de l'édition de texte.

Emacs fonctionne sur l'idée d'interopérabilité. Cette idée permet à Emacs d'utiliser ses packages pour former un environnement complet dans lequel vous pouvez créer du texte et le modifier de différentes manières.

Par exemple, Emacs est livré avec son propre gestionnaire de fichiers : dired, un simple package Emacs qui vous permet de parcourir une structure de répertoires et d'ouvrir des fichiers. Cependant, contrairement aux autres gestionnaires de fichiers, Dired affiche ses résultats sous forme de texte.

Si vous utilisez également le mode Org pour la journalisation, vous pouvez copier ce texte et créer des liens élaborés à partir de vos fichiers organisationnels.

Avec la capacité d'Emacs à utiliser la sortie texte d'un package comme entrée dans un package différent, cela rend un lecteur de nouvelles comme gnus inestimable pour l'écosystème Emacs.

Cela vous permet, par exemple, de copier un passage de texte d'un article d'actualité, puis de mettre ce texte en mode Org et de l'ajouter en tant qu'entrée de journal, article d'agenda ou capture d'idée.

Lire aussi : 5 packages Emacs utiles pour une meilleure productivité

Installer des gnous

Gnus est présent dans chaque installation par défaut d'Emacs depuis la version 19.32. Si vous utilisez une version récente d'Emacs, il est probable qu'elle soit déjà fournie avec gnus.

Vous pouvez vérifier si gnus est installé sur le système en appuyant sur Alt + X et en tapant gnus. Cela chargera une version nue et non configurée de gnus.

Configuration de Gnus pour lire les groupes USENET

La configuration initiale de gnus est relativement simple. Il vous suffit de définir quelques options dans votre fichier init.el pour créer un fichier .newsrc.

Le fichier .newsrc est un fichier standard destiné aux lecteurs de groupes de discussion situé dans votre répertoire personnel. Son objectif principal est de consigner tous les groupes disponibles et abonnés sur un serveur USENET.

De plus, le fichier .newsrc agit également comme un fichier d'état qui suit tous les messages que vous avez déjà lus.

Pour créer un fichier .newsrc, exécutez la commande suivante :

touch /home/$USER/.newsrc

Lire aussi : Comment configurer Leafnode en tant que serveur USENET hors ligne

Configuration initiale

Une fois cela fait, vous pouvez commencer à configurer le fichier init.el, le fichier de configuration d'Emacs. Par défaut, vous pouvez trouver ce fichier soit dans "/home/$USER/.emacs.d/" ou "/home/$USER/.config/emacs".

Pour initialiser correctement gnus, vous devez ajouter les lignes suivantes au fichier init.el :

  (setq user-full-name '"yourusername")
  (setq user-mail-address '"yourname@email.invalid")
  (setq gnus-select-method '(nntp "news.eternal-september.org"))
  • Le user-full-name est une option générale qui définit votre nom d'utilisateur dans Emacs. Ce sera le nom que gnus affichera dans votre en-tête "De" lorsque vous enverrez des articles d'actualité.
  • L'adresse e-mail de l'utilisateur est également une option générale. Semblable au nom complet de l'utilisateur, il indique à gnus d'afficher cet e-mail dans votre en-tête « De ». Dans mon cas, j'ai envoyé une adresse email invalide.
  • La dernière option, gnus-select-method, est une option spécifique à gnus qui indique au lecteur de news à quel service et serveur se connecter. Dans mon cas, j'ai sélectionné le service nntp avec "news.eternal-september.org" comme serveur.

Lisez également : 8 invites Bash utiles et intéressantes

Authentification USENET à distance

Une chose importante à noter est que si vous utilisez un fournisseur USENET qui nécessite une authentification, vous devez fournir les détails de votre compte dans un fichier authinfo. Il s'agit du fichier dans lequel gnus lira les détails du serveur USENET ainsi que votre nom d'utilisateur et votre mot de passe.

Pour en créer un, vous pouvez appuyer sur Ctrl + X, Ctrl + F et taper /home/ $USER/.authinfo dans Emacs. Cette commande créera un fichier .authinfo dans votre répertoire personnel et l'ouvrira dans un tampon.

La syntaxe générale du fichier .authinfo ressemble à ceci :

machine news.domain.name login yourusername force yes password yourpasswordgoeshere
  • La variable machine indique que vous vous connectez à une autre machine ou serveur.
  • Le champ du nom de domaine indique à gnus qu'il s'agit de l'adresse de la machine à laquelle vous souhaitez vous connecter.
  • Le champ Connexion est l'endroit où vous mettrez le nom d'utilisateur de votre compte USENET.
  • L'option "force yes" indique à gnus de vous authentifier même si le serveur ne l'exige pas.
  • Enfin, la variable password contient le mot de passe de votre compte USENET.

Utilisation de serveurs USENET locaux

De plus, gnus peut également prendre ses sources à partir d'un fichier spool local. Ceci est utile si vous disposez d'un service qui télécharge automatiquement vos groupes de discussion sur votre ordinateur local.

Pour ce faire, vous devrez modifier le paramètre nntp dans la fonction "gnus-select-method" :

(setq gnus-select-method '(nnspool ""))

Cependant, si vous utilisez Leafnode comme serveur USENET local, vous devrez le configurer en tant que serveur NNTP. En effet, Leafnode se comporte davantage comme un serveur USENET plutôt que comme un répertoire "/var/spool/" normal.

Pour utiliser un serveur Leafnode qui s'exécute sur la même machine, vous pouvez saisir ce qui suit :

(setq gnus-select-method '(nntp "localhost"))

Cela fait, exécutez gnus en appuyant sur Alt + x et en tapant gnus dans le tampon de commande. Cela chargera gnus et récupérera tous les groupes disponibles sur votre serveur USENET distant.

Lire aussi : Comment réinitialiser le mot de passe root sous Linux

Utilisation de base

Une fois gnus chargé, vous serez accueilli par un écran vide. En effet, par défaut, gnus masque tous les groupes de discussion désabonnés et lus.

Vous pouvez afficher une liste de tous les groupes de discussion disponibles sur le serveur USENET en appuyant sur Shift + 6. Cela fera apparaître l'écran du serveur pour les gnus. Dans mon cas, cela a fait apparaître tous les groupes de discussion disponibles d'Eternal September.

Abonnement au groupe USENET

À partir de là, vous pouvez appuyer sur U pour vous abonner ou vous désabonner à un groupe de discussion particulier. Cela placera ce groupe dans l'écran d'accueil lorsque vous démarrerez gnus pour la première fois.

Par exemple, je me suis abonné à "alt.religion.emacs" et "alt.folklore.computers" sur l'écran du serveur. Une fois que j'ai rechargé gnus, ces deux groupes ont été placés dans l'écran principal pour que je puisse les parcourir.

Lire aussi : Comment configurer un serveur SFTP sous Linux

Mouvement du tampon

À partir de là, appuyez sur Entrée pour accéder au groupe de discussion et utilisez les touches de déplacement standard d'Emacs, telles que Ctrl + N et Ctrl + P, pour faire défiler les différents posts du groupe.

Vous pouvez également appuyer sur la touche Entrée ou Tab. pour ouvrir une publication et les touches Retour arrière et Espace pour faire défiler la publication de haut en bas.

Utilisez la fonction de recherche d'Emacs (Ctrl + S et Ctrl + R) pour parcourir rapidement les publications et trouver ce que tu veux.

Publication et réponse aux messages USENET

Pour créer une nouvelle publication dans un groupe de discussion, appuyez sur A pour afficher un éditeur de message dans lequel vous pouvez rédiger les détails de votre publication.

Appuyez deux fois sur Ctrl + C lorsque vous avez terminé d'envoyer le message à ce groupe de discussion particulier.

Mais si vous souhaitez répondre à un message dans un groupe, vous pouvez appuyer sur Shift + S, Shift + F. Cela lancera un tampon "Suivi" où gnus vous amènera à un éditeur de message avec le message original déjà cité pour vous.

Semblable à la publication d'un nouveau message, vous pouvez appuyer deux fois sur Ctrl + C pour envoyer le suivi de ce message.

Lire aussi : 5 distributions Arch Linux plus faciles à installer et à utiliser

Filtrage à travers les fichiers de scores

Gnus dispose également d'un système de filtrage puissant mais simple à utiliser qui utilise des fichiers de scores. C'est différent d'un killfile classique où les publications sont automatiquement "tuées" lorsqu'elles répondent à un modèle ou à un critère particulier.

Les fichiers de score permettent à l'utilisateur de réduire ou d'augmenter progressivement le score interne d'une publication particulière, ce qui indique aux gnus quelles publications donner la priorité et lesquelles masquer ou ne pas extraire du serveur distant.

Types de filtrage

De plus, gnus dispose également d'un système de filtrage riche en fonctionnalités. Il permet à l'utilisateur de contrôler et d'affiner les différentes parties d'un filtre particulier.

Par exemple, si je souhaite baisser le score d’un message particulier. Je peux simplement le mettre en surbrillance et appuyer sur L. Cela fera apparaître un petit menu dans le tampon de commande qui me demandera sur quelle propriété du message je souhaite baser le score.

La liste des propriétés est longue, mais les plus importantes sont :

  • A à marquer par rapport au nom de l'auteur.
  • S pour marquer le texte du sujet.
  • L pour marquer par rapport au nombre de lignes.
  • B pour marquer le corps du texte.

Dans mon cas, je souhaite noter ce message en fonction de l'auteur du message, j'ai donc appuyé sur A.

Méthodes pour faire correspondre le filtre

À partir de là, gnus vous demandera le type de correspondance de chaîne que vous souhaitez implémenter dans cette partition. Vous pouvez choisir parmi les expressions exactes, sous-chaînes, floues et régulières :

  • Exact utilise la chaîne entière pour faire correspondre le texte.
  • La Sous-chaîne utilise des morceaux de chaîne pour correspondre au texte. Cela signifie que le message n'a pas besoin que l'intégralité du texte corresponde pour être affiché.
  • Fuzzy utilise un modèle prédictif basé sur les publications précédentes disponibles pour le groupe de discussion. Ceci est particulièrement utile pour les affiches créatives qui tentent de contourner la correspondance de sous-chaînes en utilisant des symboles, des chiffres et toute forme d'obscurcissement de leur texte.
  • Regexp utilise les expressions régulières plus traditionnelles pour filtrer le texte.

Dans mon cas, j'ai sélectionné la sous-chaîne et j'ai donc appuyé sur S.

Lire aussi : 5 excellents assistants AUR pour Arch Linux

Durée du filtre

Enfin, gnus vous demandera si vous souhaitez que ce score soit temporaire, permanent ou immédiat.

  • Temporaire signifie que le score expirera à une date définie. C'est utile lorsque vous souhaitez simplement réduire ou augmenter le score d'un article ou d'une affiche particulière pendant une période de temps limitée.
  • Permanent signifie que le score n’expirera pas. Ceci est utile pour filtrer les spammeurs qui pourraient faire irruption dans le groupe.
  • Immédiat signifie que gnus appliquera le score au tampon actuel sans l'ajouter au fichier de score. Ceci est utile si vous souhaitez simplement filtrer les publications maintenant mais que vous ne souhaitez pas les noter de manière persistante.

Dans mon cas, je voulais que ce filtre soit permanent, j'ai donc appuyé sur P.

Toutes nos félicitations! Vous avez maintenant une compréhension de base de la façon d'utiliser gnus comme lecteur de news dans Emacs. De plus, vous avez également une idée de base sur la façon de vous connecter à un serveur USENET authentifié ainsi que sur l'utilisation appropriée des fichiers de score et du filtrage.

Cependant, si toutes ces discussions vous ont intéressé à en savoir plus sur Emacs, vous devriez alors apprendre à installer Doom Emacs.

Lire aussi : Qu'est-ce que Doom Emacs et comment l'installer

Questions fréquemment posées

J'ai écrit un message et je ne veux plus l'envoyer. Comment puis-je annuler ma publication ou mon suivi ?

C'est inconnu, mais il est peut-être possible d'annuler le message actuel que vous écrivez. Pour ce faire, vous pouvez appuyer sur Ctrl + C, Ctrl + D.

Est-il possible d'ajouter plusieurs serveurs USENET dans gnus ?

Oui! Il vous suffit d'ajouter une autre variable "gnus-select-method" dans votre fichier init.el.

Par exemple, votre fichier init.el pourrait ressembler à ceci :

(setq user-full-name '"ramcesred")
(setq user-mail-address '"ramcesred@email.invalid")
(setq gnus-select-method '(nntp "news. éternel-septembre.org"))
(setq gnus-select-method '(nntp "nntp.aioe.org"))
(setq gnus-select-method '(nntp "localhost"))

Une fois cela fait, rechargez simplement Emacs pour recharger votre configuration gnus.

J'ai lu un article et il a désormais disparu de la liste de mon écran principal. Puis-je épingler une publication particulière lorsque je la suis activement ?

Oui! Vous pouvez le faire en utilisant la fonction gnus-summary-tick-article-forward. Vous pouvez accéder à cette fonction en appuyant sur la touche U lorsque cette publication est sélectionnée.

Il est important de noter, cependant, que cela ne fera qu'épingler cet article. Toutes les autres réponses de ce fil de discussion n'apparaîtront pas par défaut. Pour ce faire, appuyez sur Shift + A, Shift + T pour reconstruire l'intégralité du fil de discussion pour ce sujet.

Articles connexes