{"id":196,"date":"2009-05-15T17:10:36","date_gmt":"2009-05-15T16:10:36","guid":{"rendered":"http:\/\/www.degraphiks.com\/blog\/?p=196"},"modified":"2009-06-11T09:41:08","modified_gmt":"2009-06-11T08:41:08","slug":"internet-explorer-8-et-compatibilite","status":"publish","type":"post","link":"http:\/\/degraphiks.com\/blog\/internet-explorer-8-et-compatibilite\/","title":{"rendered":"Internet Explorer 8 et compatibilit\u00e9 XHML\/CSS"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-258 alignleft\" style=\"margin: 5px;\" title=\"ie8icon\" src=\"http:\/\/www.degraphiks.com\/blog\/wp-content\/uploads\/2009\/05\/ie8icon.jpg\" alt=\"ic\u00f4ne d'IE8\" width=\"80\" height=\"79\"><\/p>\n<p>Si vous \u00eates d\u00e9ve\u00adlop\u00adpeur ou desi\u00adgner web, vous n\u2019\u00eates pas sans savoir q\u2019In\u00adter\u00adnet Explo\u00adrer 8 est sor\u00adti r\u00e9cem\u00adment ; cette nou\u00advelle ver\u00adsion a \u00e9t\u00e9 bien accueillie par les acteurs du web pour saluer l\u2019ef\u00adfort qu\u2019\u00e0 pro\u00adduit Micro$soft pour sor\u00adtir un navi\u00adga\u00adteur qui res\u00adpecte les normes con\u00e7ues par la W3C (Micro$oft \u00e0 juste 8 ans de retard sur ses concur\u00adrents, de la part de la plus grosse entre\u00adprise d\u2019in\u00adfor\u00adma\u00adtique du monde, \u00e7a m\u2019en bouche un coin), m\u2019en\u00adfin, comme aurait dit Gaston\u2026<!--more--><\/p>\n<p>Tou\u00adjours est-il que IE8 nous arrive avec un double moteur sous le capot. En effet pen\u00addant des ann\u00e9es nous autres desi\u00adgner avons lut\u00adter et bra\u00adver les inco\u00adh\u00e9\u00adrences de ren\u00addu d\u2019IE ; mais pis encore, des ind\u00e9\u00adli\u00adcats on con\u00e7ut des sites qui ne sont cor\u00adrec\u00adte\u00adment consul\u00adtables QUE par IE7 (cas tr\u00e8s r\u00e9pan\u00addue dans les intra\u00adnets d\u2019en\u00adtre\u00adprises et d\u2019administrations).<\/p>\n<p>Donc pour \u00ab&nbsp;ne pas cas\u00adser le Web&nbsp;\u00bb les d\u00e9ve\u00adlop\u00adpeurs de la ver\u00adsion 8 on inclut \u00e0 c\u00f4t\u00e9 du nou\u00adveau moteur d\u2019in\u00adter\u00adpr\u00e9\u00adta\u00adtion HTML, l\u2019an\u00adcien d\u2019IE7 (mais par d\u00e9faut, c\u2019est bien le nou\u00adveau moteur qui est uti\u00adli\u00ads\u00e9) et une pos\u00adsi\u00adbi\u00adli\u00adt\u00e9 de pas\u00adser de l\u2019un \u00e0 l\u2019autre assez sim\u00adple\u00adment (comme quoi \u00e0 Red\u00admond on peut faire des choses simples&nbsp;!).<\/p>\n<p>Le m\u00e9ca\u00adnisme mis \u00e0 dis\u00adpo\u00adsi\u00adtion repose sur l\u2019u\u00adti\u00adli\u00adsa\u00adtion d\u2019\u00e9l\u00e9\u00adment d\u2019en-t\u00eate dis\u00adpo\u00ads\u00e9 soit dans la requ\u00eate HTTP soit dans les balises m\u00e9ta. La direc\u00adtive dite \u00ab&nbsp;X-UA-Compatible&nbsp;\u00bb pos\u00ads\u00e8de la syn\u00adtaxe suivante&nbsp;:<\/p>\n<p>en requ\u00eate HTTP&nbsp;:<br>\n<code>Header set X-UA-Compatible \"IE=8\"<\/code><br>\nou dans les&nbsp;m\u00e9tas&nbsp;:<br>\n<code>&lt;meta http-equiv=\"X-UA-Compatible\" content=\"IE=8\" \/&gt;<br>\n<\/code><br>\nSi on sp\u00e9\u00adci\u00adfie <code>IE=8<\/code> c\u2019est le nou\u00adveau moteur qui est uti\u00adli\u00ads\u00e9, si on uti\u00adlise <code>IE=EmulateIE7<\/code> c\u2019est l\u2019an\u00adcien moteur qui sera uti\u00adli\u00ads\u00e9. Micro$soft \u00e0 indi\u00adqu\u00e9 que ce m\u00e9ca\u00adnisme sera impl\u00e9\u00admen\u00adt\u00e9 dans les futurs ver\u00adsions d\u2019IE, il existe d\u2019ailleurs une direc\u00adtive <code>IE=Edge<\/code> qui indique que c\u2019est le moteur le plus r\u00e9cent qui doit \u00eatre uti\u00adli\u00ads\u00e9 (au cas o\u00f9 sor\u00adti\u00adrait un IE9 encore meilleur\u2026).<\/p>\n<p>Par ailleurs, si aucune direc\u00adtive n\u2019est pr\u00e9\u00adsente dans le code de la page, alors IE8 fera appa\u00adra\u00eetre dans la barre d\u2019ou\u00adtil une ic\u00f4ne per\u00admet\u00adtant de bas\u00adcu\u00adler l\u2019af\u00adfi\u00adchage en mode \u00ab&nbsp;IE7&nbsp;\u00bb. Il existe aus\u00adsi une \u00ab&nbsp;liste noire&nbsp;\u00bb qui peut \u00eatre t\u00e9l\u00e9\u00adchar\u00adg\u00e9e <a title=\"La blackliste de chez Crosoft\" href=\"http:\/\/www.microsoft.com\/downloads\/details.aspx?FamilyID=b885e621-91b7-432d-8175-a745b87d2588&amp;displaylang=en\" target=\"_blank\">ici<\/a>, cette liste apr\u00e8s ins\u00adtal\u00adla\u00adtion per\u00admet \u00e0 IE8 de bas\u00adcu\u00adler auto\u00adma\u00adti\u00adque\u00adment vers le mode IE7&nbsp;si vous navi\u00adguez sur l\u2019un des 2400 domaine qu\u2019elle contient. \u00c0 noter aus\u00adsi, et c\u2019est tr\u00e8s impor\u00adtant, que les en-t\u00eates (HTTP ou m\u00e9ta) ne fonc\u00adtionnent cor\u00adrec\u00adte\u00adment que si la page pos\u00ads\u00e8de un DOCTYPE (je vous ren\u00advois \u00e0 l\u2019ex\u00adcel\u00adlente tra\u00adduc\u00adtion d\u2019un<a href=\"http:\/\/www.pompage.net\/pompe\/doctype\/\" target=\"_blank\"> article de Jef\u00adfrey Zeld\u00adman sur Pompage.net<\/a>).<\/p>\n<p>Tout cela parait presque par\u00adfait ; mais il fau\u00addra cepen\u00addant faire atten\u00adtion \u00e0 quelques petites choses, car la logique de la bas\u00adcule entre mode IE8 et IE7 peut \u00eatre l\u00e9g\u00e8\u00adre\u00adment modi\u00adfi\u00e9e en fonc\u00adtion du contexte&nbsp;:<\/p>\n<ul>\n<li>par d\u00e9faut, IE8 uti\u00adlise le moteur IE8 (que j\u2019ap\u00adpel\u00adle\u00adrais dor\u00e9\u00adna\u00advant standard),<\/li>\n<li>si une page est conte\u00adnue dans la liste noire des domaines devant \u00eatre ren\u00addu en mode IE7, alors c\u2019est le moteur IE7 qui est utilis\u00e9,<\/li>\n<li>si l\u2019in\u00adter\u00adnaute appuie sur le bou\u00adton de com\u00adpa\u00adti\u00adbi\u00adli\u00adt\u00e9 IE7 alors qu\u2019il navigue dans un domaine bla\u00adck\u00adlis\u00adt\u00e9, alors c\u2019est le mode IE7 qui est utilis\u00e9,<\/li>\n<li>si la page pr\u00e9\u00adcise <code>X-UA-Compatible IE=EmulateIE7<\/code>, le bou\u00adton de com\u00adpa\u00adti\u00adbi\u00adli\u00adt\u00e9 est cach\u00e9 et le moteur IE7 est utilis\u00e9<\/li>\n<li>si la page pr\u00e9\u00adcise <code>X-UA-Compatible IE = EmulateIE7<\/code> via la balise m\u00e9ta mais que dans le code de la page une balise <code>&lt;script&gt;<\/code> est uti\u00adli\u00ads\u00e9 avant la balise meta en ques\u00adtion ; alors c\u2019est le moteur stan\u00addard qui est utilis\u00e9,<\/li>\n<li>si la page sp\u00e9\u00adci\u00adfie <code>X-UA-Compatible IE = 8<\/code> via l\u2019en-t\u00eate HTTP et <code>X-UA-Compatible IE = EmulateIE7<\/code> via la balise m\u00e9ta alors c\u2019est cette der\u00adni\u00e8re direc\u00adtive qui pr\u00e9\u00advaut et c\u2019est le moteur IE7 qui sera utilis\u00e9,<\/li>\n<li>si votre site est consul\u00adt\u00e9 \u00ab&nbsp;au tra\u00advers&nbsp;\u00bb d\u2019autres sites bla\u00adck\u00adlis\u00adt\u00e9s (comme le sont Google Images ou la Digg\u00adbar) alors votre site sera visua\u00adli\u00ads\u00e9 en mode&nbsp;IE7.<\/li>\n<\/ul>\n<p>En d\u00e9fi\u00adni\u00adtive, il est tout \u00e0 fait pos\u00adsible de ren\u00adcon\u00adtrer IE8 envoyant de la cha\u00eene <code>User Agent IE7<\/code><br>\nau ser\u00adveur en uti\u00adli\u00adsant le mode Stan\u00addards IE8 moteur de ren\u00addu et inver\u00adse\u00adment. ce qui peut poser des pro\u00adbl\u00e8mes si vous avez uti\u00adli\u00adsez une feuille de styles sp\u00e9\u00adci\u00adfique \u00e0 une ou plu\u00adsieurs ver\u00adsion d\u2019IE en uti\u00adli\u00adsant les com\u00admen\u00adtaires conditionnels\u2026<br>\nDonc nous ver\u00adrons donc dans un pro\u00adchain article, com\u00adment remettre les chose \u00e0 plat proprement.<\/p>\n<p>Note : cet article est une tra\u00adduc\u00adtion libre d\u2019un article \u00e9crit par Faruk Ate? sur son <a href=\"http:\/\/farukat.es\" target=\"_blank\">blog <\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si vous \u00eates d\u00e9ve\u00adlop\u00adpeur ou desi\u00adgner web, vous n\u2019\u00eates pas sans savoir q\u2019In\u00adter\u00adnet Explo\u00adrer 8 est sor\u00adti r\u00e9cem\u00adment ; cette nou\u00advelle ver\u00adsion a \u00e9t\u00e9 bien accueillie par les acteurs du web pour saluer l\u2019ef\u00adfort qu\u2019\u00e0 pro\u00adduit Micro$soft pour sor\u00adtir un navi\u00adga\u00adteur qui res\u00adpecte les normes con\u00e7ues par la W3C (Micro$oft \u00e0 juste 8 ans&nbsp;de&nbsp;[\u2026]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"wp_typography_post_enhancements_disabled":false,"jetpack_post_was_ever_published":false,"footnotes":""},"categories":[2,7],"tags":[22,48,26],"class_list":["post-196","post","type-post","status-publish","format-standard","hentry","category-informatique","category-web","tag-internet","tag-internetexplorer","tag-programmation"],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2W6XU-3a","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/degraphiks.com\/blog\/wp-json\/wp\/v2\/posts\/196","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/degraphiks.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/degraphiks.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/degraphiks.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/degraphiks.com\/blog\/wp-json\/wp\/v2\/comments?post=196"}],"version-history":[{"count":27,"href":"http:\/\/degraphiks.com\/blog\/wp-json\/wp\/v2\/posts\/196\/revisions"}],"predecessor-version":[{"id":211,"href":"http:\/\/degraphiks.com\/blog\/wp-json\/wp\/v2\/posts\/196\/revisions\/211"}],"wp:attachment":[{"href":"http:\/\/degraphiks.com\/blog\/wp-json\/wp\/v2\/media?parent=196"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/degraphiks.com\/blog\/wp-json\/wp\/v2\/categories?post=196"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/degraphiks.com\/blog\/wp-json\/wp\/v2\/tags?post=196"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}