Migration du blog nikola + GAE
Ce blog est en léthargie profonde depuis plusieurs années. Je ne suis pas certain d’arriver à le faire revivre, mais je vais essayer, en commençant par vous expliquer comment je m’y suis pris pour le migrer de blogger à un hébergement de site statique généré par nikola et hébergé sur GAE (Google app engine).
Import dans Nikola¶
Nikola propose le plugin import_blogger
qui permet d’importer un
fichier d’export XML de blogger dans la structure des fichiers de nikola.
Il s’installe par :
Un projet nikola se crée alors avec la commande :
Il faut ensuite copier le fichier de configuration générée (par exemple
conf.py.import_blogger-20171228_142937
) dans le fichier conf.py
et modifier la configuration selon vos souhaits.
Les fichiers des articles de blog sont générés au format html accompagné d’un fichier .meta au format restructuredtext contenant les méta-données de l’article.
Globalement la conversion se passe bien et le rendu est acceptable. Certains
articles nécessitent néanmoins une reprise. Je suis pour cela passé par les outils pandoc
et html2text2
pour obtenir une version de
l’article au format restructuredtext à reprendre et modifier à la main :
Hébergement sur GAE¶
Google fournit des explications assez détaillées pour héberger un blog statique sur GAE. Appliquée à un blog statique généré par Nikola, il faut dans les grandes lignes :
Créer un projet sur la console google cloud
-
Mettre le fichier
app.yaml
suivant dans le répertoirefiles
à la racine du projet : -
Modifier le paramètre
DEPLOY_COMMANDS
dans le fichierconf.py
comme suit (en remplaçantgae_project_id
par l’identifiant du projet créé en 1. :
Il est sans doute possible d’utiliser PRETTY_URLS
en modifiant le fichier app.yaml
pour prendre par défaut les fichiers index.html,
mais cette configuration permet de garder les mêmes URLs que sur blogger, à
condition de configurer une redirection pour les URLs existantes :
Ou encore plus simplement, comme me l’a très aimablement fait remarquer
@GetNikola sur twitter, en remplaçant "posts"
par ""
dans la variable POSTS
:
POSTS = ( ("posts/*.txt", "", "post.tmpl"), ("posts/*.rst", "", "post.tmpl"), ("posts/*.html", "", "post.tmpl"), )
Ensuite un simple nikola build && nikola deploy
rendra accessible le
site sur l’URL https://gae_project_id.appspot.com. Libre à vous de configurer
votre enregistrement DNS pour que votre nom de domaine redirige vers cette
page. Il vous est également possible de configurer la génération et le
renouvellement automatique de certificats afin de rendre votre site accessible
en HTTPS. Cela se fait facilement sur la console google cloud.
Commentaires