5568 sujets

Sémantique web et HTML

Bonjour, je suis en train de développer un site web perso que j'essaye de coder en xhtml strict sauf que j'avais oublié d'appeller la DTD dans mes pages...
bref une fois que je m'en rend compte je met ça en haut de ma page, mais juste après le <?session_start();?> (car ce site est codé en php coté serveur)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
et là...je me retrouve avec un bronx total, des divs dans tous les sens plus rien d'agencer etc...
j'ai cherché, j'ai déplacé mes balises rajouté des DTD plus completes avec <?xml... mais rien n'y fait donc je me tourne vers ce forum.
voici le code génégé par ma page :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
	<head>
		<link href="style.css" rel="stylesheet" type="text/css" />
<meta name="keywords" lang="fr" content="blabla" />
<meta name="description" content="blabla" />
<meta name="author" content="blabla" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="fr" />
<meta name="googlebot" content="archive" />
<script src="fonctions.inc.js" type="text/javascript"></script>
<script type="text/javascript">
	<!--
	window.onload=montre;
	
	//-->
</script>
		<title>Menu</title>
	</head>
<body>
	<div id="header">
		<img class="img_logo"src="./images/muc.jpg" alt="BTS Mnagement des Unités Commerciales" />
		<h1 class="txt_logo"> Gestion des stages des BTS MUC d'Orange</h1>
		<hr />
	</div>	
	<div id="contenu">
		Contenu de la page<br />
		blablabla blablabla  blablabla<br />
	</div>
	<div id="menu">
	<dl id="menu2">
<dt onclick="javascript:montre();"><a href="./index.php" title="Acceuil">Acceuil</a></dt>
<dt onclick="javascript:montre('smenu2');">Ajouter une fiche</dt>
     <dd id="smenu2">
				<ul>
					<li><a href="./ajout_eleve.php" title="Ajouter un élève">Ajouter un élève</a></li>
					<li><a href="./ajout_entre.php" title="Ajouter une entreprise">Ajouter une entreprise</a></li>
					<li><a href="./ajout_tuteur.php" title="Ajouter un tuteur">Ajouter un tuteur</a></li>
					<li><a href="./ajout_prof.php" title="Ajouter un prof">Ajouter un prof</a></li>
					<li><a href="./ajout_stage.php" title="Ajouter un stage">Ajouter un stage</a></li>
				</ul>
			</dd>	
		<dt onclick="javascript:montre('smenu3');">Consulter une fiche</dt>
			<dd id="smenu3">
				<ul>
					<li><a href="./chx_consult_eleve">Consulter un élève</a></li>
					<li><a href="#">Sous-Menu 3.1</a></li>

					<li><a href="#">Sous-Menu 3.1</a></li>
					<li><a href="#">Sous-Menu 3.1</a></li>
					<li><a href="#">Sous-Menu 3.1</a></li>

					<li><a href="#">Sous-Menu 3.1</a></li>
				</ul>
			</dd>
		<dt onclick="javascript:montre('smenu4');">Menu 4</dt>

			<dd id="smenu4">
				<ul>
					<li><a href="#">Sous-Menu 4.1</a></li>

					<li><a href="#">Sous-Menu 4.1</a></li>
				</ul>
			</dd>	
</dl>
	</div>	
	<div id="footer">
		footer
	</div>
</body>
</html>

---à noter ces carractères "" en début de page que je sais pas d'où ils sortent.
et voila le code source de mes trois fichiers:
----menu.php--------

<?php session_start();
require_once("stay_connect.php");?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="fr" xml:lang="fr">
	<head>
		<? require_once("head.html");?>
		<title>Menu</title>
	</head>
<body>
	<div id="header">
		<img class="img_logo"src="./images/muc.jpg" alt="BTS Mnagement des Unités Commerciales" />
		<h1 class="txt_logo"> Gestion des stages des BTS MUC d'Orange</h1>
		<hr />
	</div>		
	<div id="contenu">
		Contenu de la page<br />
		blablabla blablabla  blablabla<br />
	</div>	
	<div id="menu">
		<? require_once("liens.php"); ?>
	</div>	
	<div id="footer">
		footer
	</div>
</body>
</html>


---head.html---
<link href="style.css" rel="stylesheet" type="text/css" />
<meta name="keywords" lang="fr" content="blabla" />
<meta name="description" content="blabla" />
<meta name="author" content="blabbla" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta http-equiv="Content-Language" content="fr" />
<meta name="googlebot" content="archive" />
<script src="fonctions.inc.js" type="text/javascript"></script>
<script type="text/javascript">
	<!--
	window.onload=montre;	
	//-->
</script>
---liens.php---
<dl id="menu2">
		<dt onclick="javascript:montre();"><a href="./index.php" title="Acceuil">Acceuil</a></dt>			
		<dt onclick="javascript:montre('smenu2');">Ajouter une fiche</dt>
			<dd id="smenu2">
				<ul>
					<li><a href="./ajout_eleve.php" title="Ajouter un élève">Ajouter un élève</a></li>
					<li><a href="./ajout_entre.php" title="Ajouter une entreprise">Ajouter une entreprise</a></li>
					<li><a href="./ajout_tuteur.php" title="Ajouter un tuteur">Ajouter un tuteur</a></li>
					<li><a href="./ajout_prof.php" title="Ajouter un prof">Ajouter un prof</a></li>
					<li><a href="./ajout_stage.php" title="Ajouter un stage">Ajouter un stage</a></li>
				</ul>
			</dd>	
		<dt onclick="javascript:montre('smenu3');">Consulter une fiche</dt>

			<dd id="smenu3">
				<ul>
					<li><a href="./chx_consult_eleve">Consulter un élève</a></li>
					<li><a href="#">Sous-Menu 3.1</a></li>

					<li><a href="#">Sous-Menu 3.1</a></li>
					<li><a href="#">Sous-Menu 3.1</a></li>
					<li><a href="#">Sous-Menu 3.1</a></li>

					<li><a href="#">Sous-Menu 3.1</a></li>
				</ul>
			</dd>
		<dt onclick="javascript:montre('smenu4');">Menu 4</dt>
			<dd id="smenu4">
				<ul>
					<li><a href="#">Sous-Menu 4.1</a></li>
					<li><a href="#">Sous-Menu 4.1</a></li>

				</ul>
			</dd>
	
</dl>


voilà si vous avez une idée pour arriver à mettre cette dtd sans tout foutre en l'air ça m'arrangerait beaucoup!

Merci
Modifié par simsaull (30 Aug 2007 - 12:18)
Arf, il faut toujours penser à la DTD lorsqu'on commence un site, pour éviter d'avoir à tout refaire par la suite.

Mettre une DTD change l'interprétation que font les navigateurs de ta page, tu es passé du mode Quirks au mode Standards. Il y a la permissivité du parser et les valeurs par défaut qui changent par exemple.
Modifié par JyuniX (29 Aug 2007 - 21:02)
Administrateur
Bonjour et bienvenue, Smiley smile

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

Pour ce qui est des caratères bizarres, regarde du côté de BOM et UTF-8 ou bien de l'encodage de tes pages vs ce que fait ton éditeur (2 items dans la FAQ pour ce dernier point). Smiley cligne

Bonne continuation Smiley smile

upload/1-code.gif
Modifié par Felipe (29 Aug 2007 - 21:19)
Ok. Pourtant j'ai codé en suivant bien les règles, j'ai écumé openweb, alsacréation et w3school pour faire les choses (je pensais) comme il le faut.et bien dis moi si dans mon code tu vois qqch qui n'est pas accepté en xhtml stp.
merci
Modifié par simsaull (29 Aug 2007 - 22:02)
a écrit :
dis moi si dans mon code tu vois qqch qui n'est pas accepté en xhtml stp.
... Une foultitude de petites choses, des <p> qui enserrent des <h>, des <br> pas autofermées, le bizarre "" à supprimer, etc.
Plus des <? sans "php" derrière (rien à voir avec ton prob mais bon, tant qu'à faire...)
D'autre part utiliser des balises de définition pour introduire des événements javascript n'est pas à proprement parler se lancer dans un codage strict...
Y'a encore un peu de boulot Smiley cligne
Smiley fache je m'en veux je savais très bien qu'un <br /> se ferme tjrs, par contre je savais pas qu'un <p> ne pouvait pas contenir de balises bloc, merci.
bon j'ai édité mon code en fonction de ça mais toujours le même résultat. par contre tu peux m'en dire plus sur la déclaration et l'appel de JS pacque je ne savais pas vraiment comment faire.

merci a ts
simsaull a écrit :
par contre je savais pas qu'un <p> ne pouvait pas contenir de balises bloc, merci.

Un paragraphe, c'est à priori une unité, un bloc unique. Donc il est plutôt logique que ça ne puisse pas contenir d'autre éléments de type bloc.
Par ailleurs, un titre hN est un paragraphe qui, en plus, dit «je suis un titre de niveau N».

Pour le reste:
- Les  en début de page viennent du fait que l'un ou l'autre de tes fichiers est encodé en UTF-8 avec BOM (Byte-Order Mark). Les trois caractères en question sont le BOM, qui est affiché tel quel au lien d'être interprété par le navigateur. Il faut donc enregistrer systématiquement en UTF-8 sans BOM.
- Sauf erreur de ma part, si tu as travaillé avec un Doctype tronqué (et donc invalide), tu as travaillé ta mise en page en mode Quirks, exactement de la même façon que si tu n'avais pas mis de Doctype. Et en passant du mode Quirks (Doctype erroné) ou mode Standard (Doctype valide), forcément, ça mets un peu le bazar.

Bref, il va falloir que tu corriges ta mise en page (en restant en mode Standard). Bon courage. Smiley smile