L'autre jour, j'ai appris avec horreur qu'il y a des emacsiens qui ne
connaissent pas encore
tramp, l'ultime évolution du système
Emacs. C'est un tort !
Tramp, pour
Transparent Remote (file) Access, Multiple
Protocol, est comme son nom l'indique un module Emacs permettant
d'accéder à distance à des fichiers, mais pas uniquement. Il supporte
plusieurs protocoles, dont SCP/SSH, FTP, Telnet, rsync, smb, mais
aussi sudo et su. Il est possible d'utiliser la plupart des commandes
Emacs à travers Tramp, comme dired ou le gestionnaire de version. Oui
monsieur !
Comment ça marche ? C'est très simple, il suffit d'installer tramp
(
apt-get install tramp sous les distributions modernes), puis
de demander à Emacs d'ouvrir ou de sauvegarder un fichier en utilisant
un nom de fichier de la forme:
/utilisateur@machine:/chemin/fichier.txt
Ensuite, Emacs se charge comme un grand du reste, il vous demande un
mot de passe (sauf si ce n'est pas nécessaire, par exemple pour
accéder à un serveur SSH dont l'authentification passe par une clef),
puis télécharge le fichier et vous l'affiche comme s'il était en
local. À chaque sauvegarde, il le met à jour sur le serveur, de
manière transparente. C'est très pratique, par exemple si on a besoin
de développer un applicatif web à distance sur un serveur sans
environnement graphique mais que l'on souhaite conserver son
environnement de travail habituel (Emacs bien sûr ;-)). À titre
d'exemple, ce billet est rédigé en utilisant Tramp et le mode blogmax
d'Emacs.