Publication automatique d’un site web statique
En mai, j’ai créé pour le projet Orekit un site web statique généré par xsltproc à partir de documents XML et d’une feuille de style XSL. Le code de ce site web est disponible dans un référentiel Git :
L’approche peut sembler austère mais elle convient aux geeks en charge de ce
site. Pour que cette méthode séduise vraiment, il fallait la compléter par une
publication automatique du site web généré. Pour ce faire, j’ai créé un hook
(un script lancé automatiquement par Git) de type post-receive
sur le
serveur Git d’Orekit. Le hook portant ce nom est exécuté après réception d’une
contribution en provenance d’un autre référentiel :
Ce script est enregistré dans le référentiel Git du serveur sous le nom
hooks/post-receive
. Il doit être exécutable :
Dès lors, toute réception d’un commit déclenche successivement :
-
la mise à jour d’une copie de travail du référentiel, distincte du référentiel de type bare dans lequel le hook a été créé ;
-
la génération des pages statiques, la commande Make ne générant que les pages HTML plus anciennes que leur source XML ;
-
la publication de la nouvelle version du site web par copie des fichiers le constituant dans l’arborescence d’Apache.
Pour fonctionner, cette méthode nécessite un amorçage qui est la création manuelle du clone dans lequel le site web va être généré. Ce clone est créé dans l’espace de travail du compte Git :
L’autre étape consiste à attribuer à ce même compte Git l’arborescence d’Apache correspondant à ce site statique :