IE8 et le super standard mode

Le
Laurent vilday
Bonjour,

[1] Le mois dernier (19/12/07) Dean Hachamovitch nous annonçait que IE8
passait le test Acid2.
<http://blogs.msdn.com/ie/archive/2007/12/19/internet-explorer-8-and-acid2-a-milestone.aspx>
<http://www.webstandards.org/files/acid2/test.html>

[2] Tandis que cette semaine (21/01/08) Chris Wilson a annoncé sur le
IEBlog l'apparition du nouveau mode de rendu le "super standard mode" de
IE8.
<http://blogs.msdn.com/ie/archive/2008/01/21/compatibility-and-ie8.aspx>
<http://alistapart.com/articles/beyonddoctype>
<http://www.quirksmode.org/blog/archives/2008/01/the_versioning.html>

Voila pour les faits, c'est fait :)

Pour le passage du test Acid2 (cf [1]) j'en suis plutôt ravi.

Par contre concernant la nouvelle balise meta (ou entête serveur) (cf
[2]) pour passer en mode "super standard" j'ai beaucoup plus de réserves.
<meta http-equiv="X-UA-Compatible" content="IE=8">

Surtout quand je vois sur A List Apart cette horreur :
<meta http-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4">

Un débat houleux gronde actuellement suite à cette annonce du mode
"super standard" (cf [1] et [2]).

Outre le fait que contrairement à ce qui est dit, IE8 ne passera
toujours pas le test Acid2 puisque la balise méta n'existe pas dans la
page de test et que par défaut IE8 utilise le moteur de rendu de IE7.

J'ai très peur d'une chose c'est de la multiplication des "render
engines" à gérer qui me semble loin de l'idée du web que je me fait. Non
pas que ce soit fastidieux, une ligne à changer dans les templates des
sites ou une ligne pour envoyer le bon entête et c'est fait.

Mais, IMO, sous prétexte de ne pas casser le web, Microsoft refuse de le
faire avancer. Puisque ça donne une justification pour continuer à faire
du code bas de gamme (avec comme dénominateur commun IE6) aux
intégrateurs HTML qui refusent d'apprendre correctement les "langages"
HTML/CSS qu'ils utilisent.

Et vous, qu'en pensez-vous ?

--
laurent
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Pierre Goiffon
Le #22084091
Laurent vilday wrote:
[2] Tandis que cette semaine (21/01/08) Chris Wilson a annoncé sur le
IEBlog l'apparition du nouveau mode de rendu le "super standard mode" de
IE8.


(...)
Par contre concernant la nouvelle balise meta (ou entête serveur) (cf
[2]) pour passer en mode "super standard" j'ai beaucoup plus de réserves.
<meta http-equiv="X-UA-Compatible" content="IE=8">

Surtout quand je vois sur A List Apart cette horreur :
<meta http-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4">



A lire ce commentaire qui tempère de beaucoup le débat :
"HTML5 DOCTYPE"
http://ejohn.org/blog/html5-doctype/

Je ne me suis pas encore assez documenté sur le sujet... et je reste
étonné qu'il faille un switch entre le mode de rendu de IE7 et IE8 ! Car
autant IE6 était buggé pour des choses CSS assez basiques et même en
mode de rendu strict, autant IE7 avait apporté quand même du progrès je
crois là-dessus... Je ne m'imaginais pas que passer de IE7 et IE8
casserai autant de pages "standard" (doctype strict et code valide) ?
Laurent vilday
Le #22084081
Pierre Goiffon a écrit :
Laurent vilday wrote:
[2] Tandis que cette semaine (21/01/08) Chris Wilson a annoncé sur le
IEBlog l'apparition du nouveau mode de rendu le "super standard mode"
de IE8.


(...)
Par contre concernant la nouvelle balise meta (ou entête serveur) (cf
[2]) pour passer en mode "super standard" j'ai beaucoup plus de réserves.
<meta http-equiv="X-UA-Compatible" content="IE=8">

Surtout quand je vois sur A List Apart cette horreur :
<meta http-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4">



A lire ce commentaire qui tempère de beaucoup le débat :
"HTML5 DOCTYPE"
http://ejohn.org/blog/html5-doctype/



Je viens de lire ça.

Et pour l'instant j'en suis toujours à "oui mais pourquoi ce switch ?" :)

Ce que j'en comprends, c'est que toute page utilisant une DTD
"implémentée" à l'heure actuelle devra inclure le meta tag pour
permettre d'indiquer à IE8 d'utiliser tel ou tel autre de moteur de
rendu sinon par défaut IE8 se comportera comme IE7. Tandis que toute DTD
future/inconnue (not widely deployed - par qui, par quoi, quand, etc ? -
) sera par défaut en "super standard mode" pour IE8.

Donc jusque là oui à condition que le "not widely deployed" soit plus
explicite.

Sinon c'est pas la peine si c'est pour m'inventer un nouveau <meta>
lorsque IE2015 sortira avec le nouveau "super uber standard mode"
permettant d'utiliser correctement HTML17 et CSS9 sans les bugs de
IE2010 qui avait inventé un "super quirks mode" pour garder la
compatibilité avec IE15 qui avait décidé d'interpréter CSS7 d'une façon
différente du reste du marché ...

Bref, ça me semble être un <meta> introduit pour permettre - enfin - de
faire bouger le web mais c'est en même temps le même frein pour le futur
que l'introduction du rendu quirks/strict.

Je ne me suis pas encore assez documenté sur le sujet... et je reste
étonné qu'il faille un switch entre le mode de rendu de IE7 et IE8 ! Car
autant IE6 était buggé pour des choses CSS assez basiques et même en
mode de rendu strict, autant IE7 avait apporté quand même du progrès je
crois là-dessus... Je ne m'imaginais pas que passer de IE7 et IE8
casserai autant de pages "standard" (doctype strict et code valide) ?



Microsoft, part la voix de Chris Wilson, parle de "not breaking the web"
pour justifier ce <meta>

Et c'est là que je suis pas du tout d'accord, parce que c'est un
problème exclusif du web Microsoft, c'est pas le web dans sa globalité.

Si c'est pour que le web historique ne "casse" pas, le "besoin" evoqué
n'existe pas puisque c'est la même chose que de ne pas avoir la CSS. Le
rendu au pixel prêt n'est pas bon, mais le contenu est accessible.

Si c'est pour que le web Microsoft (intranet en grosse quantité)
développé exclusivement pour IE6 (et tant bien que mal mis à jour pour
IE7) ne "casse" pas, il existe plusieurs solutions plus ou moins chères.
C'est le prix à payer pour avoir accepté d'enfermer ses outils sur une
plateforme propriétaire (IE6).

Et c'est de ça, les outils intranets historiques développés que pour IE6
et pas ou peu mis à jour, je pense que Microsoft parle à travers le "not
breaking the web"

Mais le fond du problème, imo, c'est que Microsoft a pour objectif de
vendre des licences de son dernier OS à la mode, pas d'ouvrir les
marchés. Il lui faut donc une solution pour vendre son OS (avec IE
inclus) tout en conservant la compatibilité avec tout ce qui a été
développé pour IE6.

M'enfin je t'avoue que j'ai beau suivre ça d'assez prêt, j'ai du mal à
me faire une opinion tranchée sur le sujet. Pas encore le recul
nécessaire j'imagine. C'est d'ailleurs bien pour ça que j'ai posté ici :)

--
laurent
Pierre Goiffon
Le #22084071
Laurent vilday wrote:



http://ejohn.org/blog/html5-doctype/



pour l'instant j'en suis toujours à "oui mais pourquoi ce switch ?" :)

Ce que j'en comprends, c'est que toute page utilisant une DTD
"implémentée" à l'heure actuelle devra inclure le meta tag pour
permettre d'indiquer à IE8 d'utiliser tel ou tel autre de moteur de
rendu sinon par défaut IE8 se comportera comme IE7.



C'est ce que j'ai compris aussi...

Microsoft, part la voix de Chris Wilson, parle de "not breaking the web"
pour justifier ce <meta>



Oui, ça parait logique : on ne va pas lancer sur le marché un navigateur
qui ne sait afficher quasiment aucune des pages de l'Internet !

Cependant, en mode de rendu strict il me semble que IE7 ne génère pas
bcp de bugs ? Et puis il y a les commentaires conditionnels...

Il lui faut donc une solution pour vendre son OS (avec IE
inclus) tout en conservant la compatibilité avec tout ce qui a été
développé pour IE6.



C'est bien ce que je ne comprend pas : la "bascule" (adaptation des
hacks de contournement des bugs de rendu de IE 5 et 6 plus valables sur
IE7) entre IE6 et IE7 a normalement du être effectuée par les sites
voulus pour s'afficher en mode de rendu "standard". Je m'imagine qu'un
site qui s'affiche correctement en mode de rendu standard sur IE6 et IE7
devrait s'afficher très correctement aussi sur IE8 ??

Il y a sans doute des choses qui m'échappent, je manque malheureusement
de temps pour fouiller plus avant
William Marie
Le #22083971
"Laurent vilday" 47987708$0$28815$

Si c'est pour que le web Microsoft (intranet en grosse quantité)
développé exclusivement pour IE6 (et tant bien que mal mis à jour pour
IE7) ne "casse" pas, il existe plusieurs solutions plus ou moins
chères. C'est le prix à payer pour avoir accepté d'enfermer ses
outils sur une plateforme propriétaire (IE6).



En fait le problème n'est pas là, au sens de l'affreux enfermement
propriétaire de Microsoft (pour autant qu'on ait codé proprement son HTML),
c'est qu'IE6 fait quelques interprétations singulières des marges et ne
gérait pas le PNG transparent. Hors il n'est pas hors de porté d'un
webmestre moyen (j'y suis bien arrivé donc "ce qu'un âne sait faire, un
autre peut le faire") de faire que le rendu d'une page Web avec plein de
blocs et de marges se conporte pareillement avec les 3 navigateurs usuels
(sous Windows). Et ce sans une seule fois tester l'identité du navigateur
avec du Javascript ou autre. Quant au problème des PNG il suffisait
d'introduire un élément htc qui déboguait la balise img. Et ce n'est plus
nécessaire avec IE7.

Je dois dire que je m'enquiquine davantage avec Firefox qui veut, pour le
multimédia, son Quicktime alors qu'il a, en standard, le WMP de Windows qui
ne marche pas si mal en plugin Web (pour Windows). Aucun ennui de ce genre
avec Opera.

Cette histoire d'IE8 est, à mon avis, une espèce de compatibilité
descendante pour continuer à faire fonctionner d'immondes sites fabriqués
avec les pieds au temps du HTML 3.5. J'imagine Balmer soupirant dans son
yacht : "Si je ne fais pas un navigateur Web dans les règles de l'art, on
m'engueule et si j'en fait un qui ne veut plus des trucs mal écrits on
m'engueule aussi. Pourquoi tant de haine ?"
--
=================================== William Marie
Attention antiSpam remplacer trapellun.invalid
par free.fr
Web : http://wmarie.free.fr
http://www.pandemonium.dnsalias.org (site expérimental)
====================================
BertrandB
Le #22083961
William Marie a écrit :

avec du Javascript ou autre. Quant au problème des PNG il suffisait
d'introduire un élément htc qui déboguait la balise img. Et ce n'est plus
nécessaire avec IE7.


pour le png l'tilisation d'alphaloader (à la base des behavior) pose
quand même des problèmes ça va si on empile pas les images sinn on peut
perdre des événements.

sur le principe tout ajout aux "standards" est préjudiciable à la
compatibilté, s'agissant d'un méta c'est du hors lanage ce n'est pas
trop grave.

Par contre assurrer l'égalité de comportement à un moment donné de
navigateurs développes par des éqipes différentes esst une utopie. CSS
devrait intégrer des sélecteurs de moteur de rendu.
Pierre Goiffon
Le #22083821
William Marie wrote:
Si c'est pour que le web Microsoft (intranet en grosse quantité)
développé exclusivement pour IE6 (et tant bien que mal mis à jour pour
IE7) ne "casse" pas, il existe plusieurs solutions plus ou moins
chères.



En fait le problème n'est pas là, au sens de l'affreux enfermement
propriétaire de Microsoft (pour autant qu'on ait codé proprement son HTML),
c'est qu'IE6 fait quelques interprétations singulières des marges et ne
gérait pas le PNG transparent.



Attention aux approximations : un PNG 8 bit avec un seul "niveau" de
transparence fonctionne très bien.
Voir http://blogs.msdn.com/ie/archive/2005/04/26/412263.aspx

Cette histoire d'IE8 est, à mon avis, une espèce de compatibilité
descendante pour continuer à faire fonctionner d'immondes sites fabriqués
avec les pieds au temps du HTML 3.5.



Non, non et non : pour ces anciennes pages il y a le mode de rendu
quirks ! Ce nouveau mode de rendu a été ajouté par IE8 pour les pages
déjà destinées à s'afficher en mode de rendu "standard", mais contenant
des hacks spécifiques IE pour contourner les bugs de rendu de IE6 ou IE7.

Et c'est bien la question que je me pose : pourquoi ceci alors que l'on
peut restreindre des hacks à IE6 par commentaires conditionnels, et que
IE7 n'est à ma connaissance que très peu problématique ?
Pierre Goiffon
Le #22083741
Pierre Goiffon wrote:
[2] Tandis que cette semaine (21/01/08) Chris Wilson a annoncé sur le
IEBlog l'apparition du nouveau mode de rendu le "super standard mode"
de IE8.



Je ne me suis pas encore assez documenté sur le sujet... et je reste
étonné qu'il faille un switch entre le mode de rendu de IE7 et IE8 ! Car
autant IE6 était buggé pour des choses CSS assez basiques et même en
mode de rendu strict, autant IE7 avait apporté quand même du progrès je
crois là-dessus... Je ne m'imaginais pas que passer de IE7 et IE8
casserai autant de pages "standard" (doctype strict et code valide) ?



Bon, je viens de passer un peu de temps à lire quelques uns des très
nombreux articles sur le sujet, trouvé 2 d'entre eux qui donnent des
raisons précises sur le pourquoi d'un IE8 qui "casserait le web" en mode
de rendu strict :


Et bien plus détaillé :


En résumé le prologue XML, certains prb de box model corrigés de IE6 à
IE7 (le 2eme article cite width), et les hacks IE6 qui ne tiennent pas
compte des versions supérieures à 6 du navigateur (alors que c'est tout
à fait possible avec des commentaires conditionnels).

Franchement s'il n'y a que ça, je suis surpris d'une telle décision !
Laurent vilday
Le #22082911
Pierre Goiffon a écrit :
Laurent vilday wrote:
Microsoft, part la voix de Chris Wilson, parle de "not breaking the
web" pour justifier ce <meta>



Oui, ça parait logique : on ne va pas lancer sur le marché un navigateur
qui ne sait afficher quasiment aucune des pages de l'Internet !
Cependant, en mode de rendu strict il me semble que IE7 ne génère pas
bcp de bugs ? Et puis il y a les commentaires conditionnels...



Exactement, je n'arrive toujours pas à comprendre l'utilité *réelle*
d'une balise <meta> (hormis essayer de biaiser sur la capacité de IE8 à
utiliser les "standards"). On a déjà le quirks mode et le mode strict,
ça me parait déjà être un mode de trop, alors pourquoi en ajouter un
3eme ? Vraiment je ne comprends pas.

D'autant que ça ne risque pas de faire des IE gigantesques ? Faut bien
le mettre qqpart le code qui fait le rendu (bugs inclus) de IE6, celui
de IE7, celui de IE8, puis tous les autres, non ?

Et je ne comprends pas non plus l'intérêt au niveau sécurité du
navigateur. Avec une telle chose il devient super facile de cibler telle
ou telle autre version du navigateur afin d'essayer de profiter des
failles. Ca me parait être un trou énorme sur mon disque dur pour
laisser passer toute sorte de saloperie, malgrès le fait que je sois
totalement à jour. :(

Il lui faut donc une solution pour vendre son OS (avec IE inclus) tout
en conservant la compatibilité avec tout ce qui a été développé pour IE6.



C'est bien ce que je ne comprend pas : la "bascule" (adaptation des
hacks de contournement des bugs de rendu de IE 5 et 6 plus valables sur
IE7) entre IE6 et IE7 a normalement du être effectuée par les sites
voulus pour s'afficher en mode de rendu "standard". Je m'imagine qu'un
site qui s'affiche correctement en mode de rendu standard sur IE6 et IE7
devrait s'afficher très correctement aussi sur IE8 ??



C'est ce que je pense aussi et je vois qu'on reste dubitatif sur les
mêmes types d'interrogations :)

D'autant que si c'est pour ne pas casser les intranets IE6, pourquoi ne
pas simplement ajouter 1 paramètre permettant le choix du rendu domaine
par domaine dans une nouvelle zone de "sécurité" des options de IE ? Ca
me parait être la solution la plus efficace.

Surtout que l'argument du "pas casser le web" est microsoft centrique.
Que je sache Opera, Firefox et autre Safari ne cassent pas le web. Si ?
Parce que j'avais plutôt l'impression que le casseur de web c'était IE6,
mais bon, chacun sa croix.

Il y a sans doute des choses qui m'échappent, je manque malheureusement
de temps pour fouiller plus avant



J'ai mon opinion (c'est mal, ça encourage les mauvais codeurs à
continuer à faire du code IE6 et ça puni ceux qui respectent les
standards ouverts) mais j'ai beau fouiller et lire les multiples avis
pour et contre cette balise, je sens que qqchose m'échappe également
parce que je n'arrive pas à comprendre en quoi ce serait - du point de
vue de microsoft - la meilleure décision possible, si ce n'est le
mouvement marketing qui permettra ainsi de continuer à serrer le marché
malgrès le discours d'ouverture.

--
laurent
Laurent vilday
Le #22082901
William Marie a écrit :
"Laurent vilday" 47987708$0$28815$
Si c'est pour que le web Microsoft (intranet en grosse quantité)
développé exclusivement pour IE6 (et tant bien que mal mis à jour pour
IE7) ne "casse" pas, il existe plusieurs solutions plus ou moins
chères. C'est le prix à payer pour avoir accepté d'enfermer ses
outils sur une plateforme propriétaire (IE6).



En fait le problème n'est pas là, au sens de l'affreux enfermement
propriétaire de Microsoft (pour autant qu'on ait codé proprement son HTML),



Je pense que si bien au contraire. Le problème n'est pas HTML au sens
propre. IE6 interprète correctement du HTML (si ce n'est quelques
errements excusables), là où sa se corse c'est un peu avec les CSS
principalement mode quirks mais c'est surtout avec le JScript et les
ignominies que sont les active-X. IMO évidemment.

Combien d'intranet basés exclusivement sur :
- des active-X gérant l'échange des documents entre les postes ?
- des active-X gérant l'envoi d'email ?
- des active-X gérant tout et n'importe quoi ?
- l'utilisation de document.all partout dans le code ?
- et quid des document.attachEvent comme seul gestion ?
- sans parler des filtres directX à garder
- ou encore du VML, etc.

Le problème de IE8 c'est que IE4 a été une énorme amélioration avec des
tonnes et des tonnes de choses introduites dans le navigateurs avec
comme espoir d'imposer ce format au web. Maintenant, 10 ans après, force
est de constater que tout n'a pas été récupéré, tout n'était pas une
bonne idéee et tout n'était pas nécessairement viable. Hors Microsoft
faisant payer les entreprises pour ses services (ne pas oublier entre
autre le marché IIS et tout ce qui gravite autour d'un navigateur web),
Microsoft ne peut pas décemment balayer tout ce qui a été introduit et
utilisé dans certains cas sans une perte financière et une perte de
crédibilité importante. Je pense que c'est de ça qu'il est question
derrière le "not breaking the web".

c'est qu'IE6 fait quelques interprétations singulières des marges



En mode quirks. Pour peu qu'on passe en mode de rendu strict, IE6 se
comporte à peu près correctement.

gérait pas le PNG transparent. Hors il n'est pas hors de porté d'un
webmestre moyen (j'y suis bien arrivé donc "ce qu'un âne sait faire, un
autre peut le faire") de faire que le rendu d'une page Web avec plein de
blocs et de marges se conporte pareillement avec les 3 navigateurs usuels
(sous Windows). Et ce sans une seule fois tester l'identité du navigateur
avec du Javascript ou autre.



Je suis bien d'accord. Mais tu décris là un travail de type public
(front-office d'un site web par exemple). Ce dont je parle c'est la
partie cachée de l'iceberg, le web privé. Celui qui utilise les
technologies web sans nécessairement avoir accès au web public
(intranet). Et c'est ce web là qui rapporte de l'argent à Microsoft et
qu'il ne doit surtout pas casser.

Cette histoire d'IE8 est, à mon avis, une espèce de compatibilité
descendante pour continuer à faire fonctionner d'immondes sites fabriqués
avec les pieds au temps du HTML 3.5.



Si c'était le cas, pas besoin d'une balise <meta>, HTML 2, HTML 3.5 ou
autre on s'en fout un peu. Ce qui compte c'est d'interpréter de façon
universelle le standard déclaré (la DTD en début du document)

Je ne comprends toujours pas la raison profonde permettant à Microsoft
de dire que c'est *la* solution à tous leurs problèmes. Y'a vraiment
qqchose qui m'échappe.

--
laurent
Laurent vilday
Le #22080961
Laurent vilday a écrit :
Tandis que cette semaine (21/01/08) Chris Wilson a annoncé sur le
IEBlog l'apparition du nouveau mode de rendu le "super standard mode" de
IE8.



Revirement de situation. Microsoft à écouté et compris, visiblement, le
problème d'un IE8 qui utiliserait par défaut le rendu IE7.

C'est fini, hourra. Microsoft vient d'annoncer que IE8 utilisera par
défaut le mode de rendu "super standard" de IE8. La balise <meta> dont
il était question n'est pas remise en cause, ce qui permettra donc aux
intranets IE6 de fonctionner sans (nouveaux) problèmes même avec IE8.


J'en suis particulièrement ravi. Est-ce à relier avec le désir plus ou
moins affiché de Microsoft à améliorer l'interopérabilité de ses
produits ? J'espère que ça a un lien, ça me fait entrevoir de belles
évolutions (enfin) du web sans être dans un climat de guerre des
navigateurs (encore).

--
laurent
Publicité
Poster une réponse
Anonyme