Dans ce petit sujet, je vais aborder la technique derrière les vacances, et de manière générale, je vais en profiter pour expliquer comment ce blog et mon site fonctionnent dans les coulisses…
Le blog
Comme j’ai déjà indiqué dans cette note, mon blog est maintenant géré par des fichiers formatés en Markdown et stockés dans du git (si, si, tout en bas, relisez bien !).
C’est bien beau tout ça, mais qu’est-ce que ça veut dire pour de vrai ? Ça veut dire que ce blog ne dépend pas d’une base de données pour stocker ses messages ou les informations qu’il considère comme intéressantes, mais que tout est géré dans des fichiers, et généré pour être affiché à la volée via du PHP.
L’avantage majeur, c’est qu’il est très facile de redéployer ce blog, puisqu’il n’a besoin que d’un serveur qui gère PHP, et rien d’autre. La sauvegarde des anciens billets est très facile puisqu’un billet correspond à un fichier. Et enfin, l’ajout d’un nouveau billet se fait en ajoutant un nouveau fichier au bon endroit, c’est tout simple, mais ça marche vraiment bien !
Je pourrais avoir un répertoire partagé sur la liste des billets et les modifier quand bon me semble, mais j’ai préféré sécuriser un peu et pour cela, j’utilise Git avec un système de déploiement automatisé.
Git
GitLab est un outil basé sur Git qui permet de gérer des versions de fichiers, et de travailler dessus de manière collaborative (ou pas, quand on est tout seul), tout en gardant des versions intermédiaires.
J’utilise donc cela pour écrire mes brouillons, les stocker et y revenir dessus 6 mois plus tard (par exemple), et quand tout me semble bien, j’enregistre mon billet dans une branche particulière qui sera déployée au bon endroit sur mon serveur via les mécanismes spécifiques de GitLab. Jusqu’à il y a peu, c’étaient des scripts dans les hooks de git, et je viens de mettre à jour pour utiliser le composant d’intégration continue de GitLab pour réaliser la même chose.
Les vacances
Maintenant que le topo est fait, comment me suis-je débrouillé pour alimenter régulièrement toute cette machinerie depuis la Sardaigne ?
Eh bien j’ai tout fait depuis mon iPad !
Écriture des billets
J’ai utilisé l’application Day One sur iPad pour écrire chaque billet de blog. Cette application est faite pour l’écriture de journaux et gère le Markdown, et ça marche très très bien !
Envoi des billets sur Git
L’application Working Copy est certes plus spartiate pour ce qui est de l’écriture de billets, mais ce n’est pas son but premier qui est d’envoyer cesdits billets sur Git, et qui le fait très bien aussi (à quelques plantages près). Il faut noter qu’il est assez aisé de trouver des clients git pour des fournisseurs connus tels que GitHub, mais très peu si l’on souhaite héberger son propre serveur chez soi (ou ailleurs), et Working Copy le permet.
Les photos
Vous avez pu constater dans mes premiers billets que ça manquait cruellement d’images, et pour pallier ce manque, j’ai eu à faire preuve d’imagination.
Il est possible d’ajouter des images dans Day One, mais alors il faut passer par leur service de synchronisation de billets.
J’ai de mon côté un site de galeries dont le but est d’afficher des images, et de la même manière que pour les billets du blog, rien n’est mieux qu’un fichier d’image pour cela.
Les photos sont donc stockées sur mon NAS à la maison, et le répertoire du NAS est monté sur mon serveur pour y accéder directement.
Enfin, depuis mon téléphone (ou ma tablette), j’ai la possibilité d’envoyer directement les photos que je souhaite sur mon NAS avec l’application qui va bien (j’imagine que d’autres marques de NAS proposent aussi leurs applications), et la galerie va me générer les miniatures que je pourrai utiliser directement depuis mes billets dans Day One.
Conclusion
Voilà au final comment, avec un simple iPad et aucun ordinateur, j’ai pu m’en sortir dans cet environnement hostile qu’était la Sardaigne !