Comme j’utilise Radiant CMS, pour l’instant, principalement en tant que blog, je me suis demandé quelles fonctionnalités il me manquait par rapport à un Dotclear où à un WordPress et j’ai donc commencé à regarder comment on peut étendre tout ça.

Alors, donc, radiant dispose d’un système de plugins et d’un système d’extensions, j’ai choisi d’implémenter une extension, puisque c’est la manière décrite dans la documentation de Radiant.

C’est d’un premier abord plutôt simple, il y a même des générateurs qui créent les dossiers et écrivent le squelette de l’extension. Par conséquent, on peut dire que ça se présente bien.

Ma première extension à été un remplacement du tag <r:date />, qui, comme ruby utilise bêtement via sa class Time la fonction strftime de la bibliothèque standard et ne permet pas de faire de setlocale, génère de très belles dates, mais en anglais. J’ai donc créé une extension FrenchDate qui définit un tag <r:french_date /> qui fonctionne tout à fait comme le précédent, mais en utilisant une sous classe de la classe Date , qui elle, à une fonction strftime implémentée en ruby, avec de jolis tableaux contenant les noms des jours et des mois qui ne demandent qu’a être modifiés, ce que j’ai fait. Il reste un tout petit problème, c’est que les deux strftime présentées ici ne savent représenter le fuseau horaire qu’en version lettres (UTC, CEST…), où dans une version numérique non compatible avec certaines utilisations (+0200 au lieu de +02:00), mais ça se règlera bien à un momment où un autre.

Comme je n’ai toujours pas envie de laisser les gens mettre des commentaires, je me suis dit qu’ils pourraient utiliser des rétroliens, au cas où ils se mettent à parler de ce que je dis. Je vous parlerai de mon exploration des entrailles de Radiant, et de Radius (son système tags), vous verrez, c’est souvent automagique, ainsi que de la genèse de mon extension Trackback dans un prochain billet.

Article précédent Article suivant