mode quirk et mode de conformité aux normes ?

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 !
Répondre
HP
Tyrannosaurus Rex
Messages : 2196
Inscription : 21 oct. 2004, 10:25

mode quirk et mode de conformité aux normes ?

Message par HP »

quelqu'un peut expliquer avec des mots simples qu'est ce que ça veut dire
et quelles sont les subtilités entre ces deux modes ?

parce que ... moi j'y bite* que dalle !

d'avance merci pour vos avis éclairés.

*définition du verbe biter : http://www.marseillais-du-monde.org/dictionnaire.php3#B

“La médiocrité obtiendra immanquablement la préséance en se travestissant des oripeaux de la bienséance.”
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Au commencement fut Mosaic. Le monde était simple, la mise en page minimale. Puis vint Netscape, et avec lui le CSS inventé par le W3C (ou plus précisément par le créateur d'Opera, mais passons ces détails :lol: )

Or donc Netscape avait un support* rudimentaire des CSS. Rudimentaire, mais quand-même suffisant pour pouvoir faire quelques trucs rigolos. En fait, c'était surtout n'importe quoi, l'héritage n'était plus ou moins pas géré, et plein d'autres trucs très drôles encore. Le monde était encore presque simple.

Puit vint IE. Et les choses se gâtèrent. En effet, IE5 avait un "bon" support des CSS, et IE 5.5 encore meilleur.
Microsoft inventa donc IE6. Simplement, avec le progrès du rendu CSS de ce navigateur (qui, en 2001, était excellent pour l'époque), les anciennes pages se retrouvaient "cassées", parce que les auteurs avaient codés leurs CSS n'importe comment (fortement aidés par Netscape il faut bien l'admettre). Du coup, la gestion correcte de l'héritage cassait la moitié du web. Et puis il y avait ce border-box, modèle de boîte mal interprété par IE5. Beaucoup de sites s'affichaient affreusement mal avec le modèle du W3C.

Microsoft inventa donc le doctype switching. Sur les vieilles pages codées pour Netscape, on utilise un mode "dégradé" de CSS, ce qui permet de les afficher correctement (grâce à la mauvaise gestion de l'héritage qui tente d'émuler Netscape et dans une moindre mesure le border-box IE5). C'est le mode Quirk.
Sur les autres, les pages récentes, codées avec des CSS correctes, identifiées par leur joli doctype, on utilise le mode standard, gérant correctement l'héritage, le modèle de boîtes du W3C, etc. C'est le mode de respect des standards.

Par la suite, Mozilla est arrivé et a largement compliqué les choses, mais la finalité du mode Quirk est resté : tenter d'émuler les anciens navigateurs pour ne pas casser la moitié du web :wink:

Voilà, la belle histoire des Navigateurs s'interrompt ici, mais elle ne fait que commencer.

En résumé :
  • En mode standard, le navigateur fait tout pour s'approcher le plus possible de la perfection en matière de rendu des standards.
  • En mode quirk (= bizarre, étrange) le navigateur fait tout pour que les pages s'affichent le plus correctement possible (correctement = comme l'auteur l'a voulu).
  • Le choix d'un mode ou de l'autre est basé sur le doctype (mais je ne mettrais pas ma main au feu qu'il n'y a pas d'autres critères… comme par exemple le javascript:document.write ?)
:wink:

En super résumé :
  • En mode Quirk, le navigateur fait ce qu'il veut et adopte des comportements imprévisibles dans un but de retro-compatibilité.
*support : désolé pour l'anglicisme mais j'ai toujours autant de peine à tourner une phrase autour d'"implémentation" :lol:

PS : quelqu'un d'autre a écrit ça avant moi (et surtout mieux que ça) mais je n'arrive pas à le retrouver…
HP
Tyrannosaurus Rex
Messages : 2196
Inscription : 21 oct. 2004, 10:25

Message par HP »

ah ouais :shock:

pas mal limpide là ...

bon, par contre, comment on choisit de déclencher le quirk ou non via le doctype ?
en omettant le dtd par exemple :

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
:?:

pourquoi le validator ne donne pas d'avertissement (à ma connaissance) quand au mode de rendu choisi ? ...

en tout cas, c'est zarb de passer de quirk à autre chose :shock:
surtout sous IE !

“La médiocrité obtiendra immanquablement la préséance en se travestissant des oripeaux de la bienséance.”
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

HP a écrit :pourquoi le validator ne donne pas d'avertissement (à ma connaissance) quand au mode de rendu choisi ? ...
Parce que ça ne correspond à aucun standard :roll:
(Au contraire justement, c'est un mode dans lequel les navigateurs se permettent de transgresser les standards et de faire n'importe quoi).

Ce sont juste les navigateurs qui font ce qu'ils peuvent pour afficher les pages correctement. :wink:
HP a écrit :en tout cas, c'est zarb de passer de quirk à autre chose :shock:
Non, ce qui est zarb c'est le mode quirk lui-même :wink: :lol:

Ah oui, un lien très intéressant (même si un peu périmé): http://hsivonen.iki.fi/doctype/ :wink:
(Où l'on voit que le choix du doctype est un art compliqué !)
Benoit
Administrateur
Messages : 4894
Inscription : 19 juil. 2003, 10:59

Message par Benoit »

HP a écrit :bon, par contre, comment on choisit de déclencher le quirk ou non via le doctype ?
en omettant le dtd par exemple :

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN">
:?:
Non, c'est plus compliqué que ça. Le mode Quirks se déclenche justement pour des doctypes connus pour abriter des pages antérieures à certaines spécifications. Si tu omets la DTD, par exemple en mettant simplement

Code : Tout sélectionner

<!DOCTYPE HTML>
tu es en mode standard !

Voir la liste de toutes les conditions ici : Mozilla's DOCTYPE sniffing
pourquoi le validator ne donne pas d'avertissement (à ma connaissance) quand au mode de rendu choisi ? ...
Parce que ça n'a strictement rien à voir avec la validité ou non de ton code, c'est un mode de réglage fin du navigateur. Comme le montre le tableau dans la page liée par calimo, il ne se déclenche pas de la même manière partout.

P.S. Quant calimo dit qu'IE a utilisé le doctype switching en premier lieu, rappelons qu'il s'agissait d'IE Mac, une bête tout à fait différente d'IE Windows.
♫ Li tens s'en veit, je n'ai riens fais ;
Li tens revient, je ne fais riens. ♪
HP
Tyrannosaurus Rex
Messages : 2196
Inscription : 21 oct. 2004, 10:25

Message par HP »

Benoit a écrit :Non, c'est plus compliqué que ça.
oui en fait, j'ai vu çà sur le lien de calimo ...
c'est un peu ancien avec des "navigateurs d'un autre temps", mais très intéressant ...

j'ai aussi bien aimé ton lien Benoît, intéressant mais pas mal orienté Mozilla quoi :lol: ...

En fait c'est plus complexe que je n'aurais cru de choisir un Doctype ...
je vais jeter un oeil sur pompage, me semble qu'il y avait un bon article sur le choix du Doctype peut être que le quirk y est abordé dans tout ça ...

merci :D

sinon, y a aussi ce lien qui est assez sympa : http://www.quirksmode.org/css/quirksmode.html

“La médiocrité obtiendra immanquablement la préséance en se travestissant des oripeaux de la bienséance.”
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Benoit a écrit :P.S. Quant calimo dit qu'IE a utilisé le doctype switching en premier lieu, rappelons qu'il s'agissait d'IE Mac, une bête tout à fait différente d'IE Windows.
À vrai dire j'aurais été bien incapable de dire qui d'IE 6 ou d'IE5/Mac est sorti en premier :oops:
HP a écrit :En fait c'est plus complexe que je n'aurais cru de choisir un Doctype ...
je vais jeter un oeil sur pompage, me semble qu'il y avait un bon article sur le choix du Doctype peut être que le quirk y est abordé dans tout ça ...
Tu veux parler de cet article : http://pompage.net/pompe/doctype/ ?
Malheureusement, non, presque pas un mot sur le mode quirk :?

C'est simple : HTML 4.01 strict ou XHTML 1.0 Strict sans prologue XML et tous les deux avec l'URI correspondante. Ainsi, tu n'auras pas de problème ;-)
HP
Tyrannosaurus Rex
Messages : 2196
Inscription : 21 oct. 2004, 10:25

Message par HP »

calimo a écrit :Tu veux parler de cet article : http://pompage.net/pompe/doctype/ ?
Malheureusement, non, presque pas un mot sur le mode quirk :?
enfin, c'est brièvement abordé :
POMPAGE - Le DOCTYPE qu'il vous faut a écrit :Utiliser un DOCTYPE incomplet ou désaprouvé -voire aucun DOCTYPE- déclenche dans ces navigateurs le mode "Quirks" (NdT : "habitudes bizarres") qui va considérer votre balisage comme invalide et démodé, conforme seulement aux normes déprimantes de l'industrie de la fin des années 90.
C'est déjà pas si mal en fait ...
peut être que j'aurais du le lire plus profondément, à une époque, en fait (puisque je savais qu'il existait) :roll:

“La médiocrité obtiendra immanquablement la préséance en se travestissant des oripeaux de la bienséance.”
calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Ah, j'ai enfin retrouvé le billet que je cherchais hier soir : Choix d'une DTD: le doctype switching n'est pas pour nous.

(C'est un billet de Laurent Denis, une référence en la matière, et je le cherchais sur son blog (Blog-and-blues), mais il était sur Alsacérations :lol: )
HP
Tyrannosaurus Rex
Messages : 2196
Inscription : 21 oct. 2004, 10:25

Message par HP »

calimo a écrit :Ah, j'ai enfin retrouvé le billet que je cherchais hier soir : Choix d'une DTD: le doctype switching n'est pas pour nous.
Un grand Merci

celui-là, je connaissais pas, mais oui, c'est clair et relativement exhaustif ...
j'en ai bien aimé la lecture :D

“La médiocrité obtiendra immanquablement la préséance en se travestissant des oripeaux de la bienséance.”
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités