|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité régulier
![]() Inscription : avril 2006 Messages : 19 ![]() |
Bonjour,
J'ai l'intention de me lancer dans le développement d'un CMS en utilisant les technologies PHP/MySQL. Pour cela, j'ai parcouru de nombreux sites web et lu autant d'articles pour en conclure que l'utilisation d'un système de template est fortement interessant dans ce genre de projet. Se pose alors la question : "Lequel choisir ?". Je trouves que le XML allié au XSL est un bon choix (en plus d'être une technologie de + en + utilisée).. mais pour des pages statiques ! En est-il autant pour des pages dynamiques ? Imaginons un module pour les news. Il y a évidemment la page de base, qui va afficher les news disponible. Voici le processus de A à Z pour arriver à cette page : [ prérequis : un schéma XML ] 1. le script php récupère les données nécessaires 2. le script php construit un fichier XML, qui utilise les données, sur base du schéma XML établit dans les prérequis 3. grâce à un parser (XSLT, DOM, etc.), on passe du fichier XML à un fichier HTML via un modèle XSL donné 4. on a fini --> Cela vous semble-t-il correct comme processus ? Mais il y a aussi la page qui contient un formulaire permettant d'ajouter/éditer une news. Faut-il utiliser le couple XML/XSL pour obtenir une page contenant un formulaire, ou peut-on coder en dur ("pur HTML") ce formulaire ? Ca me gêne de le coder en dur, dans le sens où j'aurais voulu adopter la même voix de programmation pour l'entiereté du CMS.. (je voudrais vraiment perfectionner le développement de ce dernier). Enfin, peut-on suivre un layout comme défini ci-dessous de la manière décrite ci-dessus ? Code :
Merci d'avance pour vos avis, conseils, et éléments de réponses ! |
||
|
|
00
|
|
|
#2 |
|
Invité régulier
![]() Inscription : avril 2006 Messages : 19 ![]() |
Bonsoir,
Ayant lu et relu le thread sur les systèmes template dans le forum PHP, j'ai fais un choix (que j'espères bon) pour le couple XML/XSL. Seulement, il existe très peu de documentation (ou alors introuvable) concernant le moyen de passage de données MySQL vers un fichier XML (d'ailleurs, est-ce la bonne façon de faire ?). Je relances aussi ma question sur les formulaires : faut-il aussi réaliser une page contenant un formulaire en XML (par simple soucis de perfection/homogénéité) ? D'autre part, on m'a dit que ce n'étais pas le meilleur système template. Pourtant, c'est le top de la norme.. Si quelqu'un a un avis, ou des orientations vers d'autres systèmes, je suis preneur ! Merci d'avance. |
|
|
00
|
|
|
#3 |
|
Membre confirmé
![]() |
Je ne pense pas qu'associer "top de la norme" et "meilleure solution pour toi" soit une bonne affaire...
Je n'y connais rien en Template, c'est plus une remarque générale... Mais avant de choisir une Ferrari, il faut penser à ce qu'on va en faire...Si c'est pour de la ville, ca sert à rien..... As tu pensé aux Smarty? (moi je dis ca, je dis rien...Hein?? ![]() )
__________________
Admin Réseaux & Systèmes. Red Hat Certified Technician...#604006101698235 |
|
|
00
|
|
|
#4 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Salut
Un moteur de gabarits te permet de t'abstraire de la couche présentation. Tu envoies tes données à ton gabarit : peu importe à PHP que ce soit du HTML ou du XML. En gérant bien, tu peux même laisser l'option à ton utilisateur ! Pendant que tu y es, pense à utiliser un layer d'abstraction de bases de données (je vois que cela n'appartaît pas dans ton processus de A à Z).
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#5 |
|
Invité régulier
![]() Inscription : avril 2006 Messages : 19 ![]() |
Tout d'abord, merci pour vos réponses.
Voici d'abord une source qui va soutenir ce qui suit : http://www.atelierphp5.com/un-system...rits-xslt.html Pour ce qui est de Smarty, je m'étais déjà informé auprès du site officiel, j'ai parcouru des exemples. Le problème, qui est cité dans le lien ci-dessus, est qu'il implique (selon les situations, bien entendu) d'utiliser des conditions et des boucles (= blocs) à la Smarty. Je suis tout à fait la logique expliquée dans cet article : autant oublier les templates et continuer à coder en PHP/HTML dans un même fichier. Yogui, quand tu parles de moteur de gabarits, tu parles bien d'un système de template, me trompes-je ? C'est justement ce que je veux mettre en place. Pourrais-tu préciser ce que tu voulais dire par là ? J'ai surement omis quelque chose. Ensuite, pour ce qui est du layer d'abstraction, je comprends bien ce que cela signifie, et l'intérêt que ça offre. Ca serait l'équivalent des étapes 1 et 2 de mon processus A à Z. Mais comment le mettre en place ? Y a-t-il déjà des librairies en PHP effectuant cette tâche ? Pour finir, je voudrais expliquer brièvement pourquoi mon choix du XML/XSL. C'est aux normes, et même si XSL n'est pas des plus limpides au début, je ne rechignes pas à m'arracher les cheveux (même en ayant une calvitie précoce). De plus, c'est le seul (bien que je ne les connais pas tous) des systèmes template qui n'implique pas l'utilisation de nouvelles conditions/boucles/etc. En espérant que vous pourrez m'éclairer sur ces quelques points. Merci d'avance. |
|
|
00
|
|
|
#6 |
![]() ![]() Guillaume RossoliniDirecteur technique Inscription : février 2004 Messages : 13 720 ![]() |
Je ne comprends pas pourquoi tu parles de XML/XSL comme d'un moteur de templates (moteur/système de templates/gabarits). Je le vois simplement comme une méthode pour structurer et présenter un document : cela ne fait pas un moteur.
Ton article n'explique malheureusement rien et le lien qui pourrait s'en charger est mort :/ Si tu pouvais m'expliquer le coup des templates en XML, ça m'intéresse ^^ Cela dit, ne crois pas ce que dit Rasmus. Le pauvre vieux est dépassé ![]() Les templates permettent une séparation des couches, permettent de ne donner que du code client (HTML et consorts) aux designers, éventuellement de gérer du cache côté serveur, etc. De même, l'abstraction de la BDD permet de gérer le cache, d'optimiser tout ça, de déléguer correctement. Il s'agit de déléguer les tâches aux acteurs les mieux indiqués pour s'en charger. Si tu peux attendre quelques jours, j'ai finalisé un article sur les classes d'abstraction. Il sera bientôt publié et tu auras alors un exemple de layer d'abstraction de la BDD, ainsi qu'un exemple d'utilisation de template (et + encore). [Edit] L'annonce est prévue, je peux donc donner le lien : http://g-rossolini.developpez.com/tu...ite-dynamique/
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework) Ressources PHP - Ressources Zend Framework |
|
|
00
|
|
|
#7 |
![]() ![]() Geek entrepreneur Inscription : novembre 2004 Messages : 1 035 ![]() |
Effectivement on peut considérer le couple XML/XSLT comme un moteur de template. En effet on génère le XML en PHP puis on transforme en HTML grace a XSLT.
Mais ca n'est pas plus souple, puisqu'en définitive, même si tu n'as pas fait de parcours de données en XML, tu l'auras fait en php. L'utilisation de Smarty a de nombreux avantages, entre autre celui de gère un système de cache performant. Quand tu parles de normes d'ailleurs, où as tu lu/vu que XML/XSLT était la norme en matière de système de template ? La plupart des CMS que je connais utilisent Smarty ou un équivalent si je ne m'abuse. |
|
00
|
|
|
#8 | |
|
Invité régulier
![]() Inscription : avril 2006 Messages : 19 ![]() |
Yogui, merci pour l'article !! Il me sera surement d'une grande aide. Je n'ai parcouru que la table des matières, mais ça me semble tout indiquer pour ma petite personne. Je vais revoir un peu ma manière de penser mon site web dynamique.
Citation:
Je n'ai pas dis que XML/XSL était la norme en matière de système de template. J'ai juste dis que c'est un langage standardisé par le W3C, une norme bien définie. |
|
|
|
00
|
|
|
#9 |
![]() ![]() Geek entrepreneur Inscription : novembre 2004 Messages : 1 035 ![]() |
XML/XSL fait partie de la norme W3C tout autant que XHTML, CSS etc...
Mais il faut veiller a ne pas confondre langage de présentation et système de template. Enfin, le sujet est vaste, c'est en tatonnant que tu trouveras ce qui te convient le mieux. |
|
00
|
|
|
#10 |
|
Invité régulier
![]() Inscription : avril 2006 Messages : 19 ![]() |
Le fait est que j'ai pu constaté dans plusieurs conversations que certains utilisaient le couple XML/XSL pour en faire une sorte de template system. Du coup, j'ai focalisé - peut-être de trop.. - sur cette possibilité, et voulu entreprendre des recherches pour savoir comment mettre tout ça en oeuvre. Mais je vais prendre d'autres systèmes en considération, sans pour autant oublier ce couple..
EDIT: Ton article est parfait. Je vais mettre tout ça en place et oublier, pour le moment, la solution XML/XSL.. Tu as raison Julien, une Porsche suffit amplement |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com