Comment marche ce blog ?

Voilà, après un accueil enthousiaste de Jekyll, j'ai changé pour Pelican !

Pour plusieurs raisons, parmi lesquelles quelques soucis avec des plugins essentiels, le manque de feuilles de style sympa par défaut (ok y'a Octopress, mais bon ...), les mises à jour spécifiques des gems ruby, le fait que Pelican est un package standard debian (dans testing actuellement).

Et plus je joue avec, plus je trouve d'autres avantages à Pelican :

  • la séparation entre test / production
  • la gestion de base des uploads ftp
  • la quantité de thèmes fournis, dont plusieurs sympas
  • la gestion des résumés,
  • et plein de choses qui me restent à découvrir
  • ...

Alors Pelican/Jekyll sont des générateurs de sites statiques, à partir de fichiers textes faciles à éditer sous n'importe quel éditeur de base, et avec des règles de syntaxe basiques :

Plus besoin de base SQL associée, de backups, etc ... Pour les commentaires, il y a des solutions (disqus, equivalent libre, réseaux sociaux, mail, ...)

J'ai joué quelques temps avec Ghost, très sympa, et qui gère aussi le markdown en entrée. J'ai été impressionné par l'intégration de l'éditeur Markdown avec prévisualisation, la manière d'insérer des photos, etc ...

Mais voilà :

  • la prévisualisatin markdown/html est aisément remplacée en éditant mes fichiers source via owncloud + plugin markdown
  • par un éditeur markdown décent avec prévisualisation (c'est le cas de reText sous linux)
  • pour les photos, OK, mais je prévois de finaliser ma chaine de traitement automatique (synchro appareil photo -> owncloud -> tri par date et génération des miniatures -> mise à disposition dans un répertoire accessible à Pelican)
  • L'intégration des photos et albums sera donc très très simplifiée avec Pélican, il suffira d'inclure le nom de photo dans l'article, et basta , ou de juste copier un fichier pour plus de sécurité

(edit 08/12 : après avoir un peu galéré avec le plugin gallery, j'ai pu l'adapter pour réutiliser les galleries générées précédemment avec les autres outils). Historiquement c'est intéressant : Il y a 10-15 ans j'utilisais spgmgal (gallerie en PHP) depuis je génère ces galleries automatiquement avec des scripts maison (shell/ruby, librairies opensource imagemagick + la librairie javascript highslide) * je garde l'existant en adaptant un peu de code/templates python pour respecter la structure des miniatures )

On voit qu'Owncloud intervient à plein d'endroits, pour la prévisualisation des photos et leur choix, pour la gestion du texte depuis n'importe quel support, la synchronisation le backup.

J'ai trouvé un mode de fonctionnement qui me convient, et j'ai passé la journée à blogguer de nouveau ... c'est un signe ;)

Une fois de plus : "Open Source rules !"

edit 05/2015 : pour ne pas lancer de crontab permanent tous les soirs pour regénérer et uploader en permanence, j'ai mis en place les automatismes suivants :

  • détection de la modification d'un fichier source sous un répertoire avec incron
  • appel d'un script ansible pour modifier le crontab qui va regénérer le blog et uploader le tout

    /home/daniel/itinerant/pelican/content/pro/ IN_CLOSE_WRITE /usr/bin/ansible-playbook /etc/ansible/playbooks/upload-pro.yml

upload-pro.yml :

---
- hosts: cube
  remote_user: daniel
  tasks:
  - cron: name="upload pro" minute="9" hour="4" job="cd ~/itinerant/pelican; /usr/bin/make -f Makefile.pro ftp_upload > /dev/null"

une fois le blog mis à jour, appel d'un autre job ansible pour supprimer l'entrée dans la crontab

upload-pro-remove.yml :

---
- hosts: cube
  remote_user: daniel
  tasks:
  - cron: name="upload pro" state=absent