XHTML ou HTML4 ?

JulesB

Membre actif
24 Août 2005
151
5
46
Marseille
Bonjour ! :cool:
Mon site étant une vraie charrue au niveau du code, j'ai entrepris de l'optimiser pour le rendre conforme au w3c... :heu:
Seulement voilà, je suis tombé sur ça... :eek:

Et maintenant, je ne sais plus quoi faire ! :hein:
Optimiser pour HTML4 ou XHTML ? Que me conseillez-vous sachant que je ne suis pas professionnel et que je ne m'attaquerai sans doute pas au XML ? :siffle:
 
JulesB a dit:
Bonjour ! :cool:
Mon site étant une vraie charrue au niveau du code, j'ai entrepris de l'optimiser pour le rendre conforme au w3c... :heu:
Seulement voilà, je suis tombé sur ça... :eek:

Et maintenant, je ne sais plus quoi faire ! :hein:
Optimiser pour HTML4 ou XHTML ? Que me conseillez-vous sachant que je ne suis pas professionnel et que je ne m'attaquerai sans doute pas au XML ? :siffle:

Xhtml avec un doctype "transitionel" me parait être le choix le plus raisonné...
 
L'article date de 2002, et donc il n'est plus du tout d'actualité.
Et puis, ce qu'il dit me pose un problème. Mème si ces arguments sont fondés, il propose de rester à la norme 4.01 parce que les navigateurs ne sont (n'étaient) pas encore prêt à afficher du XHTML. Mais si tout le monde restait à HTML 4.01, aucun navigateur ne ferait l'effort de moderniser leur moteur de rendu...

Bref, écoute pas cet article, et passe à XHTML 1.0 Transitional ou même Strict si tu le peux ;)
 
Dans la version anglaise, il est spécifiée que des mises-à-jour ont été effectuées jusqu’en 2004. Mais il me semblait que le xhtml 1.0 ne posait pas trop de problèmes. Il n’en va pas de même pour le xhtml 1.1 qui doit absolument être déclaré en tant que document xml.

je garde ça sous le coude et vais le lire plus lentement ;)
 
Je n'aime que le xhtml 1.0 :)

Propre, efficace et bien lisible.
Et ça marche sur Mac, windows, .... Presque partout.

Le problème, c'est qu'il faut être très propre. Sinon ça ne vaut pas le coup.
 
ayé validé XHTML 1.0 transitionnal :)
J'ai essayé XHTML strict mais il me renvoie plein d'erreurs que je ne comprend pas, notemment sur les balises <center> ou <u> "undefined",comme sur cette page... :confused:

Sinon le validateur de CSS me dit entre autres que "transparent" n'est pas une valeur de color...
comment je fais pour avoir un fond transparent alors ? :(
 
oulà
1_ le but d'avoir un page xhtml étant de séparer le fond de la forme il n'y a plus de balises <u>, <i> ou <b>
pour remplacer <i> et <b> il est conseillé d'utiliser <em> et <strong> qui, par défaut, formattent le texte comme le faisaient <i> et <b>

pour <u>, il faut aller spécifier dans le style un "text-decoration" de type "underline"

2_ concernant les styles, &#8220;color&#8221; sert à définir ma couleur du texte et non pas du fond (pour cela il faut utliser &#8220;background-color&#8221; ou background qui eux reconnaissent la valeur &#8220;transparent&#8221;
 
Attention, si les balises <U> <Font> sont bien HS, ce n'est pas exactement le cas des <b> et <i>. Même s'il est effectivement préférable d'utiliser les <strong> <em>.

Il y a un article ICI
 
molgow a dit:
L'article date de 2002, et donc il n'est plus du tout d'actualité.
Et puis, ce qu'il dit me pose un problème. Mème si ces arguments sont fondés, il propose de rester à la norme 4.01 parce que les navigateurs ne sont (n'étaient) pas encore prêt à afficher du XHTML. Mais si tout le monde restait à HTML 4.01, aucun navigateur ne ferait l'effort de moderniser leur moteur de rendu...

Bref, écoute pas cet article, et passe à XHTML 1.0 Transitional ou même Strict si tu le peux
Attention, ce n'est pas parce que XHTML est plus récent que HTML4 que ce dernier est obsolète.
L'important, ce n'est pas d'utiliser absolument la dernière technologie en date, mais plutôt la technologie adaptée au but recherché. Et si on suit ce raisonnement, selon ce qu'on veut faire, on pourra parfois juger en toute légitimité que HTML4 est plus adapté que XHTML, et parfois l'inverse.

En définitive, c'est le respect de la norme qui incombe, que cette norme soit du HTML4 (ou du 3.2 ou du 2) ou du XHTML (strict, transitional, 1.0 ou 1.1).
Car en respectant la norme, on s'assure que le navigateur "comprendra" en quelle langue on lui parle (voir à ce sujet l'excellent article Toi comprendre moi).

D'ailleurs, pour reprendre l'article de Alsacreations donné plus haut, même si vous mettez un doctype XHTML au début de votre fichier, les navigateurs l'interpréteront comme du simple HTML si vous n'envoyez pas le fichier avec l'entête "Content-type: application/xml+xhtml". Comme ça m'étonnerait que votre serveur soit configuré pour envoyer cette entête (surtout que IE ne la comprend pas), en fait les navigateurs voient votre beau XHTML comme du HTML4 (le vieux truc dont vous ne voulez plus :-) )

A partir de là, comme quasiment aucun serveur ou aucune application web n'est configuré pour gérer correctement le type mime "application/xml+xhtml", on en déduit qu'aujourd'hui la quasi-totalité de web est encore en HTML (même s'il y a tout plein de pages qui se disent XHTML).

Maintenant, il est vrai que XHTML dans sa version Strict a été conçu pour encourager le concepteur a respecter une syntaxe logique (qui évite par exemple une mauvaise imbrication des éléments) et à séparer le contenu de la présentation. Autant de points qui tendent à améliorer la qualité d'un site web (maintenance plus aisée, meilleure accessibilité, etc.)

Je n'aime que le xhtml 1.0

Propre, efficace et bien lisible.
Et ça marche sur Mac, windows, .... Presque partout.
HTML4 marche très bien aussi sur mac et windows, tout aussi bien que XHTML. Un document uniquement composé de HTML ou XHTML (c'est-à-dire sans CSS) est très bien compris par tous les navigateurs.

Les soucis arrivent quand on veut donner une présentation graphique à notre document HTML ou XHTML en utilisant CSS. Parce que c'est le support de CSS qui est très disparate entre IE d'un côté et les navigateurs respectueux des standards de l'autre.
 
Nephou a dit:
oulà
1_ le but d'avoir un page xhtml étant de séparer le fond de la forme il n'y a plus de balises <u>, <i> ou <b>
pour remplacer <i> et <b> il est conseillé d'utiliser <em> et <strong> qui, par défaut, formattent le texte comme le faisaient <i> et <b>

pour <u>, il faut aller spécifier dans le style un "text-decoration" de type "underline"

2_ concernant les styles, “color” sert à définir ma couleur du texte et non pas du fond (pour cela il faut utliser “background-color” ou background qui eux reconnaissent la valeur “transparent”

OK c'est valide XHTML 1.0 strict :zen:

mais les css, c'est le bordel !
j'utilise pour les images la propriété "border" avec color:transparent mais le validateur me dit que ce n'est pas une valeur de color :confused: >cf. ici<
 
:heu:
tu as lu ce que j'ai écrit ?
moi même a dit:
&#8220;color&#8221; sert à définir ma couleur du texte

donc:
&#8212; color permet de définir la couleur du texte (qui ne peut pas être transparent)
&#8212;
border-color permet de définir la couleur de la bordure (qui peut être transparente)
&#8212; background-color permet de définir la couleur du fond (
qui peut être transparent)