Retour d'expérience sur XSLT

Olivier Issaly <[email protected]> Sat, 26 Jun 2004 00:45:14 +0200
Newsgroups gmane.comp.cms.haricow
Message-ID <[email protected]>
Salut à tous,

j'aimerais avoir quelques retours sur votre expérience avec XSLT. De quelle 
manière l'utilisez-vous dans vos applications. Où plus précisément, est-ce que 
vous 
avez un mécanisme générant automatiquement le fichier de données associé à la 
feuille de style XSLT.

Je m'explique. Dans haricow, le moteur de template (cowbra) fonctionne ainsi:

Un fichier XML décrit les données nécessaires pour la page. Ce fichier est 
parsé et un fichier de données est généré selon ce qui est nécessaire. Ce 
fichier de données est associé à la feuille XSLT pour produire la page 
voulue.

Que pensez-vous de ce système ?

Pour moi, j'y vois comme avantage:
- dans le cadre d'un cms, un utilisateur n'a pas à connaitre particulièrment 
PHP: il dit d'un côté les données qu'il veut pour la page, et de l'autre 
comment les formater
- il y indépendance complète du moteur de template vis-à-vis du langage de 
programmation (une implémentation en python serait possible sans avoir à 
refaire les templates)

En inconvénient, cela rajoute un peu de lourdeur au traitement. Mais surtout, 
je me demande si c'est réellement utile. Actuellement, la description des 
données est assez bas-niveau: c'est une description des requetes sql à 
faire ... Mais si cette description se faisait à un niveau plus haut, par 
exemple en disant juste les commentaires de l'article n°36, alors là aussi le 
surcout en performance est supérieur ama aux gains. Faire directement en PHP 
quelquechose comme $page->add($article->getComments()->getXML()) et générer 
le XML de données en PHP serait sans doute plus simple. On perdrait une partie 
du premier avantage plus cité haut, à savoir que l'utilisateur devrait 
modifier du code PHP pour changer les données qu'il veut dans sa page. Mais 
si les classes à disposition de l'utilisateur sont assez haut niveau, avec 
une sémantique proche de ce qu'il manipule (à savoir des articles, des 
commentaires, etc ..), cela n'a rien de difficile je pense.

Vous en pensez quoi ? (si j'ai pas été clair sur un point je peux réexpliquer, 
suffit de demander :p)

Voila pour le moteur de template. Pour ce qui est du reste du CMS ... je pense 
que je vais en recoder une bonne partie ... une fois de plus. 

Pour la partie gestion de l'url, je souhaite générer un maximum d'URL 
significative et persistante (cf http://www.la-grange.net/w3c/Style/URI) en 
s'appuyant sur les possibilités d'Apache en matière de traitement d'url 
(mod_rewrite et les directives redirect). Le rôle du CMS sera de générer 
les .htaccess pour qu'ils traitent tous cela.

L'autre partie à revoir est la gestion des modules qui date de la toute 
première version du CMS et qui laisse à désirer car elle repose sur l'idée 
qu'un module utilise forcément une base de données (oui, ça ne faisait que 5 
mois que je programmais à l'époque .. :p). Enfin c'est pas super, je souhaite 
donc rajouter une couche pour avoir des modules plus divers.

Je vais tester tout ça en refaisant mon site kiad.org (pour avoir un blog, des 
articles et d'autres petits trucs ..). Pour ceux qui ne ce s'en serait pas 
rendu compte, hariCow est avant tout pour moi un terrain d'exploration. Si 
vous en attendez rapidement une version stable ... hum je pense que vous 
auriez plus vite fait d'aller voir chez la concurrence :p Non pas que hariCOw 
sera toujours en développement, ce n'est pas mon but, mais avant de me fixer 
sur quelquechose je veux être sur que la structure est bonne pour en faire un 
bon script capable d'être largement déployé.

a+

-- 
Olivier Issaly
http://www.kiad.org
Jabber: [email protected]
Liste de diffusion haricow
Dernières nouvelles : [email protected]?subject=info
Pour se désinscrire : mailto:[email protected]?subject=unsubscribe