Salut!

Une des choses qui me retenait d'écrire sur le blog, c'est le nombre de petites étapes à faire entre l'écriture d'un article et sa mise en ligne. Je n'avais jamais vraiment optimisé le truc. Je profite donc de la migration et du passage à Yunohost pour réfléchir à ça et me simplifier la vie.

Tout d'abord, la première chose qui change, c'est que le blog est installé dans une custom Webapp, j'ai un accès simple en SFTP. Je peux donc utiliser filezilla pour envoyer les articles sur le serveur. Sauf que moi, ce que j'aimerais, c'est pouvoir le faire en une commande! J'ai donc trouvé lftp et j'ai fait quelques tests, décrits sur mon wiki, avant d'arriver à cette commande :

$ lftp sftp://USER:PASSWORD@blog.simonlefort.be -e "mirror -e -R ~/path/to/output/ www/ ; quit"

Je l'ai mise dans un alias en rajoutant cette ligne dans ''~/.bash_aliases'' :

alias blog-upload='lftp sftp://USER:PASSWORD@blog.simonlefort.be -e "mirror -e -R ~/path/to/output/ www/ ; quit"'

Ensuite, j'ai voulu faire un alias pour compiler le blog facilement :

alias blog-compile='pelican ~/path/to/content/ -s ~/path/to/pelicanconf.py -t ~/path/to/themes/my-theme/ -o ~/path/to/output/'

La suite ? J'ai quelques idées...

  • Utiliser les webhooks de git pour mettre à jour le site automatiquement ?
  • Faire un alias pour tmux qui ouvre un IDE, les bons dossiers, lance ''pelican --listen'' ?

J'ai encore de quoi faire pour que la publication se fasse complètement oublier.

[Edit quelques mois plus tard: En essayant de mettre ces alias sur un autre ordinateur, j'ai été confronté à une erreur :

$ blog-upload 
mirror: Erreur fatale: Host key verification failed.
1 erreur détectée

On peut essayer autrement mais c'est le même problème :

$ lftp sftp://USER:PASSWORD@blog.simonlefort.be:PORT
lftp my_webapp@blog.simonlefort.be:~> ls
ls: Erreur fatale: Host key verification failed.

La solution consiste à se connecter en SSH pour réactualiser la clé :

$ ssh -p PORT USER@blog.simonlefort.be
The authenticity of host '[blog.simonlefort.be]:PORT ([WW.XX.YY.ZZ]:PORT)' can't be established.
ED25519 key fingerprint is SHA256:DjMTL(...).
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[blog.simonlefort.be]:PORT' (ED25519) to the list of known hosts.
USER@blog.simonlefort.be's password: 
This service allows sftp connections only.
Connection to blog.simonlefort.be closed.

On peut maintenant relancer "blog-upload" et ça fonctionne.