Migration vers Nanoblogger : mise en orbite

Auteur: 
botchchikii

Voilà, c'est fait. Depuis hier et l'article sur Mutt, vous naviguez sur un blog propulsé par Nanoblogger, le moteur de blog en console. La dernière étape a été la plus sérieuse et c'est avec un brin d'anxiété que j'ai basculé. Voici les derniers réglages.

Importation des billets

Enfin, avant cela, il a fallu décider du destin de certains articles. Avec la fusion de l'ancien blog de Peuple Loup, j'avais plus de 100 billets en stock. Beaucoup étaient périmés, beaucoup aussi étaient d'un intérêt limité. Les critères de choix ?

  • Comme je suis de plus en plus dans l'exploration et l'apprentissage de GNU/Linux, j'ai décidé d'orienter un peu plus mon blog dans cette voie.
  • Les billets concernant les services web non libres ont été supprimés : c'est un blog libre et mon inscription sur plusieurs planets (frugalware, April, planet-libre) m'engage dans ce sens.
  • Les billets doivent être toujours d'actualité, et durable dans le temps.

Au final, 15 articles ont survécu au grand ménage. Cela aide déjà pour une importation manuelle. La suite est plus simple : j'ai les textes en format Txt2tags, il me suffit donc de créer des nouveaux articles et d'insérer le code. Bien sur quelques corrections ont du être faites.

Le problème s'est posé avec l'ordre des billets et l'affichage des dates. L'importation ne s'est pas faite dans l'ordre et tous les articles tombaient comme publiés de la veille. J'avais pourtant modifié le champ "Date" lors de la création.

C'est Denis Bernard qui m'a donné la solution lorsque je me suis connecté sur le salon IRC de nanoblogger (irc.oftc.net, #nanoblogger-fr). L'ordre et donc la date des billets est réglé par le nom du fichier, dans le répertoire /data du weblog. Une fois ce renommage effectué, un vidage de la base de donnée des catégories est nécessaire (suppression du fichier /data/master.db) suivi d'un update.

rm ~/weblog/data/master.db
nb update all

Il faudra ensuite retagger tous les articles. Avec 15 articles, ce n'est pas la mort ! Mais les tags sont identifiés par des numéros, ainsi que les articles. Tirons parti de Wmii pour avoir un beau poste de travail :

Trois consoles d'ouvertes :

  1. nb list tags
  2. nb list entry
  3. nb --tag 1,3,5 tag-entry 6,4,9

D'un coup d'oeil, il est possible d'assigner les catégories aux articles. Pratique car la majorité des billets sont multi-catégories : le fait d'être inscrit à 3 planets implique d'assigner un RSS spécifique à chaque. Dans cette configuration, les catégories deviennent plus des tags.Opération aisée donc, mais longue. En effet, à chaque assignation de tag, nanoblogger remet à jour le blog, ce qui prend du temps.

Redirection des URLs wordpress

Wordpress référence bien. Pas mal de mes billets sont plutôt bien placés par google (parce que ciblés, comme wmii ou txt2tags). Il est dommage de perdre ce référencement. La solution est de faire une redirection permanente,via htaccess.

RedirectPermanent /2009/11/wmii-tiling-wm/ http://www.botchchikii.com/archives/
2009/11/28/wmii_mode_tiling_et_oubli_de_la_souris/index.html
RedirectPermanent /2009/11/marche-ou-creve/ http://www.botchchikii.com/archives/
2009/11/20/marche_ou_creve/index.html
RedirectPermanent /2009/11/frugalware-une-distrib-aux-petits-oignons/ http://www.botchchikii.com/archives/
2009/11/09/frugalware_une_distrib_au_petits_oignons/index.html
RedirectPermanent /2009/11/txt2tags-version-modifiee-pour-spip-ipb-et-wikinimst/ http://www.botchchikii.com/archives/
2009/11/14/txt2tags_version_avec_spip_wikinimst_et_ipb/index.html
RedirectPermanent /2009/11/peuple-loup-a-portee-de-click/ http://www.botchchikii.com/archives/
2009/12/04/peuple_loup_en_3_urls/index.html
RedirectPermanent /2009/10/openbox-un-gestionnaire-de-fenetre-leger-et-efficace/ http://www.botchchikii.com/archives/
2009/11/19/openbox_un_wm_complet_et_efficace/index.html
RedirectPermanent /2009/10/txt2tags-la-syntaxe-universelle/ http://www.botchchikii.com/archives/
2009/10/09/txt2tags_la_syntaxe_universelle/index.html
RedirectPermanent /2009/08/quelques-ressources-pour-mieux-comprendre-le-concept-du-libre/ http://www.botchchikii.com/archives/
2009/08/29/quelques_infos_sur_le_concept_du_libre/index.html
RedirectPermanent /2009/08/des-amis-formidables/ http://www.botchchikii.com/archives/
2009/08/20/des_amis_formidables/index.html
RedirectPermanent /2008/10/mika-vadrouilleur/ http://www.botchchikii.com/archives/
2008/12/19/mika_vadrouilleur/index.html
RedirectPermanent /2009/08/la-route-est-longue-mais-la-voie-est-libre/ http://www.botchchikii.com/archives/
2009/08/20/une_oeuvre_nest_quun_enfant/index.html
RedirectPermanent /feed http://www.botchchikii.com/rss.xml
RedirectPermanent /tag/planet-libre/feed/ http://www.botchchikii.com/archives/planet-libre/index-rss.xml
RedirectPermanent /tag/frugalware/feed/ http://www.botchchikii.com/archives/frugalware/index-rss.xml
RedirectPermanent /category/libres/feed/ http://www.botchchikii.com/archives/libre/index-rss.xml

Avec ca, chaque fois que l'ancienne URL sera appelée, il y aura une redirection vers le nouveau permalien. J'ai inclus également les flux rss que j'avais donné pour les planets, mais cela ne m'empechera pas de les contacter pour donner la bonne. Ce fichier est à placer à la racine du blog

Design

Bon, je me suis pas foulé c'est vrai ! quelques modifications des couleurs d'un des templates fournis par défaut et quelques bricoles. Je travaillerais sur une version un peu plus léchée plus tard.

Il faut tout de même arranger un peu la side-bar : ajout de la blog-roll, quelques liens de référencement, l'ajout d'un script pour afficher le dernier dent posté sur Identi.ca et "that's it".

Commentaires

C'est la partie un peu obscure.Nanoblogger n'offre pas les commentaires de base, il est nécessaire d'utiliser un service externe. Selon la documentation de nanoblogger, 5 systèmes sont compatibles : NanoBlogger Comments, CGIComment, blogkomm, JS-Kit, et Haloscan.com. Je n'ai rien trouvé sur les deux premiers. Haloscan a été racheté par JS-Kit et ne propose que des services payants. BlogKomm est disponible.

Le souci est qu'il fonctionne en php et malgrè quelques pistes glanées sur la toile, je n'ai jamais reussi à voir un signe que cela fonctionnait.

J'ai essayé alors DISQUS, que je connaissais via tumblr. Dans l'interface d'admin, je choisis le code générique, en javascript et l'insère dans /templates/permalink_entry.htm

<h2 class="date">
$NB_EntryDate
</h2>
<div class="blogbody">
<a id="$NB_EntryID"></a>
<h3 class="title">$NB_EntryTitle</h3>
$NB_EntryBody
</div>

<div class="posted">
<br />$template_postedby $NB_EntryAuthor
$([ "$SHOW_PERMALINKS" = "1" ] && echo '| <a class="link" href="'${ARCHIVES_PATH}$NB_EntryPermalink'">'$template_permlink'
</a>')
$([ ! -z "$NB_EntryCategories" ] && echo "| $template_catlinks $NB_EntryCategories")
| <a href="${BASE_URL}$BLOG_URL_ACTION$ARCHIVES_DIR/$permalink_file#disqus_thread">$template_cmtlink</a><br /><br />
<div id="disqus_thread"></div><script type="text/javascript" src="http://disqus.com/forums/m3b/embed.js"></script><noscript
><a href="http://disqus.com/forums/m3b/?url=ref">Lire tous les commentaires.</a></noscript><a href="http://disqus.com"
class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>
</div>
<script type="text/javascript">
//<![CDATA[
(function() {
var links = document.getElementsByTagName('a');
var query = '?';
for(var i = 0; i < links.length; i++) {
if(links[i].href.indexOf('#disqus_thread') >= 0) {
query += 'url' + i + '=' + encodeURIComponent(links[i].href) + '&';
}
}
document.write('<script charset="utf-8" type="text/javascript" src="http://disqus.com/forums/m3b/get_num_replies.js' + query +
'"></' + 'script>');
})();
//]]>
</script>

Je relance un nb update all suivi d'un nb preview pour avoir la bonne surprise de voir que cela fonctionne très bien,Out of the Box ! En plus, des nouvelles fonctionnalités sont apparus et les RT et autres réactions sont sniffés. Impec.

Pointage du domaine

La dernière étape est de modifier l'Url du weblog, qui était configuré sur un sous domaine temporaire, un dernier update et un envoi par FTP de tous les dossiers (la commande nb publish telle que configuré ne met à jour qu'une partie des dossiers), et nanoblogger propulse ce blog. Dans la foulée, celui-ci gagne un nouveau nom L'appel du Gnou, en référence à GNU (qui se prononce gnou).

ToDo

Il me reste donc à me bricoler un template un peu plus personnalisé, ajouter quelques articles (équivalent des pages statiques), peut-être trouver un système de statistiques (over-blog me donnera quelques infos en attendant) et je serais paré.