Taltan.blog.bkp

lundi, juillet 9 2007

flatExport, exporter un blog Dotclear 1 vers Dotclear 2

L'important quand on migre un blog d'une plate-forme à un autre c'est la récupération des "data", c'est à dire les catégories, les billets, les commentaires... Dans le cas d'une migration Dotclear 1 (DC1) vers Dotclear 2 (DC2) le plugin flatExport est fait pour ça. La documentation officielle Dotclear 2 l'explique trés bien.

Ce plugin exporte au format texte les billets, commentaires, catégories, utilisateurs et liens. Nativement DC1 ne gère pas les tags, un plugin comme twTags permet de rajouter cette fonctionnalité mais du coup les tag ne seront pas exportés. Pep explique comment contourner le problème dans ce billet.

Pour ma part j'ai du modifier manuellement le fichier texte généré par flatExport, pour deux raisons :

La première est que dans mon cas le fichier généré induisait une erreur au moment de l'import dans DC2, l'importation était impossible (format de fichier invalide). C'est un bug bien connu des freenautes et recensé sur le forum DC. Il a fallu supprimer les quatre premières lignes du fichier, cela correspond à tout ce qui est au dessus de ///DOTCLEAR|1.2.6.

La deuxième est que, changeant d'hébergeur et ayant acquis un nom de domaines, toutes les données relatives à l'URL du blog dans les commentaires deviennent caduques. C'est problématique car dans DC2 une classe PHP permet de différencier les commentaires des utilisateurs de ses propres commentaires. Pour que cela fonctionne il faut que les champs nom pseudo, adresse mail et site web soit identiques à ceux configurés dans DC2. La fonction Rechercher / Remplacer de mon éditeur de texte (Gedit) est donc mon amie. N'ayant jamais renseigné mon adresse mail dans les commentaires de DC1, je l'ai également rajouté. L'export flatExport des commentaires est sous cette forme :

"33","42","2006-10-05 20:18:24","2006-10-05 20:18:24","Taltan","","taltan.free.fr","<p>commentaire en question</p>","@IP","1","0"

En gras : "Taltan","","taltan.free.fr" correspond aux champs nom pseudo, adresse mail et site web renseignés au moment de la saisie du commentaire. Il suffit donc de rechercher "Taltan","","taltan.free.fr" et de le remplacer par "Taltan","mon@mail","www.taltan.fr" :

search_replace.png

Et le tour est joué ;)

samedi, juillet 7 2007

Déménagement terminé ...

Ouf !

Déménagement terminé, http://taltan.free.fr sous Dotclear 1 (DC1) hébergé chez free devient http://www.taltan.fr sous Dotclear 2 (DC2) hébergé chez 1&1. Ça fait beaucoup de changement à la fois ! La migration DC1 vers DC2 reste pour le moins artisanale et implique de passer de longues heures les mains dans le cambouis. Cela dit Kozlika veille, et vous trouverez dans ces différents blogs toutes les réponses, astuces, conseilles et autres radiographies pour faire passer la pilule :

Quoi qu'il en soit une phrase dans un de ses billets résume bien la démarche :

N'intervenez sur votre blog que quand vous disposez du triple de temps que vous y prévoyez !

Le plus long, finalement, a été la adaptation (libre) à DC2 de mon thème DC1. La base est le thème Welsh 2.0 (carré comme je les aime) de Kozlika. Comme elle fait toujours bien les choses, elle avait prévu une déclinaison en 2 colonnes sur toute la largeur de son thème, exactement la base sur la quelle je voulais partir.

Concernant les redirection des URL de taltan.free.fr vers www.taltan.fr, l'architecture des URL en path_info de DC1 est sensiblement la même que celle de DC2, j'ai donc utilisé les redirection HTTP de Apache via un fichier .htaccess à la racine de taltan.free.fr. Les liens sur la toile pointant vers le domaine taltan.free.fr seront redirigés à l'endroit voulu sur www.taltan.fr.

Pour info, la liste des extensions DC2 utilisées sur ce blog

vendredi, juillet 6 2007

Déménagement imminent ...

Ola

Juste un petit mot pour dire que je suis en train de migrer mon blog vers un autre hébergeur, c'est pourquoi les commentaires sont fermés. Je profite également de cette occasion pour migrer vers Dotclear2, ce qui implique un petit temps d'adaptation...

@+

samedi, juin 24 2006

Coloration Syntaxique

Voila un plugin intéressant pour donner un peu de couleur dans l'affichage du code dans Dotclear. Il s'agit du Plugin de Coloration Syntaxique (Syntax Highlighter 1.0) basé sur la librairie GeSHi. Par défaut quelques langages sont reconnus (C, C++, CSS, jave, PHP,...) mais il es trés simple d'en faire reconnaître d'autre, notamment l'indispensable BASH. Les informations nécessaire sont le blog de l'auteur.

Pour modifier le type de coloration il suffit d'éditer les fichiers .php correspondant au langage qui se trouve dans ../ecrire/tools/syntaxhl/geshi. Par défaut la coloration syntaxique pour le langage BASH est prévu pour un fond clair, donc quasi illisible sur un fond foncé. J'ai modifié le fichier bash.php pour le rendre lisible sur un "dark background"

Avant :

#!/bin/bash
numParam=1
for parametre in "$@"; do
	old_name=$parametre
	new_name=`echo $parametre | sed s/\ /./g | sed s/"-\."/-/g | sed s/"\.-"/-/g`
	mv "$old_name" $new_name
	let $[numParam += 1]
done

Après :

#!/bin/bash
numParam=1
for parametre in "$@"; do
        old_name=$parametre
        new_name=`echo $parametre | sed s/\ /./g | sed s/"-\."/-/g | sed s/"\.-"/-/g`
        mv "$old_name" $new_name
        let $[numParam += 1]
done

Aprés l'instalation du plugin, il se peut qu'il y ait un bug qui fait que les portions de code qui contiennent des crochets ne soient pas correctement mis en couleur, pour fixer ce bug il faut éditer le fichier ../ecrire/tools/syntaxhl/functions.php

Trouver la ligne

$language = preg_replace(...

et la remplacer par

$language = preg_replace('/^[([a-z]*)].*/si', '\\1', $matches[1][$i]);

vendredi, juin 9 2006

Script de sauvegarde des fichiers DotClear

J'ai effectué ma première mise à jour DotClear aujourd'hui, le passage de la version 1.2.4 à 1.2.5. La mise à jour se fait d'ailleurs simplement en installant un plugin de mise à jour vers DotClear 1.2.5. Avant toutes mises à jour il faut sauvegarder ses pages et sa base. Voila donc une ébauche de script qui permet d'automatiser la sauvegarde des fichiers DotClear, en résumé :

  • Sauvegarde des dossiers conf, share, images, themes et ecrire/tools
  • Créer une archive de la forme 2006_06_09_14:14:10_DC.tar.gz
  • Utilise wget et l'accès FTP de l'hébergeur (ici FREE)
#!/bin/bash
###############################################################################
# NOM: /etc/scripts/dc_backup.sh
# COMMENTAIRE : script de sauvegarde distant des fichier dotclear
# Sauvegarde des dossiers conf, share, images, themes et ecrire/tools
# Utilise wget et l'accès FTP de l'hébergeur (ici FREE)
###############################################################################
# 09/06/2006 # Maj 09/06/2006
###############################################################################
# Variables
###############################################################################
ftp_url="ftpperso.free.fr"                        # URL du serveur FTP
ftp_user="utilsateur"               # Utilisateur FTP   
ftp_pass="mot de passe"     # Mot de passe
save_dir="conf share images themes ecrire/tools"        # Dossiers à sauvegarder
gz_file_path="/home/user/bkp"            # emplacement du fichier backup

cd /tmp
for i in $save_dir
do
        wget -r -np ftp://$ftp_user:$ftp_pass@$ftp_url/$i/*
done
tar -cvzf $gz_file_path/`date "+%Y_%m_%d_%H:%M:%S"`_DC.tar.gz $ftp_url
rm -rf /tmp/$ftp_url