Actualités

[21/07/2017] Smile lance les premiers vélos solaires connectés à l’occasion du Sun Trip Tour 2017

Smile, leader des solutions IoT et open source, confirme sa solide expertise sur le marché de l’embarqué en participant activement à la course de vélos solaires du Sun Trip Tour.

[03/07/2017] Smile remporte le Drupagora d'Or 2017 du meilleur site e-commerce

Le vendredi 30 juin, la 3ème édition des Drupagora d'Or s'est déroulée à Paris.

[30/06/2017] Découvrez les projets de nos équipes au Hackathon Data Énergie

Les 29 et 30 juin, le Hackathon Data Énergie s'est déroulé au Liberté Living Lab à Paris.

Toutes les actualités picto
       

Vous avez besoin de mettre à jour votre Lecteur Flash Flash 7

Guillemet ouvrant l'actualité des solutions
et des technologies open source Guillemet fermant
picto

Le gâchis de la compatibilité IE7

Tout en étant plus respectueux des standards, le nouvel IE7 est une punition cruelle pour tous les développeurs qui s'en préoccupaient déjà.

IE7 est sorti il y a peu, et depuis la semaine dernière, son installation est automatique, pour ceux qui ont accepté Windows-update.

Ces malheureux utilisateurs de Windows, qui pensaient se mettre à l'abris des ennuis en optant pour des mises à jour automatiques vont, du jour au lendemain, subir les défauts de compatibilité de ce nouveau navigateur. Des sites qu'ils pouvaient parcourir parfaitement la veille leur seront d'un seul coup pratiquement illisibles.

Pour les concepteurs et développeurs de sites, les problèmes de IE7 sont d'autant plus douloureux que ce sont tous les efforts faits pour bâtir des sites plus respectueux des standards qui se trouvent pénalisés.

Je m'explique. Depuis plusieurs années déjà, tous les professionnels savent qu'un montage Html respectueux des standards doit abandonner les vieux bricolages à base d'empilements de tableaux imbriqués et de fausses images utilisées pour du calage. Un montage Html moderne doit remplacer ces vieilles techniques par une utilisation généralisée des styles au standard CSS.

Mais sur cette route des standards, il y avait un petit problème : IE6, sorti en 2001, présentait plusieurs défauts de compatibilité. Qu'à cela ne tienne, Microsoft avait communiqué des techniques permettant de contourner les défauts de IE6, en invoquant des fonctions cachées que Microsoft appelait des « hacks » ou encore - plus élégant - des « filters ». Ainsi, les développeurs les plus pointus, les plus soucieux d'un montage de qualité et les mieux informés, commencèrent à utiliser ces « hacks » pour pouvoir mettre en place des sites « full CSS ».

Je cite la page de référence de Microsoft sur le sujet des problèmes de compatibilité IE7 :

Je prends un extrait:

« (...) In some cases a few of these changes may have the effect of making existing content render in ways that are not compatible with IE6. This is often seen with elements moving to a different area of the page or overlapping content when viewed in IE7. These issues are most common on content that is using particular CSS constructs (often know as "hacks" or filters) to work around bugs that existed under the strict mode in IE6. (...) »

Microsoft nous confirme ici que les "hacks" étaient les techniques destinées à contourner des bugs de support CSS qui existaient dans IE6. C'est important: non pas des choses étranges inventées par des développeurs bidouilleurs, mais la manière recommandée de contourner des bugs connus, qui empêchaient de faire du CSS complet.

Le paradoxe, c'est qu'avec son nouveau navigateur, Microsoft faisait un gros effort de respect des standards, corrigeant les défauts de IE6, Mais au passage, brûlant les étapes, Microsoft ne reconduisait pas les points d'entrée des hacks de IE6. Ainsi, tous les sites qui utilisaient ces fameux hacks n'étaient pas compatibles avec IE7. Au début, ce ne fut pas la panique, ce n'étaient que des bétas, personne ne pouvait imaginer que ces incompatibilités pourraient subsister dans une version finale, surtout avec le terrible Windows update, qui rendrait des milliers de sites inaccessibles du jour au lendemain. Et bien si ! La version stable est aujourd'hui diffusée automatiquement et des quantités de sites deviennent illisibles ou presque.

Pourtant, une étude publiée récemment aux Etats-Unis, indique que 13% des sites des plus grandes entreprises américaines (le FTSE-100), présentent des défauts d'affichage avec IE7, et confirme que justement, ce sont les sites les plus récents et les plus respectueux des standards qui sont pénalisés.

13%: le pourcentage n'est pas énorme, car une majorité de sites étaient trop anciens pour intégrer du montage full-CSS, et beaucoup, même parmi les plus récents, ne s'en préoccupaient pas, par simple ignorance des standards et bonnes pratiques.

C'est précisément ce qui est insupportable: que ce soient aujourd'hui les développeurs les plus soucieux de bonnes pratiques qui passent pour des fauteurs de problèmes.

Bon, terminons sur une note positive: nous pourrons bientôt arrêter le support de IE5.5, qui était une honte sur le plan des standards, et une fois IE7 généralisé, les différences entre les navigateurs leaders seront négligeables.

Patrice Bertrand
picto

Commentaires

       
Guyllaume Doyer
Petit bémol technique sur ce que dit Patrice. On pourra distinguer 3 grands types de sites qui donneront des résultats différents sour IE7 :

- les sites montés en tableaux : bien que ce soit maintenant une véritable "horreur" technique, les sites de cette catégorie ne devraient pas ou peu souffrir du passage sous IE7.
- les sites en "full div" mal codés (concepts css mal assimilés) : ceux-là sont surement ceux qui subiront le plus de problèmes. Sans entrer dans des détails techniques, il y a certaines pratiques css à éviter. Malheureusement, celles-ci sont encore trop utilisées pour résoudre des problèmes qui pourraient l'être autrement, mais encore faut-il prendre le temps de réfléchir sur ce que l'on fait.
- les sites en "full div" codés de façon relativement propre, mais ayant quelques rustines pour IE : Ceux-là ne devraient également pas poser trop de problème. Il suffira simplement de faire en sorte qu'IE7 ne tienne pas compte de ces rustines. Dans la pratique, il suffira en général d'une simple externalisation de ces rustines dans une feuille de style particulière que l'on appelera via un commentaire conditionnel restrictif à IE6 et/ou antérieures. S'il reste malgré tout quelques bugs, une simple feuille de style spéciale pour IE7 et le tour est joué (toujours appellée via un commentaire conditionnel).

Certes, cette période de transition d'IE6 à IE7 risque d'être un peu tendue pour certains, les développeurs web en premier, qui vont devoir "jongler" entre les 2 versions mais de toute façon, il vaut mieux une cassure nette plutôt que de continuer à avoir un navigateur "hybride", mélangant respect de certains standards et interprétation personnelles.
Ce pas en avant de Microsoft va peut-être aussi jouer le role de catalyseur pour tous nos collègues artisans du web qui n'auraient pas encore saisi l'intérêt des standards, et malheureusement il y en a et tous ceux qui, bien que partisans des standards, préfèrent colmater les fuite plutôt de chercher d'où viennent pourquoi ils y en a.

Pour finir, je ne qualifierai pas IE7 de gachis. Bien au contraire, puisqu'avec ses évolutions par rapport à la version 6, les développeurs web vont enfin pouvoir exploiter vraiment les possibilités que nous offrent les standards.
Sans compter que la mise à jour automatique vers IE7 (à noter que Microsoft fourni un kit de blocage pour ceux voulant rester sous leur version actuelle), va permettre une certaine épuration du parc mondial des browsers, permettant ainsi de reléguer les utilisateurs d'IE6 et antérieures au rang de "faible minorité" et de fait, ces derniers pourront être d'ici peu, carrément abandonnés des listes de navigateurs cibles des Cahiers des Specs des sites que nous créons.

le mot de la fin : le pushing d'IE7 ? Un mal pour un bien !!
lundi 08 octobre 2007 @ 8:51
       
Ecrire un nouveau commentaire