5568 sujets

Sémantique web et HTML

Pages :
salut tout le monde,

Alors voilà,
Depuis que je connais ce forum j'ai appris beaucoup de chose déjà et aussi vous m'avez donner envi, même que je suis encore débutant, à apprendre à mieux connaître les standards, les css et le xhtml.. J'ai donc suivi un peu les tutoriels de raphael (très bien d'ailleurs Smiley murf ) et puis j'ai éssayé de m'en inspiré pour concevoir un site (vous noterez le pas beau design Smiley lol ) qui respecte tout cela.
Voici deux liens de mon essai un en html qui marche et l'autre en xhtml qui ne marche pas bien:
- lien html
- lien xhtml

Et comme vous pouvez le constater tout n'est ou ne doit pas être parfait. Alors voilà mes questions aussi nombreuses soit elle :

- Quel doctype utiliser ?
- Quel charset utiliser ?
- Y'a t'il des erreurs au niveau du respect du code ?
- Y'a t'il des choses à améliorer ? (oui toujours bien sure mais quoi)

subsidiaire:
- Pourquoi un lien xhtml préfère t il s'ouvrir avec firefox ?
- Ai je oublié une question ? (vous aurez peut être la réponse Smiley biggrin )
- Ai je posté dans la bonne rubrique ?

PS: Merci d'avance et sachez que toutes ces questions se conjuguent au "verbe": s'il vous plait..
Si je pose ces questions c'est pas pour être lourd ou quoi mais vraiment parce que j'ai envi de progresser encore et d'être sure d'aller dans la bonne direction..
Modifié le 18 Jan 2005 - 20:53
Salut,

Tout en débutant, le résultat est déjà très bien et il est toujours bon de faire un point sur ce que l'on a assimilé. Voici mes 2 cts.

deglingue a écrit :
Voici deux liens de mon essai un en html qui marche et l'autre en xhtml qui ne marche pas bien:
- lien html
- lien xhtml

Tu essayes de faire passer du html pour xhtml et Firefox n'est pas dupe Smiley cligne .

a écrit :
- Quel doctype utiliser ?
- Quel charset utiliser ?
- Y'a t'il des erreurs au niveau du respect du code ?
- Y'a t'il des choses à améliorer ? (oui toujours bien sure mais quoi)


-Si la lecture ne te rebute pas Smiley cligne :
Pour le doctype à choisir je te conseille ces quelques liens regroupés dans mes signets: http://del.icio.us/Igor/dtd

-Toujours sur ce sujet tu as choisi un doctype html, mais tu codes avec la rigueur et les règles utilisées pour xhtml, il va falloir opéré un choix, les liens que je te donnes ci-dessus devrait éclaicir tout cela.

-Ton charset est bien comme cela.

-Tu pourrais à mon avis t'épargner quelques divs inutiles, en particulier les deux vides que j'aperçois, un billet amusant de Raphaël à ce sujet: Maladies exotiques des CSS.
Pour le code tu utilises des h3, h1, h2, c'est bien... mais pas dans cet ordre, il convient d'éviter de "sauter" un niveau de titre. Tu as mis beaucoup de class, qui sont utilisées pour des éléments uniques, tu pourrais aisément les remplacer par des id plus appropriés, c'est expliqué dans le tuto de Raphaël: Quelle est la différence entre une classe et un id ? et XHTML : trop de <div> tue les <div> !


a écrit :

- Ai je posté dans la bonne rubrique ?

Oui et non, donc à mon avis je vais le déplacer dans html,xhtml, avant que peut-être un autre modo ne le déplace ailleurs. Smiley lol
Modifié le 17 Jan 2005 - 19:32
Merci Igor pour toutes ces infos:

Dans tous les cas si je veux progresser, il faudra bien que je lise tout ca Smiley smile . Merci en tout cas de ta réponse (tes réponses).. je n'ai bien sure pas pris encore le temps de les lire mais je le ferai c'est sure..

Si d'autres comme Igor ont une suggestion je suis à l'écoute..

Encore merci
Sous firefox, on a un problème d'exécution de syntaxe XML, il s'attend à du XML (*.xhtml), mais reçoit un fichier non valide. Il te manque le
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/2000/REC-xhtml1-20000126/DTD/xhtml1-strict.dtd">
(je t'ai mis le doctype xHtml, qui correspondrait à l'extension que tu as donnée à ce fichier.)

Comme ça, ça fonctionne.

@+, HoPHP
Modifié le 17 Jan 2005 - 21:14
En faite je suis entrain de me rendre compte d'une chose mais dites moi si j'ai tort :

un fichier *.xhtml ca n'existe pas en faite.. on lui assigne .htm ou .html en extension et c'est le doctype spécifié en haut du document qui donne le langage utilisé..

autre chose: en passant dans les validateurs W3C, j'ai vu qu'il parler des police générique ou un truc dans le genre.. Y'a t il des choses à éviter là aussi ?

HoPHP me conseil de placer
<?xml version="1.0" encoding="iso-8859-1"?>
avant le doctype, pourtant ce n'est jamais recommandé ou je suis passer à côté.. Quel en est l'utilité ?

J'ai commencé la lecture Igor ca a l'air bien intéressant !



Smiley boulet
Modifié le 18 Jan 2005 - 19:29
Effectivement, un fichier *.xhtml qui dirait de cette manière "je suis en XHTML", ça n'existe pas. Mais pas tout à fait pour cette raison.

L'un des principes de base à propos des URI (disons concrètement les URL, pour simplifier), c'est qu'aucun navigateur (ou autre outil) ne peut valablement déduire la nature de la ressource à partir de la forme de l'URI, et donc de l'extension.

En d'autres termes :
- une page Web *.html peut être en XHTML ou non. Elle peut être aussi du texte brut, un PDF, une image PNG, des brocolis ou autre chose. L'extension n'est pas un indice valable, même si de mauvais navigateurs l'exploitent parfois en ce sens (Au passage, Opera a le très mauvais goût de le faire par défaut, mais le bon goût de permettre de le désactiver dans les préférences).
- inversement, une page Web *.php, *.asp... ou même *.brocolis, peut très bien être du XHTML tout à fait sain de corps et d'esprit. C'est plus fréquent pour les pages PHP et ASP que pour les brocolis, d'accord.

Alors, qu'est-ce qui fait qu'une page est en XHTML ? Son DocType ?

Pas vraiment. C'est nécessaire pour qu'elle le soit, mais ce n'est pas suffisant, ni décisif.

La plupart, pour ne pas dire la quasi-totalité des pages dont la syntaxe est conforme à XHTML1.0, avec le doctype qu'il faut... sont en réalité du HTML mal foutu. Celle de ce forum, par exemple.

(Je dis mal foutu, mais sans que ce soit péjoratif : le XHTML servi en tant que HTML est du HTML mal foutu, c'est un fait, pas un tort)

En effet, ce qui distingue XHTML et HTML, ce n'est ni l'extension, ni le doctype : c'est le type de contenu, une métadonnée exprimée en HTTP (et exprimable aussi dans le code source de la page, mais elle n'est pas exploitée sous cette forme actuellement) par l'en-tête "Content-type".
- content type text/html: c'est du HTML, même avec la syntaxe XHTML et le doctype
- content type application/xhtml+xml : c'est du XHTML. Enfin, si la syntaxe et le doctype sont conformes.
- content-type brocolis : là, c'est pour de vrai des brocolis.

Voir http://www.w3.org/TR/webarch/
Tiens... Une page brocolis, pour voir un peu ce que ça donne :
http://test.blog-and-blues.org/brocolis/test.brocolis

(A éviter dans IE qui vous proposera probablement de la télécharger. Ce navigateur n'a aucun humour.)

<edit>IE propose le téléchargement parce que j'ai eu la flemme de faire de la négociation de contenu pour lui servir du text/html, seul chose qu'il comprend à peu près, et qu'on fait usuellement en XHTML servi en tant que tel.</edit>
Modifié le 18 Jan 2005 - 22:15
Laurent, tu es sérieusement dérangé Smiley biggol

Pourquoi les pages PHP doivent obligatoirement porter l'extension PHP alors ? c'est pas très logique dans la globalité ça Smiley confus
le
<?php ?> devrait suffit avec une extension *.marmotte (j'aime pas les légumes verts) mais non... alors pourquoi pas plus de cohérence entre les choses ? (enfin, on pourait dire via htaccess que *.marmotte est du PHP mais IE comme tu dis, n'est pas très comique, et je pense qu'il proposerait le téléchargement aussi.)
Merci pour cette réponse au sujet des *.brocoli et *.marmotte je prendrai le temps de lire le lien au calme..

Il me reste donc à savoir à quoi sert ce
<?xml version="1.0" encoding="iso-8859-1"?>


et cette histoire de police générique dans les validateurs W3C..

Encore Merci pour toutes ces réponses, brocoli ou pas Smiley lol

PS : je rajoute la page test.brocoli dans mes favoris !!!
Modifié le 18 Jan 2005 - 20:39
Bon, je vais pas m'amuser à vous faire un ficher test.marmotte qui soit interprété comme du php. Le principe serait identique. <edit>Mais sans conséquence sur aucun navigateur, car le problème ne se pose plus que pour le serveur</edit>

Contrairement à une idée reçue bien ancrée, les extensions ne signifient rien, Olivier. Même pas une petite cohérence rassurante.

Tiens, tu n'as jamais fait une feuille de style dynamique côé serveur en PHP ? Un style.php ? Qu'est-ce qui en fait une CSS ? Son content type text/css, c'est toi-même qui l'écrivais sur ce forum il y a quelques jours, dans je ne sais plus quel fil Smiley cligne

IE a fondamentalement tort en matière de content type (et microsoft le dit explicitement). Et c'est l'une des seules vraies raisons pour lesquels ce navigateur pose un problème en matière de standards. Le reste (le support css, etc), n'a en fait aucune importance.
Modifié le 18 Jan 2005 - 21:01
deglingue a écrit :
Merci pour cette réponse au sujet des *.brocoli et *.marmotte je prendrai le temps de lire le lien au calme..

Il me reste donc à savoir à quoi sert ce
<?xml version="1.0" encoding="iso-8859-1"?>




A préciser l'encodage des caractères pour un "vrai" document XHTML (application/xhtml+xml) lorsque ce n'est pas de l'utf-8

deglingue a écrit :

et cette histoire de police générique dans les validateurs W3C..


à permettre au moteur CSS du navigateur d'utiliser une police de substitution générique (sherif, monospace, etc) quand il ne trouve aucune correspondance satisfaisante entre les polices de caractères indiquées dans ta feuille de style (Arial, Verdana...) et celles présentes sur l'ordinateur de ton visiteur (qui n'a que Brocolis New, par exemple Smiley lol )
Laurent, je parlais pour le *.php pour le PHP et non pour du html ou du css comme j'en avais parlé en effet.

Je veux dire que faire du php dans un fichier *.html ça marchera pas (sauf erreur, j'ai pas testé à vrai dire), et là un content-type: php n'a aucun sens puisqu'en fait c'est du html avec du php dedans.

truc.html

<?php
header("Content-Type: text/html; charset=iso-8859-15") ;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
	<head>
		<title>test</title>

		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
		<meta http-equiv="Content-Script-Type" content="text/javascript" />
		<meta http-equiv="Content-Style-Type" content="text/css" />
		<meta http-equiv="Content-Language" content="fr" />

		<style type="text/css" media="screen">
		@import url(style.css) ;
		</style>
	</head>

	<body>
	<h1>Test d'utilisation du PHP dans une page *.html</h1>

	<p>Je fait un echo <?php echo "test echo" ; ?> grâce à PHP</p>
	</body>
</html>


Ceci renverra :
a écrit :

Test d'utilisation du PHP dans une page *.html

Je fait un echo grâce à PHP


Avec l'extension *.php tout redevient "normal". J'ai pas testé avec htaccess je ne sais tout simplement pas faire, enfin google suffirait à apprendre, mais la flemme.

Donc ma question, pourquoi c'est pas cohérent, ici l'extension joue son rôle Smiley confus
LOL ! (=> brocoli new, pose un copyright sérieux)
ca m'éclate, tu dois trop en manger ou alors t'es barge !

je vais placer un [Résolu] car tout est déjà plus clair puis j'irai faire un peu de recherche de doc sur tout ce que vous m'avez encore expliqué..

C'est encore un peu flou mais ca s'éclairci et au moins je sais dans quelle direction chercher.. Merci merci et merci.. à tous Smiley ravi
Bon avec le .htaccess tout est résolu, mon *.html est considéré comme un .php

Je vais tester avec *.marmotte

google m'a dit comment faire

AddType application/x-httpd-php .php .html
Pour le *.marmotte, c'est étonnant, (je trouve), IE a plus d'humour que firefox sur ce coup là. Opera aussi.
le même code HTML
je met l'extension *.marmotte je change mon htaccess en
AddType application/x-httpd-php .php .marmotte

Mais firefox m'affiche la source alors qu'opera et IE affiche le code html interprété et le code php interpreté.

A vrai dire sans htaccess ça fait pareil Smiley sweatdrop

Comprend pas...
deglingue a écrit :
LOL ! (=> brocoli new, pose un copyright sérieux)
ca m'éclate, tu dois trop en manger ou alors t'es barge !


J'ai horreur de ces machins verdâtres, soit-disant comestibles, en fait.

Faut bien en faire quelque-chose, du coup. Alors, je cherche Smiley cligne

Oliver, convaincu maintenant ?
Bah, pour le php en .marmotte:

http://test.blog-and-blues.org/brocolis/test.marmotte

(Qui contient en tout et pour tout:

<?php  
$accept_xml =
  	!empty($_SERVER['HTTP_ACCEPT']) &&
  	strpos($_SERVER['HTTP_ACCEPT'],'application/xhtml+xml') !== false;
if ($accept_xml) {
  header('Content-Type: application/xhtml+xml; charset=ISO-8859-1');
	echo '<?xml version="1.0" encoding="ISO-8859-1"?>'."\n";
	echo '<?xml-stylesheet type="text/css" href="style.truc" ?>'."\n";	
}
else {
	header('Content-Type: text/html; charset=ISO-8859-1');
}
 ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<?php if ($accept_xml) { ?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
  <head>
		<link rel="schema.DC" href="http://purl.org/DC/elements/1.0/" />
  	<meta name="DC.Format" content="application/xhtml+xml; charset=ISO-8859-1" />
<?php }
else { ?>
  <html lang="fr">
  <head>
		<link rel="schema.DC" href="http://purl.org/DC/elements/1.0/" />
  	<meta name="DC.Format" content="text/html; charset=ISO-8859-1" />
  	<style type="text/css" media="screen" title="defaut">@import url(style.truc);</style>
<?php } ?>
		<title>Test HTTP_ACCEPT via PHP en .marmotte</title>
  </head>
	<body>
		<h1>Test <code>HTTP_ACCEPT</code> via <abbr>PHP</abbr> en <var>.marmotte</var></h1>
		<p>Type mime détecté: <?php echo $_SERVER['HTTP_ACCEPT']; ?></p>
		<p>Identification  HTTP:  <?php echo $_SERVER['HTTP_USER_AGENT']; ?></p>
	</body>
</html>


Smiley ravi

(Changé deux-trois fois le contenu du PHP pour avoir un truc un peu plus probant qu'un echo"hello world", tant qu'à faire)
Modifié le 18 Jan 2005 - 22:26
En fait, pour le PHP, le problème est différent.

Quand on toque à la porte d'un serveur, il détecte le "type" du fichier demandé. Il y a deux "types" différents:
. les fichiers exécutables
. les fichiers statiques

En fonction de la manière dont Apache (pour les serveurs UNIX, pas Windows) est configuré (un .htaccess est là pour modifier cette configuration pour un dossier spécifique), il exécute d'abord un fichier, ou pas.
Un
Olivier a écrit :
AddType application/x-httpd-php .php .marmotte
définit les fichiers d'extension .php et .marmotte comme fichiers exécutables par le module PHP. Dans la configuration standard d'Apache, les fichiers .htm et .html ne sont pas exécutés et renvoyés tels quels.

Ceci dit, je ne comprends pas ton dernier message. C'est hautement improbable que Firefox et IE guident différemment le serveur dans son fonctionnement (exécution ou non).

En espérant avoir aidé,

@+, HoPHP
AddHandler  application/x-httpd-php5 .marmotte


(Ne me demandez pas le pourquoi du comment, ni si c'est le plus approprié : je suis honnêtement à la limite de mes compétences, là. J'suis plutôt sioux qu'apache, moi Smiley cligne )
Modifié le 18 Jan 2005 - 22:04
Pages :