Utiliser Nikola/GAE sur android
Il y a quelque temps que j’ai découvert Termux cette chouette application Android qui permet de retrouver une bonne partie de son environnement linux sur son téléphone ou sa tablette.
Elle m’a dépanné plus d’une fois pour faire une modification rapide en déplacement, l’enregistrer sous git ou mercurial avant de la pousser vers l’intégration continue. Depuis que j’ai migré ce blog sous Nikola je me dis que ce serait pratique de pouvoir travailler les articles en mobilité, les pré-visualiser dans un navigateur puis de déployer le site sur GAE, tout ça depuis un téléphone. Et effectivement ça marche plutôt bien.
Voici la marche à suivre :
Installer Termux¶
Cela se fait simplement à partir du magasin d’application Google Play ou mieux à partir du dépôt f-droid.
Installer mercurial (option)¶
Mercurial permet de gérer en configuration mon blog et de le pousser dans un dépôt privé sur bitbucket. J’aime bien ce gestionnaire de version principalement en raison de son interface cohérente et bien documentée. Vous pouvez bien sûr aussi utiliser git.
Installer Nikola¶
Préparer un environnement virtuel¶
Installer Nikola proprement dit¶
Installer le google cloud sdk¶
Je me suis inspiré des notes proposées par geoffrey looker:
export CLOUDSDK_PYTHON=/data/data/com.termux/files/usr/bin/python2.7 curl -k https://storage.googleapis.com/gceprd-iso/google-cloud-sdk-134.0.0-linux-x86_64__TERMUX.tar.gz -O tar -xzf google-cloud-sdk-134.0.0-linux-x86_64__TERMUX.tar.gz cd google-cloud-sdk bash ./install.sh bash a #(ou zsh selon vos préférences) gcloud components update ~/update-gcloud-sheebang.sh gcloud auth login
Avec le script update-gcloud-sheebang
qui remet à jour le shebang
de chaque fichier potentiellement mis à jour par la commande gcloud
components update
et qui contient les quelques lignes suivantes :
Écrire et publier¶
Relancer un shell puis :
Visualisez alors votre site dans un navigateur android en visitant http://localhost:8000.
Et enfin déployez-le sur Google App Engine avec la commande nikola
deploy
.
Ce qui reste à améliorer¶
J’ai des messages d’erreurs du type
[2018-01-19T21:28:28Z] WARNING: Nikola: Locale fr_FR.utf8 for language fr not accepted by python locale
et apparemment les locales ne sont pas bien supportées par termux. Je ne sais pas trop qu’elles en sont les conséquences.Lors de mes premiers tests, je me suis rendu compte que certains caractères utf8 n’étaient pas bien rendus sous
vim
. J’ai peut-être une configuration à compléter.Le logiciel
jpegoptim
n’est pas disponible sur termux, j’ai du le désactiver dans la configuration des filtres de nikola pour permettre l’optimisation des fichiers jpeg pour le web.
Je viendrais mettre à jour ce billet pour rendre compte des améliorations ou autres problèmes rencontrés.
Commentaires