tout d'abord bonjour à tous, et merci pour vos très interessantes contributions.
Très sensible aux bonnes pratiques, standards et préconnisation si ardemment défendues par ce site, j'aimerais avoir votre opinion sur un problême récurent, et inévitable lorsqu'on développe un site dynamique.
Je vais essayer en deux mots d'exposer mon problême, pour lequel je n'ai trouvé aucune proposition qui me satisfasse lors de mes recherches sur le net. J'espère avoir posté dans le bon forum, si ça n'était pas le cas, n'hésitez par à déplacer ce post.
Le mieux c'est encore de partir d'un exemple : mon site est constitué de deux pages : une page de recherche de document et la page d'affichage d'un document. J'utilise pour coder chacune de ces pages : - un script en php, chargé de la compilation des données, - un template en html, décrivant la structure logique de ma page, et - une feuille de style css pour la présentation à l'écran.
Ces pages sont constituées d'éléments disparates : un bandeau, une barre de recherche rapide, etc. parfois réutilisables d'une page à l'autre, et, de plus, sont variables en fonction du type de document affiché. Bref, la page n'est qu'une unité d'affichage, mais pas une unité logique
Jusqu'à présent, je n'utilise qu'un seul template par page : je duplique les partie en commun, et les parties modulables sont selectionnées par un bloc conditionnel dans le template.
( On voit qu'on peut référencer deux types de ces sous-unités :
- sous unités d'interface, des elements invariant sur l'ensemble du site.
- sous unités de contenu, un contenu modulable sur une page.
C'est surtout le second type d'unités qui me parait délicat à gérer, pour le premier, une duplication du code, si elle n'est pas toujours pratique, ne contrevient pas aux standards)
A ma connaissance, il n'existe pas de sous-unité de page HTML. Quelques solutions consisteraient :
- à utiliser des frames, mais il me semble qu'en xhtml, ce type de pratique est déprécié.
(et c'est la même chose pour la la balise iframe, non ?)
- à utiliser une insertion d'élément avec la balise object : je connais mal cette balise, il me semble qu'elle est peu utilisée : pour des raisons d'accessibilité ? de plus elle suggère une insertion d'un élément extèrieur à la page, ce qui n'est pas mon problême, qui consiste plutôt à composer une page à partir de sous unités.
- à s'en remettre entièrement au scriptage php, en incluant éventuellement des bouts de page html, une pratique impossible à valider selon les standards xhtml. (une explication de cette technique, par exemple, http://css.alsacreations.com/Tutoriels-PHP/Inclure-un-fichier-dans-un-autre-grace-a-CSS-et-PHP )
Idéalement, j'aimerais que toutes ces sous-pages se suffisent à elles même (qu'elles contiennent leur propre liens css et script, donc qu'elles possèdent un en-tête) de telles sortes qu'on puisse les réutiliser dans des contextes différents (une aide à la recherche, par exemple, pourrait être chargée à partir d'une même source pour être affichée sur deux sites différents, dans deux environnements différents).
Quelles sont les bonnes pratiques en la matière ? comment gérer élégament une sous-unité infèrieure à la page ?
merci d'avance pour vos reflexions.
Modifié par lex (29 Jan 2007 - 10:14)
Très sensible aux bonnes pratiques, standards et préconnisation si ardemment défendues par ce site, j'aimerais avoir votre opinion sur un problême récurent, et inévitable lorsqu'on développe un site dynamique.
Je vais essayer en deux mots d'exposer mon problême, pour lequel je n'ai trouvé aucune proposition qui me satisfasse lors de mes recherches sur le net. J'espère avoir posté dans le bon forum, si ça n'était pas le cas, n'hésitez par à déplacer ce post.
Le mieux c'est encore de partir d'un exemple : mon site est constitué de deux pages : une page de recherche de document et la page d'affichage d'un document. J'utilise pour coder chacune de ces pages : - un script en php, chargé de la compilation des données, - un template en html, décrivant la structure logique de ma page, et - une feuille de style css pour la présentation à l'écran.
Ces pages sont constituées d'éléments disparates : un bandeau, une barre de recherche rapide, etc. parfois réutilisables d'une page à l'autre, et, de plus, sont variables en fonction du type de document affiché. Bref, la page n'est qu'une unité d'affichage, mais pas une unité logique
Jusqu'à présent, je n'utilise qu'un seul template par page : je duplique les partie en commun, et les parties modulables sont selectionnées par un bloc conditionnel dans le template.
( On voit qu'on peut référencer deux types de ces sous-unités :
- sous unités d'interface, des elements invariant sur l'ensemble du site.
- sous unités de contenu, un contenu modulable sur une page.
C'est surtout le second type d'unités qui me parait délicat à gérer, pour le premier, une duplication du code, si elle n'est pas toujours pratique, ne contrevient pas aux standards)
A ma connaissance, il n'existe pas de sous-unité de page HTML. Quelques solutions consisteraient :
- à utiliser des frames, mais il me semble qu'en xhtml, ce type de pratique est déprécié.
(et c'est la même chose pour la la balise iframe, non ?)
- à utiliser une insertion d'élément avec la balise object : je connais mal cette balise, il me semble qu'elle est peu utilisée : pour des raisons d'accessibilité ? de plus elle suggère une insertion d'un élément extèrieur à la page, ce qui n'est pas mon problême, qui consiste plutôt à composer une page à partir de sous unités.
- à s'en remettre entièrement au scriptage php, en incluant éventuellement des bouts de page html, une pratique impossible à valider selon les standards xhtml. (une explication de cette technique, par exemple, http://css.alsacreations.com/Tutoriels-PHP/Inclure-un-fichier-dans-un-autre-grace-a-CSS-et-PHP )
Idéalement, j'aimerais que toutes ces sous-pages se suffisent à elles même (qu'elles contiennent leur propre liens css et script, donc qu'elles possèdent un en-tête) de telles sortes qu'on puisse les réutiliser dans des contextes différents (une aide à la recherche, par exemple, pourrait être chargée à partir d'une même source pour être affichée sur deux sites différents, dans deux environnements différents).
Quelles sont les bonnes pratiques en la matière ? comment gérer élégament une sous-unité infèrieure à la page ?
merci d'avance pour vos reflexions.
Modifié par lex (29 Jan 2007 - 10:14)