cerhu > comp.divers.* > comp.infosystemes.www.auteurs

mpg (22/08/2008, 17h19)
Bonjour,

Quelle est actuellement la façon recommandée de servir des documents en
xhtml 1.0 (strict) pour être compatible (si possible) à la fois avec les
standards et les navigateurs existants ? Les deux questions que je me pose
sont :
- type mime : html ou xml ?
- prologue xml : présent ou pas ?

Je me souviens que la dernière fois que j'avais lu des trucs à ce sujet, les
avis semblaient partagés quand à la première question, et que la réponse à
la deuxième était négative : si n'importe quoi (y compris donc un prologue
xml) précédait la déclaration de type de document, IE 6 basculait en mode
quirks et c'était la catastrophe pour le placement en CSS.

Je ne sais pas si la situation a changé (IE6 est-il encore assez présent
pour devoir être pris en compte ?)

Merci d'avance pour vos avis et conseils sur la question.

Manuel.
CrazyCat (22/08/2008, 17h28)
mpg wrote:
> - type mime : html ou xml ?
> - prologue xml : présent ou pas ?


Pour ma part, je te répondrais d'utiliser exactement ce qui est indiqué
par w3.org:

<!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" xml:lang="fr" lang="fr">

Le prologue xml est (d'après w3.org) essentiellement à utiliser lorsque
les pages ne sont ni en UTF-8 ni en UTF-16 et qu'aucun encodage ne peut
être déterminé.
Patrick Mevzek (22/08/2008, 17h35)
Le Fri, 22 Aug 2008 17:19:28 +0200, mpg a écrit:
> Quelle est actuellement la façon recommandée de servir des documents en
> xhtml 1.0 (strict) pour être compatible (si possible) à la fois avec les
> standards et les navigateurs existants ?


Ce sont deux contraintes un peu antagonistes, tous les navigateurs
existants (en particulier celui majoritaire) ne respectant pas les
standards. Donc il faut « bidouiller » selon où l'on place le curseur.

> Les deux questions que je me
> pose sont :
> - type mime : html ou xml ?


Le XHTML en text/html c'est mal mais c'est « nécessaire » pour IE.
Donc ma bidouille à moi c'est application/xml+xhtml pour les navigateurs
qui le déclarent proprement dans le Accept: (en ne tenant pas compte de
*/*) et text/html pour les autres.

> - prologue xml : présent ou pas ?


Standard : oui
Navigateurs : comme vous le dites avec IE mieux vaut pas.

Mais là c'est plus embêtant : difficile de changer cela au moment de
l'échange.
mpg (22/08/2008, 18h02)
Le (on) vendredi 22 août 2008 17:28, CrazyCat a écrit (wrote) :

> mpg wrote:
> Pour ma part, je te répondrais d'utiliser exactement ce qui est indiqué
> par w3.org:
> <!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" xml:lang="fr" lang="fr">

Ouf, c'est exactement ce que je fais actuellement. (En même temps j'avais du
copier-coller ça une fois depuis w3.org ou autre bonne source.)

> Le prologue xml est (d'après w3.org) essentiellement à utiliser lorsque
> les pages ne sont ni en UTF-8 ni en UTF-16 et qu'aucun encodage ne peut
> être déterminé.

C'est ce qu'il me semblait. Comme les pages que j'écris ou génère moi-même
sont toujours en UTF-8, je n'ai donc pas trop de scrupules à omettre le
prologue pou épargner la sensibilité d'IE.

Manuel.
mpg (22/08/2008, 18h06)
Le (on) vendredi 22 août 2008 17:35, Patrick Mevzek a écrit (wrote) :

>> Les deux questions que je me
>> pose sont :
>> - type mime : html ou xml ?

> Le XHTML en text/html c'est mal


D'ailleurs, à quel point est-mal en fait : ça peut casser quoi précisément ?

> mais c'est « nécessaire » pour IE.
> Donc ma bidouille à moi c'est application/xml+xhtml pour les navigateurs
> qui le déclarent proprement dans le Accept: (en ne tenant pas compte de
> */*) et text/html pour les autres.

Ah, ça a l'air bien ça. Est-ce abuser que te demander comment tu t'y prends
en pratique (surout si c'est sur Apache) ? Je n'ai jamais réglé de
négociation de contenu (puisque c'est de ça qu'il s'agit, si je ne me
trompe), donc je ne sais pas trop par où commencer.

Merci,
Manuel.
Pierre Goiffon (22/08/2008, 18h40)
mpg wrote:
> Quelle est actuellement la façon recommandée de servir des documents en
> xhtml 1.0 (strict) pour être compatible (si possible) à la fois avec les
> standards et les navigateurs existants ? Les deux questions que je me pose
> sont :
> - type mime : html ou xml ?
> - prologue xml : présent ou pas ?


D'abord vous demander pourquoi utiliser XHTML : sur le web aujourd'hui
cela n'apporte que des contraintes (beaucoup) et aucun avantages.

Le type Mime, XHTML 1.0 peut être servit en text/html mais ce n'est pas
le cas avec XHTML 1.1 !
MSIE ne digère que du text/html...

Le prologue XML : tout à fait, sa présence fait basculer MSIE (versions
5, 6, mais plus 7 cf
[..]) en mode de
rendu quirks.

Enfin, lire :
[..]
Pierre Goiffon (22/08/2008, 18h43)
CrazyCat wrote:
> Le prologue xml est (d'après w3.org) essentiellement à utiliser lorsque
> les pages ne sont ni en UTF-8 ni en UTF-16 et qu'aucun encodage ne peut
> être déterminé.


Je suppose que le prologue est obligatoire lorsque le XHTML est lu comme
de l'XML, non ? En cherchant (très) rapidement je n'ai pas trouvé de
confirmation de cette hypothèse...
mpg (22/08/2008, 19h30)
Le (on) vendredi 22 août 2008 18:40, Pierre Goiffon a écrit (wrote) :

> D'abord vous demander pourquoi utiliser XHTML : sur le web aujourd'hui
> cela n'apporte que des contraintes (beaucoup) et aucun avantages.

Bah, il y a essentiellement deux raisons :
- je m'y suis habitué, et je ne suis pas vraiment motivé pour changer mes
habitudes là tout de suite ;
- et l'origine du choix initiale doit être l'idée que comme c'est du XML au
fond, si un jour j'ai besoin de passer par des traitements automatisés, il
me semble qu'on trouve beaucoup plus de trucs pour l'XML que pour les
variantes de SGML.

J'admets que les arguments ne sont pas très forts.

> Le type Mime, XHTML 1.0 peut être servit en text/html


Donc ce n'est pas considéré comme "mal" ? Tant mieux, parceque c'est ce que
je fais pour le moment.

> mais ce n'est pas
> le cas avec XHTML 1.1 !
> MSIE ne digère que du text/html...

C'est bien pour ça que je n'ai jamais envisagé même une seconde de publier
de l'XHTML 1.1.

> Enfin, lire :
> [..]


Je suis assez d'accord avec tous vos arguments. En particulier, le fait que
la principale différence est entre les DTD "strict" et "transitional",
qu'on soit en HTML ou en XHTML. Et on peut aussi se forcer à quoter ses
attributs même en HTML, etc. Au fond entre de l'HTML écrit très proprement
et du XHTML il y a peu de différence (à part les tags auto-fermants, bien
sûr).

Manuel.
Patrick Mevzek (22/08/2008, 19h36)
Le Fri, 22 Aug 2008 19:30:28 +0200, mpg a écrit:
> Au fond entre de l'HTML écrit très proprement
> et du XHTML il y a peu de différence (à part les tags auto-fermants, bien
> sûr).


Il y a une énorme différence en pratique (en théorie sinon je suis
d'accord) : le poids de l'histoire.

Un webmaster qui a fait du tag soup toute sa vie en s'en rendant compte ou
pas (vive les logiciels qui génèrent du HTML pourri), ne va pas du jour au
lendemain faire du strict juste parce que...

C'est comme beaucoup d'autres choses (IPv6, DNSSEC, etc...) tant qu'il n'y
a pas de justification *commerciale* ca n'avance pas.

Au moins avec le XHTML servi proprement, si on fait n'importe quoi on a un
beau message d'erreur du validateur XML dans le navigateur, et donc on ne
*coupe pas* à faire attention et propre !

Et pour le coup avec HTML5, on fait encore un pas en arrière sur ce point...
Patrick Mevzek (22/08/2008, 19h39)
Le Fri, 22 Aug 2008 18:06:51 +0200, mpg a écrit:
>> Le XHTML en text/html c'est mal

> D'ailleurs, à quel point est-mal en fait : ça peut casser quoi précisément ?


Notamment : le navigateur utilise son parseur HTML et plus son validateur
XML, et donc cela devient laxiste.
On a donc tous les inconvénients, et plus aucun avantage.

>> mais c'est « nécessaire » pour IE. Donc ma bidouille à moi c'est
>> application/xml+xhtml pour les navigateurs qui le déclarent proprement
>> dans le Accept: (en ne tenant pas compte de */*) et text/html pour les
>> autres.

> Ah, ça a l'air bien ça. Est-ce abuser que te demander comment tu t'y
> prends en pratique (surout si c'est sur Apache) ?


mod_xhtml_neg
[..]
configuré comme ca :
XhtmlNegActive on
XhtmlNegTypes .xhtml application/xhtml+xml;charset=utf-8 application/xml;charset=utf-8;q=0.5 text/html;charset=utf-8;q=0.8 text/xml;charset=utf-8;q=0.2
XhtmlNegTypes .xhtml.gz application/xhtml+xml;charset=utf-8 application/xml;charset=utf-8;q=0.5 text/html;charset=utf-8;q=0.8 text/xml;charset=utf-8;q=0.2
XhtmlNegStarsIgnore 2

AddCharset utf-8 .xhtml
AddCharset utf-8 .css

(on peut faire autrement, cf docs)
mpg (22/08/2008, 20h17)
Le (on) vendredi 22 août 2008 19:39, Patrick Mevzek a écrit (wrote) :

> mod_xhtml_neg
> [..]


Merci ! Je vais étudier ça.

Manuel.
Olivier Masson (23/08/2008, 12h14)
Patrick Mevzek a écrit :

> mod_xhtml_neg
> [..]
> configuré comme ca :
> XhtmlNegActive on
> XhtmlNegTypes .xhtml application/xhtml+xml;charset=utf-8 application/xml;charset=utf-8;q=0.5 text/html;charset=utf-8;q=0.8 text/xml;charset=utf-8;q=0.2
> XhtmlNegTypes .xhtml.gz application/xhtml+xml;charset=utf-8 application/xml;charset=utf-8;q=0.5 text/html;charset=utf-8;q=0.8 text/xml;charset=utf-8;q=0.2
> XhtmlNegStarsIgnore 2
> AddCharset utf-8 .xhtml
> AddCharset utf-8 .css
> (on peut faire autrement, cf docs)

La classe ! Patrick, c'est toujours la classe :)
J'enregistre toujours ses réponses : je devrais faire un script pour ne
pas en perdre ;)
Olivier Masson (23/08/2008, 12h20)
Patrick Mevzek a écrit :

> Au moins avec le XHTML servi proprement, si on fait n'importe quoi on a un
> beau message d'erreur du validateur XML dans le navigateur, et donc on ne
> *coupe pas* à faire attention et propre !
> Et pour le coup avec HTML5, on fait encore un pas en arrière sur ce point...


Oui et non. C'est l'avantage et l'inconvénient de HTML sur XHTML. C'est
ce qui autorise le code pourri mais c'est ce qui permet de ne pas
réserver son utilisation aux (vrais) pros.
Je ne supporte pas de voir des concurrents vendre des sites pourraves
(!= HTML-CSS-WCAG) à des prix élevés, mais je trouve ça bien que
n'importe qui puisse mettre ses infos sur le net sans trop de connaissances.
Thomas (24/08/2008, 04h12)
In article <48aef92e$0$15529$426a74cc>,
Patrick Mevzek <pm-N200808> wrote:

> Au moins avec le XHTML servi proprement, si on fait n'importe quoi on a un
> beau message d'erreur du validateur XML dans le navigateur, et donc on ne
> *coupe pas* à faire attention et propre !


sauf avec iCab,
lui qui se vantait d'avoir un smiley qui indique en permanence si la
page est valide ou pas, .... et patati et patata, etc, à propos du code
html valide,
ce #### il n'en fait pas une (de plus) pour le xhtml (il fait exactement
pareil)

du coup on peut consulter les pages web non valides tranquillement ....
:-(
Thomas (24/08/2008, 04h17)
In article <48aedca8$0$31426$426a74cc>,
Patrick Mevzek <pm-N200808> wrote:

> Le Fri, 22 Aug 2008 17:19:28 +0200, mpg a écrit:
> Standard : oui
> Navigateurs : comme vous le dites avec IE mieux vaut pas.
> Mais là c'est plus embêtant : difficile de changer cela au moment de
> l'échange.


comme le dit CrazyCat, si on est en UTF-8 on peut tout à fait supprimer
la déclaration XML (pas le prologue) sans céder un octet aux Standards
:-)

Discussions similaires
Bonne façon de désactiver/activer un daemon sous Ubuntu 14.04

Bonne façon pour ajouter un volume RAID logiciel de manière persistante

Réunion... la bonne façon de pécher le requin.

créer une zone d'édition mutualisée, façon spip, au sein d'une page web xhtml + css classique


Fuseau horaire GMT +2. Il est actuellement 21h01. | Privacy Policy