Archive for the ‘Windows et IE’ Category

Les développeurs HTML le savent bien : impossible de faire des styles uniformes sous tous les navigateurs ! Chacun a ses particularités : chrome et ses webkit-, safari qui n’en met pas et firefox qui -moz ifie un peu tout… et IE qui ne fait rien !

La solution pour IE : PIE.htc

La solution proposée ici a été développée pour supporter le CSS 3 sur Internet Explorer. Pour ce faire, on utilise une particularité CSS de Internet Explorer pour exécuter du JavaScript, qui va recréer le style CSS 3.

Voir la démo sur css3pie.com

Mise en place

Il suffit de rajouter une ligne CSS au style des éléments qui ont du CSS3.

  1. <style type="text/css">
  2. .rounded-corner5
  3. {
  4.   -webkit-border-radius: 5px; /* Chrome */
  5.   border-radius: 5px; /* CSS3 */
  6.   -moz-border-radius: 5px; /* Mozilla */
  7.   behavior: url(PIE.htc); /* Internet Explorer */
  8. }
  9. </style>

Exemple d’utilisation

Ceci est un div en exemple, avec des bords arrondis

Dépannage : quelques règles à respecter tout de même…

Il y a principalement deux problèmes qui peuvent être rencontrés :

  1. Mime-type : par défaut sous linux, le fichier .htc est reconnu comme étant du type text/html, mais doit être du type text/x-component pour que ça fonctionne. Plusieurs solutions, en fonction de ce que vous pouvez faire : modifier la configuration du serveur /etc/mime.types pour rajouter ce champ, rajouter la ligne AddType text/x-component .htc à votre configuration apache ou .htaccess, ou enfin créer un fichier de script du type PHP en utilisant le code header('Content-type: text/x-component') pour spécifier le type contenu.
  2. Domaine, répertoire et droits : le CSS ne va fonctionner que si le fichier .htc est sur le même domaine que le site qui sert le HTML : impossible donc d’utiliser la traditionnelle et non moins nécessaire segmentation des contenus dynamiques/statiques. Du coup, les rendu CSS3 utilisant des url() risquent d’être mal considérées si le chemin est relatif.

English version : CSS3 for Internet Explorer with PIE.htc

Les développeurs le savent bien : comment faire marcher son site sur les autres navigateurs relève à la fois du casse-tête et de la patience : le casse-tête de faire des feuilles de styles compatibles, et la patience pour avoir un environnement permettant de tester tout ça…

IETester

IETester est un logiciel qui vous permet de tester votre site internet sous les différentes versions d’Internet Explorer : IE5.5, IE6, IE6, IE8, IE9, IE10…

Le principe est simple : vous avez des onglets qui vont appeler les différents moteurs de rendus des précédentes versions de IE.

Cerise sur le gâteau : des outils de développements

Non content de fournir déjà ce premier service, IETester englobe aussi des outils de développement : la possibilité de voir le code HTML interprété, mais aussi le style interprété (par le parser IE, pas par IE lui-même !), un DOM explorer…

Par ailleurs, le logiciel dispose aussi de boutons raccourcis bien pratique, comme le rechargement d’une page sans l’utilisation du cache.

Limites : les extensions

Malheureusement – et ce n’est pas du tout un reproche tellement la problématique est différente et complexe – ceci n’est pas une solution pour tester ses extensions sous les différentes version de IE, et ce pour plusieurs raisons :

  • IETester n’utilise que le moteur de rendu, donc il n’est pas possible d’ajouter des interfaces (boutons, toolbar, …) ou des BHO a fortiori ;
  • les extensions doivent aussi être testées sous les différentes version de windows et différents environnements : XP, Vista, 7 sous différents SP, mais aussi en mode de confidentialité ou non.

Pour ça, je crois que la seule solution est d’utiliser des Virtual Machines conjointement avec des Snapshots.

A peine Vista sorti, et déjà une mouture du prochain Windows Seven disponible en version bêta.

J’ai pu la tester à partir de VirtualBox. En gros, c’est du Vista dans les interfaces. Grande différence par rapport aux autres versions : un système de dock à icônes à la Mac OS X.

Ma petite astuce du jour : pour que la connexion internet de VirtualBox fonctionne, il faut installer les Guest Additions; mais il faut d’abord penser à faire un clic-droit sur le fichier .exe pour définir la compatibilité (dans les propriétés), et mettre « Windows Vista ». Alors l’exécutable se lancera sans dire que l’OS n’est pas supporté. Alors vous récupèrerez votre résolution d’écran et surtout la carte ethernet sera alors reconnue.

En tout cas une bonne chose en apparence : ils ont gardé la même couche drivers que Vista, donc la majorité des périphériques supportés dans Vista seront supportés dans Seven.