# Internet Explorer 8

Internet Explorer 8 (officiellement Windows Internet Explorer 8), communément abrégé IE8, est un navigateur web développé par Microsoft. Il fut lancé le 19 mars 2009 pour Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008 et Windows 7. Des versions 32-bit et 64-bit sont disponibles. Il succède à Internet Explorer 7, lancé en 2006, et il s'agit du navigateur pré-installé de Windows 7 et Windows Server 2008 R2.
Cette version d'Internet Explorer apporte plusieurs nouveautés, elles se situent autour de fonctionnalités telles que la barre d'adresses « intelligente », et un système dit « Webslices », qui est en réalité une sorte de système de flux RSS qui permet d'afficher une page Web mise à jour sans en afficher obligatoirement dans son intégralité. S'y trouve également un concept d'« accélérateurs », qui permet d'accéder rapidement à de nouvelles fonctions en effectuant un clic droit sur un élément.
Différents tests saluent les bonnes performances d'Internet Explorer 8 en matière de sécurité$^,$, si bien que la dernière mouture du navigateur de Microsoft s'est vu décerner la certification Trusted Application par l'organisme allemand TÜV. Une sécurité qui est d'ailleurs la qualité mise en avant par Microsoft depuis longtemps, mais qui jusque-là s'appuyait sur la seule étude de NSS Labs, commandée par la firme elle-même et datant de juillet 2009. En marge de cela, les gouvernements allemands et français avaient déconseillé son usage au profit de « navigateurs alternatifs », pour des raisons de sécurité. Cette recommandation a fait suite à une vaste et complexe cyberattaque contre des entreprises en Chine, dont Google, dans laquelle le navigateur Internet Explorer a été le vecteur de sa mise en œuvre. En réalité, il semblerait que seule la version 6 du navigateur ait été touchée. Un correctif a de toute façon été proposé par Microsoft depuis.

## Part de marché

Selon le Benchmark Group, la part de marché d'Internet Explorer 8 s'est établie à 7,8 % en août 2009, contre 6,7 % en juin et juillet de la même année. Sur la même période, la PDM de la version 6 d'Internet Explorer a été évalué à 15,5 %, et celle de la version 7 à 42,3 %. Ces chiffres de migration sont largement inférieurs à ceux désirés par Microsoft, et les concepteurs Web (qui doivent continuer de coder de façon compatible avec les anciennes versions). Sa part de marché mondial atteint 20,54 % en octobre 2009, dont 2,42 points pour le mode de compatibilité. Elle est en septembre 2011 de 25,08 %.

## Conformité aux standards

L'avancée majeure de la version 8 du navigateur est son évolution vers un meilleur respect des standards (du W3C, notamment). Cette avancée est cependant quelque peu obscurcie par la présence de plusieurs modes d'affichage :
* standards : le nouveau mode d'affichage propre à IE8 ;
* strict : le mode d'affichage de IE7 ;
* quirks : celui de IE 5.
Les paragraphes ci-dessous concernent uniquement le mode «standards», le plus avancé.

### CSS

Internet Explorer 8 est conforme (ou quasiment) au standard CSS 2.1, ce qui est une vraie nouveauté dans l'univers Microsoft. Cette avancée se traduit par
* l'implémentation des propriétés CSS 2.1 ;
* un modèle visuel (principe d'affichage graphique, modèle de boîtes, gestion des marges) conforme, et donc différent de ceux des versions précédentes du navigateur ;
* une interprétation correcte des règles CSS, et notamment des sélecteurs. En conséquence, les « hacks » CSS spécifiques à IE7 ou IE6 sont inopérants pour IE8 en mode « standards ».
IE8 passe avec succès le test Acid 2.
Par contre IE8 n'implémente que très peu des nouveautés introduites par CSS 3, et reste sur ce point en retard sur les autres navigateurs.

### Javascript

Cette version apporte peu de nouveauté sur le cœur du langage JavaScript. La version du langage implémentée est toujours la 1.5 (contre 1.7 ou 1.8 voire 1.9 pour les navigateurs Firefox, Safari et Chrome).
Le moteur a par contre gagné en performance, comme tous les moteurs JavaScript développés dans les versions récentes des autres navigateurs.
Le système des gestionnaires d'évènements n'a pas évolué et reste typique au navigateur, expliquant en partie le mauvais score de IE8 au test de compatibilité Acid 3.

#### DOM Javascript

Quelques changements notables quant à l'implémentation du DOM :
* La fonction getElementById est conforme au standard (cherche uniquement selon l'attribut id en ignorant désormais l'attribut name) ;
* Les fonctions setAttribute et getAttribute adoptent un comportement standard.

#### Recherche par sélecteur

IE8 implémente (avec quelques restrictions) Selectors API, une norme du W3C. Il est ainsi l'un des premiers navigateurs à disposer de cette API dans une version de production.
La restriction principale porte sur le fait que seuls les sélecteurs CSS2.1 sont pris en compte.

## Les différents modes d'affichage

Bien que le nouveau mode d'affichage soit de loin le plus évolué, Internet Explorer 8 peut néanmoins utiliser des modes d'affichage plus anciens. Le mode d'affichage utilisé appelé « documentMode » peut être consulté en javascript dans l'attribut document.documentMode. Voici la liste des valeurs possibles
| 8 | standard IE 8 |
| 7 | émulation IE 7 |
| 5 | émulation du mode quirks d'IE 5 |
* Le navigateur passe automatiquement en mode 5 pour tous les documents ne comportant pas de DOCTYPE.
* Le basculement entre les modes 7 et 8 n'est pas automatique, mais il peut être forcé soit par l'utilisateur, soit par le serveur.

### Émulation IE 7

Quand le navigateur est dans ce mode, il se comporte comme IE7 tant pour l'analyse du document, son affichage que pour l'analyse du javascript. Ce qui inclut :
* dans les commentaires conditionnels, le navigateur se considère comme IE 7. Le test [if IE 8], par exemple, s'avère négatif ;
* l'analyse des CSS se fait comme IE7 ;
* les fonctions javascript introduites par IE8 sont inconnues et celles dont le comportement a été modifié par IE8 reprennent leur comportement précédent.
Différences entre IE7 et son émulation par IE8 :
* la propriété javascript document.documentMode est définie, et elle vaut 7 (alors que pour IE7 natif, elle est indéfinie) ;
* la propriété javascript navigator.appName ainsi le User Agent de IE8 contiennent la sous-chaîne Trident/4.0 (quel que soit le mode de fonctionnement).

### Forcer le mode d'affichage (8 ou 7)
#### Dans le document (ou côté serveur)

Le mode d'affichage peut être fixé en envoyant en HTTP la propriété X-UA-Compatible. Le plus souvent cette propriété est envoyée au moyen d'une balise META placée dans l'en-tête du document HTML (comme toutes les autres propriétés HTTP, elle peut aussi être définie dans le paramétrage du serveur ou envoyée par un langage de script comme PHP).
Exemple : <meta http-equiv="X-UA-Compatible" content="IE=8" />
Valeurs possible pour la variable X-UA-Compatible:
| valeur | comportement |
| IE=edge | utiliser le mode le plus avancé disponible |
| IE=8 | utiliser le mode IE8 |
| IE=EmulateIE8 | Utiliser le mode IE8 si le document comporte un DOCTYPE, ou le mode IE5 dans le cas contraire |
| IE=7 | utiliser le mode IE7 |
| IE=EmulateIE7 | Utiliser le mode IE7 si le document comporte un DOCTYPE, ou le mode IE5 dans le cas contraire |
| IE=5 | utiliser le mode IE5 |

#### Côté utilisateur

L'utilisateur peut, dans la configuration de compatibilité, forcer Internet Explorer 8 à utiliser le mode d'émulation IE7. Il peut
* forcer ou non le mode IE7 pour les sites de l'intranet (activé par défaut) ;
* forcer ou non le mode IE7 pour une « blacklist » de sites qu'il gère lui-même ;
* forcer ou non le mode IE7 pour une « blacklist » de sites déterminée par Microsoft (activé par défaut en cas d'upgrade) ;
* forcer ou non le mode IE7 pour tous les sites.
Quand Internet Explorer 8 est forcé par l'utilisateur à utiliser le mode IE7, alors il se présente comme IE7 dans le User Agent (il envoie la sous-chaîne MSIE 7.0 au lieu de la sous-chaîne MSIE 8.0; seule la présence supplémentaire de la sous-chaîne Trident/4.0 permet de le distinguer d'un IE7 natif).
Noter que les spécifications côté serveur l'emportent sur celles fixées par l'utilisateur.

## Sécurité

En juillet 2009, Microsoft publie les résultats de deux batteries de tests réalisés par le laboratoire indépendant NSS Labs. Ces tests avaient pour but de mesurer l'efficacité des navigateurs à lutter contre l'hameçonnage (« phishing ») et contre les maliciels (« malwares »). IE8 était opposé à Google Chrome 2, Mozilla Firefox 3, Apple Safari 4 et Opera 10 bêta. Des médias spécialisés dans l'informatique$^,$$^,$ remettent en cause la fiabilité de l'étude, en raison du caractère mandaté de l'étude. Microsoft a en effet commandé cette étude à la société NSS Labs. Les études (appâtage et maliciels) sont disponibles sur le site de NSS Labs.
En avril 2010, Internet explorer 8 reçoit une certification de l'organisme allemand TÜV, qui lui décerne le titre de Trusted Application pour son haut niveau de sécurité.

## Campagne de promotion
### Tableau comparatif avec Mozilla Firefox et Google Chrome

En juin 2009, Microsoft publie un tableau comparant IE8, Firefox 3 et Chrome 2 au regard de 10 critères (sécurité, vie privée, facilité d'utilisation, standards du Web, outils pour développeurs, fiabilité, personnalisation, compatibilité, maniabilité, performance). La communauté des concepteurs de site Web dénonce alors le manque d'objectivité des informations fournies par Microsoft. Les sites grand public traitant de l'actualité informatique et numérique déplorent également des déformations par rapport à la réalité$^,$. Un développeur Web, Kilian Valkhof, reprend le document de Microsoft dans le but de le corriger.

### Financement de huit repas pour un téléchargement

Pour inciter les internautes américains à télécharger Internet Explorer 8, la firme s'engage à reverser l'équivalent de huit repas à l'association Feeding America (du 8 juin au 8 août 2009)$^,$. Cette opération baptisée « Browser for the Better » (« Le navigateur pour le meilleur ») se base sur un site dédié et est complétée par une série de vidéos thématiques. Mais l'une d'elles, jugée grossière par des internautes, fut retirée rapidement. Cette campagne caritative a été froidement accueillie sur le Web, perçue comme une initiative désespérée de Microsoft pour promouvoir son navigateur, vers lequel trop peu d'utilisateurs migrent.

### Trésor de 10 000 dollars australiens enterrés

Pour encourager les utilisateurs de Windows à migrer vers la version 8 du navigateur, la division australienne de Microsoft organise un jeu courant juin 2009 : « Ten Grand is Buried Here. Un mini-site dédié est mis en ligne. Ce dernier annonce le but du jeu : « Nous avons enterré 10 000 dollars australiens ($AU) (environ 5 867 € de l'époque) sur Internet et si vous êtes le premier à les trouver, vous les garderez » à la condition de naviguer avec IE8 (« Mais vous ne les trouverez jamais avec ce navigateur [Firefox] (alors débarrassez-vous en ou dégagez d'ici) »). Le jeu exige en effet d'utiliser IE8 pour jouer. Le site dédié affiche des messages différents en fonction du navigateur$^,$. Seuls les utilisateurs d'IE8 peuvent accéder à des indices (sur le site dédié), cela était facilement contournable en changeant son User-Agent, qui sont émis depuis un compte Twitter créé pour l'opération. Un partisan de Mozilla donne une réponse au jeu sous la forme du site www.tengrandisburiedthere.com : le trésor se situerait sous un agroglyphe en forme de logo Firefox.