Je présenterais ici RMail, mon lecteur de mails préféré. Mais il en existe au moins deux autres tout aussi puissants si ce n'est plus : MH et VM. Si quelqu'un est intéressé par l'écriture d'une courte documentation sur l'un ou l'autre je suis preneur.
RMail possède toutes les fonctionnalités d'un lecteur de
mails classique comme pine, elm ou même (horreur)
netscape. Mais il offre toutes les facilités
d'Emacs. On invoque RMail par M-x rmail
,
ce qui fait apparaître un buffer nommé RMAIL
.
Les mails sont organisés en fichiers au format RMail, dont l'utilisation est assez semblable aux folders d'autres lecteurs de mails. Il existe des commandes pour déplacer les mails d'un fichier à un autre.
Chaque mail contenu dans un de ces fichiers peut posséder un attribut nommé label :
Le déplacement dans un message se fait grâce aux commandes standards
d'Emacs dans le buffer RMAIL
, ou à l'aide des
commandes suivantes :
SPC
: descend d'une page (comme C-v
)
DEL
: monte d'une page (comme M-v
)
.
: va au début du message (comme M-<
)
Les mails peuvent être visualisés dans une liste (buffer
RMAIL-summary
). Cette liste permet de voir la date d'un
mail, ainsi que son expéditeur et son sujet. Le déplacement dans
cette liste permet d'activer chacun des mails existants, et de lui
appliquer des commandes :
d
: marque le message comme à détruire
u
: enlève la marque de destruction du message
x
: détruit les messages marqués (purge)
n
: lit le message suivant
p
: lit le message précédent
>
: lit le dernier message
<
: lit le premier message
M-s
regexp: cherche parmi les messages
suivants celui contenant l'expression régulière regexp
m
: envoi d'un nouveau mail, saisi dans un buffer en
mode mail (*mail*
)
r
: réponse au mail sélectionné
f
: forward d'un mail sélectionné
M-m
: tente d'expédier à nouveau un mail dont
l'expédition n'a pas réussi
A faire...
RMail conserve ses mails dans des fichiers au format RMail. Emacs permet des manipulations sur ces fichiers, comme l'import de fichiers RMail ou l'export vers un autre fichier.
i
fichier: lance RMail sur ce
fichier. Ceci permet de consulter des folders différents
o
fichier: exporte le fichier au format
RMail
C-o
fichier: exporte le fichier au format
mail natif du système
w
: extrait le corps du message dans un fichier dont le
nom est le sujet
Ces variables sont à fixer dans le fichier d'initialisation
d'Emacs (.emacs
) pour être prises en compte à chaque
démarrage.
rmail-delete-after-output
: si cette variable est fixée
à t
, alors tout mail exporté dans un fichier est marqué
automatiquement comme à effacer
rmail-file-name
: cette variable est le nom du fichier
qui contient les mails reçus lors de la consultation de la boîte aux
lettres
rmail-primary-inbox-list
: cette variable permet d'utiliser
plusieurs fichiers comme boîtes aux lettres. Par exemple :
("/var/mail/drieu" "/var/mail/http")
rmail-output-file-alist
: cette variable permet de
fixer les fichiers dans lesquels un mail sera exporté par défaut.
C'est une liste d'éléments (a-list) au format:
"(
regexp .
nom)
". Par
exemple:
(("^From: celine@" . "~/Mail/Celine") ; Mails de Céline ("^\\(From\\|To\\): .*@risc-tech\\.com" . "~/Mail/Risc") ; Mails professionnels ("^Subject: \\[GTK\\]" . "~/Mail/Gtk")) ; Mailing-list GTK
rmail-preserve-inbox
: si cette variable est fixée à
nil
, alors les messages contenus dans le fichier lu par
RMail au démarrage (généralement
/var/mail/
login) sont effacés à chaque fois que
RMail effectue une lecture dessus.Emacs peut encore faire plus fort : il connaît le protocole Pop3 par le biais de movemail, et permet ainsi à l'utilisateur d'accéder à son courrier par un serveur de mails. L'utilisation de Pop3 se fait de manière transparente. Pour que cela fonctionne correctement, il est nécessaire de passer par quatre étapes :
--with-pop3
au script
configure
. Par exemple :
./configure --with-pop3
MAILHOST
suffit à satisfaire ce besoin. Par exemple :
export MAILHOST=mailhost.cs.univ-paris8.fr
rmail-primary-inbox-list
le permet. C'est
elle qui spécifie à Emacs où trouver les fichiers contenant les
mails (boîtes aux lettres).
La syntaxe d'une boite aux lettres accessible par Pop3 est
spéciale. Elle est : "po:
utilisateur". Lorsque RMail
essaiera de lire ce fichier, il s'authentifiera sur le serveur
spécifié par la variable MAILHOST
, avec comme nom d'utilisateur
utilisateur.
Le serveur de mail demandera alors un mot de passe, qui est renseigné
par la variable rmail-pop-password
. Si vous l'insérez dans votre
fichier d'initialisation et que vous partagez votre poste de travail
avec d'autres utilisateurs, n'oubliez pas de prendre les mesures de
sécurité nécessaires.
Par exemple, si je veux à la fois lire mon mail local, et utiliser mon
compte benj sur le serveur de mail, j'insère dans mon fichier
.emacs
:
(set-variable 'rmail-primary-inbox-list '("var/mail/drieu" "po:benj")) (set-variable 'rmail-pop-password "rêvetoujoursmonami")
BBDB (``Big Brother Database'') est une base de données rolodex intégrée aux lecteurs de mails et de news d'Emacs. Son but est de permettre de tenir à jour une liste de personnes (carnet d'adresses).
Des informations peuvent être trouvées sur BBDB à l'URL
http://www.jwz.org/bbdb/
, notamment les variables
permettant de personnaliser le mode BBDB afin de répondre aux
besoins de l'utilisateur.
La base de données de BBDB est composée d'un enregistrement (ensemble de variables) par personne. Chaque enregistrement contient par défaut plusieurs champs:
La base de données est enregistrée dans le fichier ~/.bbdb
(ce nom peut être modifié grâce à la variable bbdb-file), et
peut être éditée manuellement (il s'agit de code Lisp).
Le mode BBDB permet d'éditer la base de données. Il permet
d'apporter des modifications aux champs de la base par le biais du
buffer *BBDB*
, qui est normalement créé grâce à la fonction
bbdb (appel par M-x bbdb
).
Cette fonction demande une expression régulière qui permet de filtrer la consultation des enregistrements.
Les commandes du mode BBDB sont :
n
: déplace le point sur l'enregistrement suivant
p
: déplace le point sur l'enregistrement précédent
e
: édite le champ courant (situé sous le point)
;
: édite les notes d'un enregistrement
d
: retire l'enregistrement de la base (notons que
cela n'est pas définitif tant que la base n'a pas été enregistrée)
t
: bascule entre un affichage mono-ligne et un
affichage multi-ligne de l'enregistrement. Dans le cas où cette
fonction est appelée avec l'argument t
(par exemple dans le
fichier d'initialisation), tous les enregistrements sont concernés
s
: enregistre la base de données dans le fichier
spécifié par la variable bbdb-file
i
: affiche le fichier info du mode
BBDB (s'il a été installé)
q
: fait disparaître le buffer *BBDB*
sans
pour autant le détruire
BBDB est interfaçable avec les lecteurs de mails les plus courants d'Emacs (RMail, VM, MH, Gnus). Son utilisation est très simple, et se fait par le biais de deux raccourcis communs à tous ces lecteurs de mails :
:
: cette fonction permet de visualiser
l'enregistrement correspondant à l'expéditeur du mail sélectionné. Si
aucun enregistrement ne correspond à l'expéditeur, alors BBDB
demande la création d'un enregistrement
;
: cette fonction permet de modifier les notes d'un
enregistrement. Si aucun enregistrement ne correspond à l'expéditeur
du mail, alors BBDB demande la création d'un enregistrement
BBDB est également capable de créer automatiquement des enregistrements à chaque fois qu'il reçoit un mail d'une personne inconnue (ce que je déconseille personnellement).
L'interface d'envoi de mails sous Emacs permet également d'utiliser les possibilités de BBDB, qui sert alors de carnet d'adresses.
L'intérêt est de compléter l'adresse de destination du mail à partir
d'un mot-clef. Ceci est possible en utilisant le raccourci
M-TAB
après avoir saisi une chaîne de caractères dans le
champ "To:
" de la composition. BBDB consulte alors
tous les champs de sa base de données, et dans le cas où un seul champ
complète la chaîne, le champ net de l'enregistrement concerné
remplace la chaîne saisie. En cas d'ambiguïté, un buffer propose les
différentes solutions possibles.
Gnus est un lecteur de news écrit en Emacs-lisp. Il
est conçu pour lire les forums d'Usenet, pour y poster et
même pour lire son mail. Gnus s'exécute par M-x
gnus
, ce qui fait apparaître une splendide image de Gnu.
Pour lire les news, Gnus ouvre plusieurs buffers:
*Group*
: il permet de naviguer à travers les
groupes de news. Il permet aussi de trier les groupes et de les
manipuler: souscription, ...
*Summary*
: il contient le sommaire de tous
les articles contenus dans un groupe de news. Il est créé lors de la
consultation d'un groupe de news.
*Article*
: il affiche un article, et est
créé par une commande effectuée dans le buffer *Summary*
.
Gnus lit au démarrage le fichier .newsrc
du
répertoire racine de l'utilisateur. Ce fichier permet de savoir à
quels groupes il a souscrit, et lesquels il a décidé de ne pas lire
(groupes killed).
La lecture de news se fait en deux étapes:
*Group*
. Elle
permet de consulter les différents groupes disponibles sur le serveur
de news.
*Summary*
.
Chaque article est contenu par un groupe d'articles (ou thread),
organisé selon les réponses que l'article a reçu.
*Group*
q
: quitte le mode gnus, et met à jour
le fichier .newsrc
L
: liste tous les groupes, sauf ceux qui ont été
marqués comme étant à ignorer (killed) par l'utilisateur
l
: liste tous les groupes auxquels a souscrit
l'utilisateur et qui contiennent des articles non encore lus
u
: souscrit ou annule la souscription (selon le cas)
du groupe sélectionné
SPC
: crée un buffer *Summary*
qui liste
tous les articles du groupe sélectionné
*Summary*
Notons que toutes ces commandes peuvent aussi s'exécuter dans le
buffer *Article*
.
q
: quitte le buffer *Summary*
pour retourner
sur le buffer *Group*
. Utiliser q
une deuxième fois
quitte gnus
n
: déplace la sélection sur le prochain article non lu
p
: déplace la sélection sur l'article non lu précédent
SPC
: fait défiler le buffer *Article*
d'une
page vers le bas, et sélectionne l'article suivant si le buffer
*Article*
est à la fin
DEL
: fait défiler le buffer *Article*
d'une
page vers le haut, et sélectionne l'article précédent si le buffer
*Article*
est déjà au début
M-s
regexp: recherche dans le buffer
*Summary*
des articles contenant l'expression régulière
regexp
a
: poste un nouvel article, par défaut dans le groupe
courant
f
: poste un article en réponse à l'article sélectionné
F
: poste un article en réponse à l'article
sélectionné, et insère l'article en question précédé par des
">
" (ce signe est réglable par la variable
mail-yank-prefix)
r
: répond par mail à l'auteur de l'article sélectionné
R
: répond par mail à l'article sélectionné, et insère
l'article en question précédé par des ">
" (ce signe est
réglable par la variable mail-yank-prefix)
FTP est un protocole permettant le transfert de fichiers à travers
Internet entre un client et un serveur. Il permet par le
biais d'un client et d'un jeu de commandes réduit d'accéder à un
disque distant. Les commandes de base sont ls
, cd
,
chmod
, et des commandes supplémentaires permettent de
transférer des fichiers entre le client et le serveur.
Ange-FTP est un mode d'Emacs qui permet d'utiliser FTP d'une manière transparente. Sa puissance est de pouvoir être couplé à l'utilisation de Dired (voir section Dired pour plus de détails). En fait, Ange-FTP se contente de se logger sur un serveur FTP en utilisant le nom de l'utilisateur, et en effectuant une liste des fichiers présents, qu'il passe ensuite à dired.
Ange-FTP est invoqué en ouvrant un fichier dont le nom suit une syntaxe spéciale, de quelque manière que ce soit (ouverture, enregistrement, ...). Son utilisation est transparente : on peut très bien éditer les fichiers d'un site web à partir de sa station, ou utiliser dired en conjonction avec Ange-FTP pour manipuler facilement une arborescence.
La syntaxe reconnue par Ange-FTP est
/
login@
site:
chemin.
Lorsqu'un fichier sera ouvert ou sauvegardé sous un nom suivant cette
syntaxe, alors Ange-FTP entrera en action, et rapatriera le
fichier désigné ou mettra à jour le serveur.
Par exemple, pour ouvrir un buffer en mode dired sur le site
ftp.lip6.fr
afin de lister le répertoire
/pub/emacs/elisp
, il suffit d'ouvrir
/ftp@ftp.lip6.fr:/pub/emacs/elisp/
.
Notons que le mode Ange-FTP bloque totalement Emacs lors du téléchargement d'un fichier. Le mode EFS, présenté comme le successeur de Ange-FTP (A faire...) permettra de corriger cet inconvénient.
Emacs fournit un navigateur Internet appelé w3-Emacs. Dans sa version texte, il ressemble quelque peu à Lynx. Dans sa version XEmacs les images sont incluses et le résultat est quelque peu similaire à celui de Mosaic. w3-Emacs est certes textuel, mais il reconnaît les tables et les frames.
W3-emacs est un énorme programme. Sa configuration est
déroutante si on n'est pas habitué à Emacs-Lisp. C'est
pourquoi je recommande à toute personne désirant en savoir plus de
visiter le site
http://www.cs.ucsb.edu/Facilities/Software/xemacs-info/w3/Top.html
.
Une fois que w3-Emacs est installé et configuré correctement,
son utilisation est simple. Son appel se fait par l'intermédiaire de
la commande w3
. La navigation d'un lien à un autre se fait
par l'intermédiaire de la touche TAB
(lien suivant) ou
S-TAB
(lien précédent). Cliquer avec le bouton du milieu de
la souris sur un lien hypertexte permet de le suivre et d'afficher la
page HTML liée dans un nouveau buffer.
Principales commandes de w3 :
C-o
: demande une URL et ouvre la page correspondante
dans un nouveau buffer
DEL
: fait défiler la page d'un écran vers le haut
SPC
: fait défiler la page d'un écran vers le bas
B
: retourne à l'URL précédente dans la navigation
F
: passe à l'URL suivante dans la navigation
v
: affiche l'URL du document dans la zone d'écho
s
: affiche le source du document dans un autre buffer
r
: recharge le document
d
: télécharge ce document
q
: quitte le buffer
Il existe bien d'autres commandes dans le mode w3 (notamment la gestion des bookmarks, de l'historique, ...). Je conseille à toute personne intéressée de consulter la documentation en ligne Info d'Emacs.