Dotclear

2008 avr 21

Encore un nouveau plugin, l'éditeur de thème

Maintenant qu'il est là, je me dis que ça manquait cruellement à Dotclear 2. Ce nouveau plugin permet donc de modifier son thème. Pas entièrement mais déjà les fichiers template, les feuilles de style et les fichiers javascript. Afin de vous expliquer comment tout ceci fonctionne, il n'est pas inutile de vous expliquer rapidement le fonctionnement du système de thèmes dans Dotclear 2.

Des templates un peu partout

C'est à la fois un point fort de Dotclear 2 et un des points compliqué pour les débutants ; il y a des templates un peu partout. Voilà comment ça fonctionne. Imaginons que le template fichier.html ait été demandé. Dotclear 2 va parcourir un certain nombre de répertoires jusqu'à le trouver. Ces répertoires sont les suivants :

  • inc/public/default-templates/fichier.html
  • themes/default/tpl/fichier.html
  • themes/<montheme>/tpl/fichier.html

Le lecteur avisé notera qu'il cherche aussi dans themes/<montheme>/fichier.html. Ceci est une mesure de transition pour que les thèmes actuels fonctionnent encore tous mais il y a des grandes chances que les templates des thèmes aient à se trouver dans le répertoire tpl du thème et nul part ailleurs. Fin de la digression.

Un plugin peut également ajouter un chemin à cette liste. Il l'ajoutera généralement au début. Par exemple, le plugin Pages ajoute une recherche dans son répertoire default-templates.

L'éditeur de thème dans tout ça

L'éditeur de thème, pour sa recherche de templates, va procéder de la même manière, il va chercher tous les fichiers dans les répertoires sus-nommés et également dans les répertoires default-templates des plugins. À la fin du processus il dispose d'une liste conséquente de fichiers que l'utilisateur va pouvoir choisir. Attention, l'explication va peut-être sembler compliquée...

Admettons que je dispose d'un thème sans templates, comme ça arrive souvent mais que je souhaite ajouter une information dans le footer. Je vais ouvrir mon éditeur de thème, choisir le fichier _footer.html et le modifier. Je clique ensuite sur "enregistrer" et c'est tout, mon footer est modifié. C'est aussi simple que ça.

Si vous avez bien suivi, mon thème n'avait aucun template et j'ai donc modifié le fichier _footer.html du thème par défaut. Et bien non ! J'ai ouvert le fichier en question du thème par défaut mais il a été enregistré dans mon thème en cours d'utilisation.

Pour résumer, l'éditeur de thème ne modifiera jamais de fichier dans le thème par défaut. Vous pourrez donc mettre à jour votre Dotclear sans vous soucier d'avoir modifié le thème par défaut. Tout est dans votre thème en cours d'utilisation. Bien sûr, il va de soit que le thème "default" n'est pas modifiable et qu'il faut donc créer un thème au préalable.

Les fichiers CSS et JavaScript

L'éditeur de thème permet également d'éditer les fichiers CSS et JavaScript se trouvant à la racine du thème en cours d'utilisation. Ils seront enregistrés au même endroit dans ce cas là, sans tour de magie :)

À venir

Dans un avenir assez proche ce plugin devrait permettre de créer un nouveau thème à partir du thème par défaut, en copiant uniquement les fichiers nécessaires. Ça me semblerait assez idéal :)

Voilà, vous savez tout, tout ceci est disponible par défaut depuis la révision 1738. Et bien sûr, déjà dans les nightly. Vous être invités à tester :)

2008 avr 20

Nouveau plugin pour Dotclear 2 : pages

Pep, gloire à lui, avait écrit le plugin Related, permettant de créer des pages statiques pour Dotclear 2. Related permet de créer soit des billets, soit des fichiers qui seront intégrés dans le blog comme des nouvelles pages.

Dotclear 2 possédait une très mauvaise gestion du type de billet (post_type dans la base de données) qui rendait la tâche de ce plugin (et d'autres) relativement compliquée. Je dis bien "possédait" puisque ce problème commence à être bien réglé :)

Un nouveau plugin, tout simplement nommé Pages vient remplacer Related. Refaire le plugin de Pep était le seul moyen que j'avais pour m'occuper correctement de la gestion du type de billet. Tout ceci est un peu compliqué, j'en convient et vous vous moquez bien des explications techniques, d'autant qu'on est dimanche.

Ce que fait Pages

Pages se veut le plus simple possible, les interfaces sont donc semblables à ce qu'on trouve pour éditer les billets mais avec un certain nombre de choses en moins.

  • Pas de catégories
  • Pas de trackbacks sortants
  • Pas de tags

Vous conservez évidemment un certain nombre de fonctionnalités des billets :

  • Une liste des pages
  • Une page pour créer ou modifier les pages
  • Les commentaires et trackbacks sont possibles sur une page
  • Une page peut être protégée par mot de passe
  • On peut ajouter des média à une page, de la même façon que pour un billet

Les commentaires laissés sur une page seront affichés dans la liste globale des commentaires (avec une indication à côté du titre). Les commentaires bénéficient également totalement de l'antispam.

Ce qu'il y a encore à faire

Pages est pour l'instant en test, il reste encore un certain nombre de petites choses à faire.

  • Pouvoir classer les pages
  • Gérer la migration des pages qui existaient dans Related
  • Je ne vois rien d'autre mais je pense que vous pouvez trouver des choses à ajouter :)

Ce que devient Related

Related gère les pages stockées dans la base de données mais également des fichiers. Il va donc continuer à exister puisque Pages ne gère pas et ne gérera jamais les fichiers. Le reste, c'est Pep qui décide :)

Testez, testez, testez

Vous êtes invités à tester intensivement ce plugin afin d'en faire un très bel outil, simple et fonctionnel. Il est disponible depuis la révision 1729 et les nightly sont déjà à jour :)

2008 avr 18

Gestionnaire de média et types de fichiers

La mise à jour de sécurité Dotclear 1.2.8 peut vous amener à vous poser la question de Dotclear 2. N'est-il pas vulnérable au même problème ?

Le gestionnaire de média de Dotclear 2 permet d'envoyer n'importe quel fichier (ou presque). On estime donc que l'utilisateur a pris ses dispositions afin que les fichiers ".php" soient affichés en text/plain et pas interprétés. Par exemple, votre configuration Apache peut contenir quelque chose comme :

<Location ~ "public/.*\.php$">
  ForceType text/plain
</Location>

Ce n'est qu'un exemple d'une configuration très simple avec un dossier nommé "public" pour les fichiers du gestionnaire de média.

Ceci étant, il est maintenant possible depuis la révision 1714 de spécifier une expression rationnelle pour les fichiers non autorisés dans le gestionnaire de média. Dans votre module "about:config", vous trouverez un champs "media_exclusion". Si vous voulez interdire le dépôt de tous les fichiers .php, vous indiquez dans le champs : /\.php$/i. Si, pour cause de possession démoniaque, vous voulez interdire l'envoi de fichiers gif, jpg et png, vous indiquez : /\.(gif|png|jp(e?)g)/i.

Exceptionnellement, la révision 1714 est déjà dans les nightly :)

2008 mar 21

Distributions nocturnes

Nombreux sont les utilisateurs qui ne savent pas ou ne veulent pas utiliser Subversion pour maintenir leur version de Dotclear à jour entre chaque distribution. Il arrive que nous corrigions des bugs ou que nous apportions des modifications que nous voulons faire tester.

C'est ceci que servent les nightly builds. Ces versions de Dotclear 2 sont des instantanés de ce qui existe en cours de développement. Les nightly ont toujours existé sauf que ... le répertoire était vide. Fort peu pratique, vous en conviendrez.

Un script et une heure plus tard, je suis heureux de vous annoncer que les nightly seront mises à disposition automatiquement toutes les nuits à 3h du matin, tous les jours. Vous disposerez d'un historique de 5 jours.

Notez, et c'est très important, que ces instantanés peuvent être cassés, ne pas fonctionner ou introduire des bugs imprévus. C'est donc à vos risques et périls que vous les utilisez. Ceci dit, si d'aventure on vous conseille d'utiliser telle nouvelle version nightly, c'est qu'on la considère comme fonctionnant correctement. (Il est en fait très rare que la version de Dotclear 2 en développement soit cassée.) Par exemple, vous pouvez sans crainte installer la nightly 2.0-beta7.3.r1676, elle fonctionne très bien.

Vous savez tout, les nightly sont par là.

Plan des sites