Bonjour,
Je vais simplifier volontairement mon cas de figure afin de poser ma question :
Je souhaite réaliser un site simple constitué :
- d'un bandeau haut et d'un pied de page,
- d'un bloc de navigation avec un menu (partons sur la base de 7 choix de rubrique),
- d'un bloc 'contenu' qui contiendra le contenu correspondant à chaque rubrique du menu.
Solution de base : en me limitant strictement à du XHTML/CSS, je crée 7 fichiers HTML et un fichier CSS pour la mise en forme. Chaque fichier HTML correspondra à une rubrique, il contiendra le menu ET le contenu de la rubrique.
Problème classique : si je souhaite ajouter/supprimer/modifier une rubrique de mon menu, je suis obligé d'aller modifier le code du menu dans les 7 fichiers HTML.
Or je veux éviter cela pour faciliter les mises à jour ; et d'après mes recherches la solution qui s'offre à moi est l'utilisation de l'inclusion de fichier grâce au language PHP. Jusque là rien de particulier.
A ce stade, 2 solutions s'offrent encore à moi (et c'est là l'objet de mon post) :
• 1ère solution (proposée sur PHPdebutant : http://www.phpdebutant.org/article68.php ) : je crée un fichier HTML contenant uniquement le menu, et je vais inclure ensuite ce fichier 'menu' dans chacun des 7 autres fichiers HTML correspondant à mes 7 rubriques. Avantage selon moi : la navigation apparaîtra toujours dans le code de toutes les pages et le visiteur aura accès à l'ensemble du site, quelle que soit la page d'entrée (par le biais d'un moteur de recherche). Inconvénient selon moi : le code HTML de la structure complète du site (dont l'en-tête HTML, le bloc bandeau et le pied de page) est écrit 7 fois.
• 2ème solution (proposée ici sur AlsaCréations : http://css.alsacreations.com/Tutoriels-PHP/Inclure-un-fichier-dans-un-autre-grace-a-CSS-et-PHP ) : je crée un fichier HTML principal contenant la structure du site dont le menu et un bloc 'contenu' qui incluera (selon le choix du visiteur dans le menu) un des 7 fichiers HTML externes, chacun se limitant uniquement au contenu de la rubrique.
Avantage selon moi : la quantité de code est réduite par rapport à la première solution et il me semble que cette architecture est plus logique. Inconvénient selon moi : si le visiteur accède au site (par le biais d'un moteur de recherche) directement sur une page 'contenu', il lui manquera la structure et la navigation du site pour s'y retrouver.
Alors, quelle est selon vous la meilleure solution ? A défaut d'en préférer une, voyez-vous d'autres avantages et défauts pour chacune ?
Merci d'avance pour votre aide et vos commentaires...
Modifié par grrreg (02 Dec 2006 - 16:53)
Je vais simplifier volontairement mon cas de figure afin de poser ma question :
Je souhaite réaliser un site simple constitué :
- d'un bandeau haut et d'un pied de page,
- d'un bloc de navigation avec un menu (partons sur la base de 7 choix de rubrique),
- d'un bloc 'contenu' qui contiendra le contenu correspondant à chaque rubrique du menu.
Solution de base : en me limitant strictement à du XHTML/CSS, je crée 7 fichiers HTML et un fichier CSS pour la mise en forme. Chaque fichier HTML correspondra à une rubrique, il contiendra le menu ET le contenu de la rubrique.
Problème classique : si je souhaite ajouter/supprimer/modifier une rubrique de mon menu, je suis obligé d'aller modifier le code du menu dans les 7 fichiers HTML.
Or je veux éviter cela pour faciliter les mises à jour ; et d'après mes recherches la solution qui s'offre à moi est l'utilisation de l'inclusion de fichier grâce au language PHP. Jusque là rien de particulier.
A ce stade, 2 solutions s'offrent encore à moi (et c'est là l'objet de mon post) :
• 1ère solution (proposée sur PHPdebutant : http://www.phpdebutant.org/article68.php ) : je crée un fichier HTML contenant uniquement le menu, et je vais inclure ensuite ce fichier 'menu' dans chacun des 7 autres fichiers HTML correspondant à mes 7 rubriques. Avantage selon moi : la navigation apparaîtra toujours dans le code de toutes les pages et le visiteur aura accès à l'ensemble du site, quelle que soit la page d'entrée (par le biais d'un moteur de recherche). Inconvénient selon moi : le code HTML de la structure complète du site (dont l'en-tête HTML, le bloc bandeau et le pied de page) est écrit 7 fois.
• 2ème solution (proposée ici sur AlsaCréations : http://css.alsacreations.com/Tutoriels-PHP/Inclure-un-fichier-dans-un-autre-grace-a-CSS-et-PHP ) : je crée un fichier HTML principal contenant la structure du site dont le menu et un bloc 'contenu' qui incluera (selon le choix du visiteur dans le menu) un des 7 fichiers HTML externes, chacun se limitant uniquement au contenu de la rubrique.
Avantage selon moi : la quantité de code est réduite par rapport à la première solution et il me semble que cette architecture est plus logique. Inconvénient selon moi : si le visiteur accède au site (par le biais d'un moteur de recherche) directement sur une page 'contenu', il lui manquera la structure et la navigation du site pour s'y retrouver.
Alors, quelle est selon vous la meilleure solution ? A défaut d'en préférer une, voyez-vous d'autres avantages et défauts pour chacune ?
Merci d'avance pour votre aide et vos commentaires...
Modifié par grrreg (02 Dec 2006 - 16:53)