Une extension Dotclear 2 pour exporter ses billets ou son blog au format ODT

Je l’avais rêvé (même si je n’en ai pas l’utilité) et il l’a fait : une extension pour exporter le contenu au format OpenDocument[1].

Ça marche bien[2], pas de bidouillages, pas de modifications dans les gabarits, on installe, on active pour le blog voulu et ça roule tout seul. Il faut que vos billets soient valides xhtml pour que ça fonctionne. Une icône, en mode billet, se trouve à côté du titre pour le téléchargement. Un lien en page d’accueil permet de télécharger le blog (ou juste le contenu de la page).

Cette extension pourrait être sympa avec, par exemple, un blog livre ou un blog documentation : les gens peuvent télécharger le contenu en étant sûr d’avoir la dernière version à jour. :-)

Retour sur l'optimisation de Dotclear 2

Le graphique de Google Webmaster Tools ne ment pas (Voir billet précédent) :

Si on regarde la courbe du graphique où le site est considéré comme lent (avant décembre), les résultats sont maintenant dans le vert depuis l'installation du plugin.

En moyenne, les pages de votre site se chargent en 0,3 secondes (dernière mise à jour : 29 déc. 2009). Plus rapide que 98 % des sites Le graphique suivant indique l’évolution du temps de chargement moyen des pages de votre site au cours des derniers mois. Il compare également ces performances avec les 20 sites les plus lents et les plus rapides.

Très efficace ce plugin ! :-)

Optimisation de Dotclear 2 : installation de l'extension Static Cache

Dotclear 2 est un programme écrit en php et mysql : à chaque fois que vous cliquez sur un lien, le programme va retrouver dans la base de données le contenu de la page et l’envoyer au navigateur. Cette opération prend un certain temps. Si le site était constitué de pages statiques (des fichiers html déposées tels quels sur le serveur), l’affichage serait beaucoup plus rapide car il n’y aurait pas d’accès à la base de données et pas de fonctions en php à exécuter. En revanche, par rapport à un site statique, le site en php permet d’avoir de l’interactivité (commentaires, rétroliens), une fonction recherche, etc.

Il existe une solution pour avoir le meilleur des 2 mondes : l’extension Static Cache. Cette extension va créer pour chaque page visitée (par des robots ou des humains) une version html qui sera logée dans le répertoire cache de dotclear. Si la page n’a pas été modifié depuis la mise en cache c’est la version html qui est envoyée au visiteur, si la page a été modifiée (cela peut être un simple ajout de commentaire), une nouvelle version de la page html est créée et envoyée. Les pages mettent maintenant 2 fois moins de temps pour être envoyées. :-)

Pour activer l’extension, il faut modifier le fichier config.php et ajouter ces deux lignes (à adapter si vous avez une installation un peu spéciale) :


define('DC_SC_CACHE_ENABLE',true);
define('DC_SC_CACHE_DIR',dirname(__FILE__).'/../cache/static');

Si vous tournez sur DC2 avec un hébergement mutualisé, je vous conseille fortement cette solution. :-)

Masquer et afficher des éléments HTML avec jQuery

Une petite page de test qui masque des éléments sans les masquer : ils sont envoyés en dehors de la page, ce qui devrait améliorer l’accessibilité pour les personnes aveugles. Si javascript est désactivé tout est déployé. Je vous laisse découvrir le code source de la page dans votre navigateur… :-)

Pour l’adapter au menu de votre blog doclear2, il faut faire une sélection sur #blognav h2 et travailler avec des liens sur ceux-ci (de préférence mettre le code javascript dans un fichier externe).

Cette page est une adaptation du tutoriel d’alsacréations pour créer un menu accordéon.

Rangement terminé

Pour des facilités de maintenance, j’ai décidé de sortir les dossiers themes, public et les plugins du dossier de base de dotclear2. J’ai donc suivi l’excellent tutoriel dans la documentation et tout s’est bien passé. J’ai dû changé les path dans le about:config des différents blogs, de même pour les paths du plugin gallery. Pour ne pas casser les liens sur les fichiers[1] se trouvant dans le dossier public j’ai créer des redirections dans le fichier .htaccess, j’en ai profité pour rediriger également les anciens fichiers se trouvant dans mon DC1, je vais pouvoir effacer son dossier (enfin!). Voici le contenu du .htaccess :

SetEnv PHP_VER 5


Options -MultiViews -Indexes

Redirect permanent /dotclear/rss.php http://www.lombre.net/feed/rss2
Redirect permanent /dotclear/atom.php http://www.lombre.net/feed/atom

#pour ne pas casser les liens de l'ancien DC1
RedirectMatch 301 /dotclear/download/(.*)$ http://www.lombre.net/all-blogs/public/download/$1
RedirectMatch 301 /all-blogs/public/imagesdc1/(.*)$ http://www.lombre.net/all-blogs/public/imagesdc1/$1

#redirection de l'ancien dossier public dans le nouveau en dehors du dossier DC2
RedirectMatch 301 /dotclear2/public/(.*)$ http://www.lombre.net/all-blogs/public/$1


RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?$1 [L]

Si ça peut servir à d’autres… ;-)

Notes

[1] Cool URIs don’t change : les liens ne doivent jamais changer sinon on casse le web ;-)

- page 3 de 11 -