Sortes d'"include" en XHTML

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
Kiouk
Arias
Messages : 3
Inscription : 17 nov. 2003, 18:03

Sortes d'"include" en XHTML

Message par Kiouk »

Bonjour,

Ce suis en train de faire un site statique dans lequel il y a un menu à gauche et le contenu à droite.

A prioris, plusieurs solutions s'offrent à moi :
- Des frames (beurk :roll: )
- Des tableaux (beurk aussi)
- Une belle feuille de style...

Je voudrais savoir si il existe une possibilité de mettre le code concernant le menu dans un fichier et l'inclure dans chaqu'un de mes fichiers de contenu... (j'espère avoir bien expliqué le principe)

J'y gagnerais en clarté et en maintenabilité car il n'y aurais pas de redondance de code...

Merci d'avance...

@+

Kiouk
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

Je vois plusieurs possibilités :
  • Fichier HTML dans un frame/iframe
  • Insertion d'un fichier HTML avec l'élément object
  • inclusion côté serveur (Server Side Include - SSI) ou scripting serveur (include avec PHP par exemple), ce qui te permet de n'inclure que la partie intéressante (un menu par exemple)
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Les deux premiers points proposés par Benoit sont bien sûr à éviter, tu l'auras compris :wink:

Le problème du php, c'est que tu dois trouver un serveur qui le permette :roll:
SIBELIUS
Lézard vert
Messages : 146
Inscription : 09 sept. 2003, 23:21

Message par SIBELIUS »

L'inclusion avec <object> n'est pas du tout à éviter. Elle fait même partie des recommandations W3C.
Seul hic : ça ne fonctionne pas très bien sur IE avec certains formats de fichiers :(

http://matrix.samizdat.net/serveurs/www ... ludes.html
Inclusion de HTML dans un autre document HTML
Parfois, plutôt que d'établir un lien vers un autre document, il peut être plsu judicieux d'inclure le contenu d'un document HTML dans un autre document HTML. Nous recommandons d'utiliser un élément OBJECT dont on aurait défini l'attribut data à cette fin.

Par exemple, la ligne suivant incluerait le contenu du fichier piece_to_include.html à l'endroit où est défini l'élément OBJECT.

...texte précédent...
<OBJECT data="file_to_include.html">
Erreur : file_to_include.html n'a pas pu être inclus.
</OBJECT>
...texte suivant...

Le contenu de la balise OBJECT ne devraêtre affiché que si le fichier spécifié par l'attribut data ne peut être obtenu.

La réaction d'un agent utilisateur à un document qui s'inclurait lui-même n'est pas définie.

Avertissement concernant l'inclusion d'autres fichiers. Faites attentino lors de l'inclusion d'un document HTML défini par une ancre (. Toute la fin du document qui suit l'ancre sera inclue, et il est possible de ce fait que vous récupériez des balises de fermeture "à l'insu de votre plein gré" (pour des éléments tels que BODY, HTML, etc.).
Tutoriels et blog (X)HTML / CSS : css.alsacreations.com
Forum Standards / CSS : forum.alsacreations.com
Kiouk
Arias
Messages : 3
Inscription : 17 nov. 2003, 18:03

Message par Kiouk »

Merci beaucoup SIBELIUS c'est exactement ce que je voulais. Par contre je n'arrive pas à le mettre en oeuvre.

J'ai un fichier text.html

Code : Tout sélectionner

<html>
	<body>
		Titre du site

		<OBJECT data="menu.txt" type="text/plain">
			Erreur : menu.txt n'a pas pu être inclus.
		</OBJECT > 
		


		Fin du site


	</body>
</html>
et un fichier menu.txt

Code : Tout sélectionner

Voici un joli menu qui est inclus <br />


Coucou <br />
Mon problème est que le fichier est inclu bizarement sur firefox (en fait il est plus haut que le reste. Et qu'il n'est tout simplement pas inclus sur iexplorer.

Merci d'avance pour vos réponces...


@+

Kiouk
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

type="text/plain""Ça devrait pas être text/html ? Sinon il risque de t'afficher ton code non interprété...

Pour les hauteurs/largeurs il faut les définir (via css ou attributs height/width - moins bien -)
Si tu as lu le message de SIBELIUS, il dit que ie gère mal cette inclusion...
Bibilefou
Salamandre
Messages : 46
Inscription : 20 sept. 2003, 14:34

Message par Bibilefou »

calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Les SSI se font du côté du serveur, comme le disait Benoît et du coup plus de problèmes avec le navigateur, la page est envoyée nickel. Par contre tu perds l'avantage de la légereté puisque le code est envoyé à chaque fois. Pas trop grave si c'est un menu qui tient en 5 lignes :wink:
Mais il faut que ton serveur accepte ce genre de choses (ce qui n'est pas le cas de tous). Si c'est le cas, pour inclure ton menu avec PhP, tu écrit simplement

Code : Tout sélectionner

<?php include("menu.txt"); ?>
Totalement transparent pour l'utilisateur :D
Dams978

Re: Sortes d'"include" en XHTML

Message par Dams978 »

C'est un peu tard pour répondre, mais il faut préciser la taille pour que IE 8 affiche quelque chose

Code : Tout sélectionner

<object data="part.html" type="text/html" width="300" height="200"> ...</object>
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Semrush [Bot] et 15 invités