Sommaire
Introduction
Ce n'est une nouvelle pour personne : Nanoblogger permet de faire des jouebs/blogs. À cet effet il faut bien évidemment mettre à disposition d'Internet nos billets. Certains disposent d'un hébergeur gratuit avec serveur FTP, d'autres possèdent un accès à un serveur dédié, donc ils déposent les fichiers comme bon leur semble.
L'un ou l'autre, nous allons aujourd'hui nous occuper de la commande publish de Nanoblogger qui permet de s'occuper automatiquement de la migration du joueb/blog vers le lieu de notre choix.
La commande PUBLISH
Nanoblogger propose ainsi la commande suivante :
nb publish
Elle vous permet de lancer un script rempli par vos soins pour publier votre joueb/blog, par exemple **/home/olivier/copy_nanoblog.sh
Configurer Nanoblogger pour lancer le script
Une fois votre script prêt à l'emploi (Cf. chapitre suivant pour découvrir quelques exemples de script), il faut indiquer à Nanoblogger où le trouver.
Faites donc :
- Tapez nb configure en ligne de commande
À l'édition du fichier, modifiez la variable BLOGPUBLISHCMD, par exemple ainsi :
BLOG_PUBLISH_CMD="sh /home/olivier/copy_nanoblog.sh"On peut désormais utiliser la commande suivante : nb publish, ce qui a pour effet de lancer votre script.
Les scripts
J'imagine que certains doivent se dire :
Mais au fait, comment on fait un script ? Que dois je y mettre ?
Ce chapitre devrait répondre à quelques unes de ces questions et surtout vous permettre de prendre des modèles prêt à être adapté à votre joueb/blog.
Ainsi je vous présenterais les deux scripts principaux que j'ai mis en place sur mon Nanoblogger.
Copie par le biais de FTP
Il est intéressant de pouvoir envoyer son travail par FTP sur un hébergeur. La première fois que vous devez mettre le site sur le FTP de l'hébergeur, envoyer les fichiers et dossier suivants dans /home/olivier/joueb par FTP au bon endroit (nous supposons que vous avez nommé le dossier distant dossierFree) :
- Dossier archives (et TOUT son contenu)
- Dossier image (et TOUT son contenu)
- Dossier moods (et TOUT son contenu)
- styles (et TOUT son contenu)
- les fichiers à la base de votre joueb tels que :
- atom.xml
- blog.conf
- index.html
- index.xml
- intro.txt | autres fichiers de votre mouture (cf. Ajouter une Introduction)
- rss.xml
- tidy.log
La plupart ne sont pas trop trop importants, mais ainsi vous aurez les fichiers de base.
Ensuite lisez les instructions qui suivent.
La manipulation pour envoyer par FTP est simple, voyez la ligne que nous avons utilisée dans le fichier de configuration (nb --configure -u) :
BLOG_PUBLISH_CMD="sh /home/olivier/cpnanoblog.sh"
Cette ligne implique la création d'un fichier cpnanoblog.sh dans notre répertoire utilisateur (utilisez la commande touch /home/olivier/cpnanoblog.sh). Il faut également rédiger dans un fichier de configuration nommé .netrc à la base de votre dossier personnel, c'est à dire /home/olivier/.netrc.
Ce qui donnera :
machine ftpperso.free.fr login blanko password monMot2Passe
RIGHT!
macdef init
passive on
prompt on
cd dossierFree
lcd /home/olivier/joueb
mput *.*
cd archives
lcd archives
mput *
quit
N'oubliez pas la ligne de fin vide !
Une fois le fichier .netrc renseigné correctement, ouvrez le fichier /home/olivier/cpnanoblog.sh :
#!/bin/sh
ftp ftpperso.free.fr
cd /home/olivier/joueb/
wput archives ftp://blanko:monMot2Passe@ftpperso.free.fr/joueb/
wput articles ftp://blanko:monMot2Passe@ftpperso.free.fr/joueb/
wput images ftp://blanko:monMot2Passe@ftpperso.free.fr/joueb/
et si vous avez mis des émoticônes dans le dossier moods :
wput moods ftp://blanko:monMot2Passe@ftpperso.free.fr/joueb/
Ceci aura pour effet de lancer notre macro FTP contenue dans le fichier .netrc, puis de nous placer dans le répertoire contenant notre joueb, pour finalement copier le contenu du dossier archives sur le serveur Free, plus particulièrement dans le dossier /joueb/.
NB : Il faut installer wput à l'aide de la commande apt-get install wput en tant qu'utilisateur root.
Testez le résultat en crééant un billet. A la mise à jour du billet, il devrait envoyer ce qu'il faut sur le serveur de votre hébergeur internet 
Si ce n'est pas le cas, je vous suggère la commande suivante : nb --publish.
Copie à l'aide de rsync
Si vous préférez utiliser rsync pour mettre à jour votre Nanoblogger, voici ce que vous devez savoir.
La commande typique pour faire du rsync d'un dossier à l'autre du serveur est :
rsync -avPH origine destination
Cependant comme nous sommes dans le cas d'un script pour Nanoblogger, vous pouvez oublier les options -v et -P.
Par ailleurs, nous n'avons pas besoin de copier l'ensemble des fichiers dans le dossier de destination, ainsi créez un fichier d'exclusion, par exemple /home/olivier/nanoblogger_exclusion contenant les lignes suivantes :
blog.conf
articles**.txt
cache/
data/
plugins/
templates/
tidy.log
De là, votre commande sera :
rsync -aH --exclude-from=/home/olivier/nanoblogger_exclusion /home/olivier/blog/* /home/olivier/public_html/
Ce qui signifie :
- que votre Nanoblogger est situé dans /home/olivier/blog/
- que votre site accessible par tout le monde est dans /home/olivier/public_html
Avec ces informations, vous êtes à même de créer un script contenant la ligne RSYNC précédemment énoncée, et vous pourrez donc l'ajouter à votre configuration de Nanoblogger.
