1. Brève introduction à l’HTML5
Depuis quelques temps, on entend parler ici et là de HTML5 ou XHTML5, ce format de données développé par W3C et WHATWG, révision majeure du moteur HTML, est conçu pour représenter les pages Web. Ce nouveau standard intègre une couche applicative donnant accès à de nombreuses API et à de nouvelles balises HTML, supportées par la plupart des navigateurs modernes.
Actuellement, HTML5 est toujours en développement par le W3C, et l’on attend une finalisation des spécifications prévue pour 2014. Mais le W3C encourage les développeurs Web à implémenter cette technologie dès maintenant, car aujourd’hui rien ne les empêche d’utiliser le DOCTYPE HTML5 dans leurs projets Web.
Bien sûr, le but du jeu sera d’utiliser les nouvelles balises HTML5 (canvas, section, aside, footer, header, article, video, audio, etc. ) et pas seulement le DOCTYPE HTML5.
En revanche, toutes ces implémentations ne sont pas supportées nativement par certains navigateurs du marché, pour ne pas les citer IE6 , IE7, IE8, etc.
Il existe cependant certaines astuces permettant d’implémenter les nouvelles balises ou de simuler les nouveaux comportements des API HTML5 en utilisant des plugins Javascript (ex : Api drag & drop). Cette tendance commence à s’inverser car la plupart des navigateurs modernes fournissent de plus en plus de compatibilité avec ces nouvelles balises et API.
En voici une liste non exhaustive de ces nouveaux User Agent :
- IE 9,
- IE 10 bientôt sur Windows 7 et Windows 8,
- Firefox 3.6,
- Firefox 4+,
- OPERA 11,
- Safari 5+,
- Chrome,
- Ipad,
- Iphone,
- Android,
- Windows Phone IE 9 mobile.
Pour plus d’information, je vous invite à lire cet excellent article sur HTML 5.
| Pour connaître la liste des fonctionnalités supportées par les différents navigateurs du marché sur les technos HTML5 / CSS3 voici quelques sites intéressants : Une présentation détaillée de HTML5 HTML5 et CSS3 par l’exemple Lecture des HTML5 et CSS3 dans les navigateurs |
2. HTML5 et CSS3 : une paire indissociable ?
Beaucoup de gens pense que HTML5 rime avec CSS3 mais c’est faux, CSS3 est juste une mise à jour majeure des feuilles de style de la version CSS2.1. Son développement a débuté dès 1999, mais la plupart de ces implémentations ne sont toujours pas supportées par tout les navigateurs modernes.
Cependant une multitude de nouveautés accompagnent CSS3 :
- Effets visuels : border-radius, text-shadow, font-face…
- Sélecteurs : nth-child(odd)
- De nouveaux outils : Media Queries, Column-count, Grid layout
Quelques navigateurs tentent par ailleurs de changer la donne, en faisant de leur mieux pour respecter les spécifications du W3C. Pour cela, lorsqu’ils implémentent de nouvelles propriétés expérimentales, ils ajoutent un préfixe aux attributs des propriétés CSS.
Voici une liste non exhaustive de ces préfixes :
- -moz- : Firefox
- -webkit- : Chrome,Safari,Iphone,Android
- -o- : Opera
- -ms- : Internet explorer
- etc.
| Pour plus d’informations sur ces nouvelles implémentations CSS3, je vous invite à consulter les sites suivants : Présentation et stylisation du CSS3 Support du HTML5 et du CSS3 selon les navigateurs, comparatif et indispensable Can I use ? Bonnes pratiques du couple HTML5/CSS3 |
3. HTML5 et CSS3 dans IE10
Entrons maintenant dans le vif du sujet car Microsoft nous dévoile sa nouvelle mouture d’ Internet Explorer IE 10 Platform Preview. La version définitive de IE 10 est prévue pour le second semestre de l’année et elle ne sera compatible que sur les machines tournant sur Windows 7 et Windows 8.
Après avoir propulsé plusieurs versions d’Internet Explorer(IE6, IE7, IE8) respectant peu les standards W3C du Web, Microsoft arrive enfin avec une version aboutie de son navigateur IE 10. En effet IE 10 sera totalement compatible HTML 5 et CSS 3 , il embarquera toutes les nouvelles implémentations validées par le W3C à ce jour et plein d’autres propriétés en cours de validation.
Pour tester toutes ces innovations majeures de IE 10, je vous conseille de faire un tour sur ce site qui les récapitulent Test Drive Site Map.
Bien sûr, munissez-vous d’une machine tournant sur Windows 7 ou sur Windows 8 Developper Preview et installez respectivement IE 10 Platform Preview 2 ou IE 10 Platform Preview 4.
Cas pratique dans le navigateur IE10
Je vais maintenant vous présenter une propriétés CSS3 assez intéressante, pour l’instant disponible uniquement sur IE 10 Grid Layout -ms-grid-, mais qui ne tardera pas à être implémentée sur Mozilla et Chrome 19.
CSS3 Grid layout et Metro
Et oui, après XBOX 360, Windows Phone, Windows 8, IE 10 nous offre la possibilité de designer des interfaces Web intuitives de type Metro grâce à la propriété -ms-grid. Le concept de Grid layout est de créer une grille virtuelle composée de lignes et de colonnes sur la page Web. Ainsi on pourra facilement disposer des éléments sur cette grille , les aligner, les centrer et les superposer de façon intuitive ; le tout sans structure HTML nécessitant un balisage particulier comme le faisait auparavant la balise Table.
Démonstration
Prenons un exemple concret : je vais représenter une partie de l’interface Metro de Windows 8 sur une page Web avec la propriété Grid Layout.
Explication
Nous allons créer une page Web dans laquelle la div principale #main de type Grid constituée de 2 colonnes de largeur automatique et de 6 lignes de hauteur automatique qui contiendra plusieurs logos que l’on placera à divers endroits :
- Logo 1 est placé à la colonne 1 et à la ligne 1 disposé sur toute la largeur
- Logo 2 est placé à la colonne 1 et à la ligne 2
- Logo 3 est placé à la colonne 2 et à la ligne 2
- Logo 4 est placé à la colonne 1 et à la ligne 3 disposé sur toute la largeur
Feuille de style – css.css
body{ background:green; display:-ms-grid; -ms-grid-columns:auto; -ms-grid-rows:1; } div {margin: 2px 0px 2px 0}
#main{ display:-ms-grid;/* Affichage de type Grid*/ -ms-grid-column:1; -ms-grid-row:1; -ms-grid-columns:auto auto; -ms-grid-rows:(auto)[6]; }
#b1{ -ms-grid-column:1; -ms-grid-column-span:2; -ms-grid-row:1; background:url(i/1.png); width:252px; height:120px; }
#b2{ -ms-grid-column:1; -ms-grid-row:2; background:url(i/2.png); width:126px; height:126px; }
#b3{ -ms-grid-column:2; -ms-grid-row:2; background:url(i/3.png); width:126px; height:126px; }
#b4{ -ms-grid-column-span:2; -ms-grid-column:1; -ms-grid-row:3; background:url(i/8.png); width:252px; height:120px; }
Code html 5 – index.html
<!DOCTYPE html>
<html>
<head>
<link href= »css.css » media= »all » rel=« stylesheet » />
</head>
<body>
<div id= »main« >
<divid= »b1« ></div>
<div id= »b2« ></div>
<div id= »b3« ></div>
<div id= »b4« ></div>
</div>
</body>
</html>
Résultat
Voilà, la partie 1 sur HTML5 et CSS3 est terminée. Nous avons vu une infime partie des nouveautés supportées par IE 10, que ce soit au niveau CSS3 ou balisage HTML5.
La seconde partie se concentrera plus sur les nouveautés du côté de l’API HTML 5.
Pour plus d’infos, consulter :
http://ie.microsoft.com/testdrive/Views/SiteMap/ sur IE 10 Preview 2 (avec Windows 7)
http://ie.microsoft.com/testdrive/Views/SiteMap/ sur IE 10 Preview 4 (avec Windows 8 Developper Preview )
Christophe Rafina
































