HTML5 - HTML5

HTML5
(langage de balisage hypertexte)
HTML5-logo.svg
Extension de nom de fichier
.html, .htm
Type de média Internet
texte/html
Tapez le code TEXTE
Identificateur de type uniforme (UTI) public.html
Développé par WHATWG
Première version 22 janvier 2008
(il y a 13 ans)
 ( 2008-01-22 )
Type de format Langage de balisage
Standard HTML LS
Format ouvert ? Oui

HTML5 est un langage de balisage utilisé pour structurer et présenter du contenu sur le World Wide Web . Il s'agit de la cinquième et dernière version HTML majeure qui est une recommandation du World Wide Web Consortium (W3C). La spécification actuelle est connue sous le nom de HTML Living Standard . Il est géré par le groupe de travail Web Hypertext Application Technology (WHATWG), un consortium des principaux fournisseurs de navigateurs ( Apple , Google , Mozilla et Microsoft ).

HTML5 a été publié pour la première fois sous une forme publique le 22 janvier 2008, avec une mise à jour majeure et le statut de « recommandation W3C » en octobre 2014. Ses objectifs étaient d'améliorer le langage avec la prise en charge des dernières fonctionnalités multimédias et d'autres nouvelles fonctionnalités ; pour que le langage reste à la fois facilement lisible par les humains et systématiquement compris par les ordinateurs et les appareils tels que les navigateurs Web , les analyseurs , etc., sans la rigidité de XHTML ; et de rester rétrocompatible avec les anciens logiciels. HTML5 est destiné à englober non seulement HTML 4, mais aussi XHTML 1 et DOM niveau 2 HTML.

HTML5 inclut des modèles de traitement détaillés pour encourager des implémentations plus interopérables ; il étend, améliore et rationalise le balisage disponible pour les documents et introduit le balisage et les interfaces de programmation d'applications (API) pour les applications Web complexes . Pour les mêmes raisons, HTML5 est également un candidat pour les applications mobiles multiplateformes car il inclut des fonctionnalités conçues pour les appareils à faible consommation.

De nombreuses nouvelles fonctionnalités syntaxiques sont incluses. Pour inclure nativement et multimédia poignée et graphique contenu, les nouveaux <video>, <audio>et des éléments ont été ajoutés, et le soutien aux graphiques vectoriels adaptables contenu (SVG) et MathML pour les formules mathématiques a également été ajouté. Pour enrichir le contenu sémantique des documents, de nouveaux éléments de structure de page tels que , , , , , , , et sont ajoutés. De nouveaux attributs ont été introduits, certains éléments et attributs ont été supprimés et d'autres tels que , , et ont été modifiés, redéfinis ou standardisés. Les API et le modèle d'objet de document (DOM) sont désormais des éléments fondamentaux de la spécification HTML5, et HTML5 définit également mieux le traitement de tout document invalide. <canvas> <main><section><article><header><footer><aside><nav><figure><a><cite><menu>

Histoire

Le groupe de travail Web Hypertext Application Technology (WHATWG) a commencé à travailler sur la nouvelle norme en 2004. À cette époque, HTML 4.01 n'avait pas été mis à jour depuis 2000 et le World Wide Web Consortium (W3C) se concentrait sur les futurs développements sur XHTML 2.0 . En 2009, le W3C a laissé expirer la charte du groupe de travail XHTML 2.0 et a décidé de ne pas la renouveler.

La Fondation Mozilla et Opera Software ont présenté un document de position lors d'un atelier du World Wide Web Consortium (W3C) en juin 2004, axé sur le développement de technologies rétrocompatibles avec les navigateurs existants, y compris un premier projet de spécification de Web Forms 2.0. L'atelier s'est terminé par un vote (8 pour, 14 contre) pour la poursuite des travaux sur HTML. Immédiatement après l'atelier, WHATWG a été formé pour commencer à travailler sur la base de ce document de position, et un deuxième projet, Web Applications 1.0, a également été annoncé. Les deux spécifications ont ensuite été fusionnées pour former HTML5. La spécification HTML5 a été adoptée comme point de départ des travaux du nouveau groupe de travail HTML du W3C en 2007.

Ian Hickson (Google) et David Hyatt ( Apple ) de WHATWG ont produit le 22 janvier 2008 le premier projet de travail public de la spécification du W3C.

"Réflexions sur Flash"

Alors que certaines fonctionnalités de HTML5 sont souvent comparées à celles d' Adobe Flash , les deux technologies sont très différentes. Les deux incluent des fonctionnalités pour la lecture audio et vidéo dans les pages Web et pour l'utilisation de graphiques vectoriels évolutifs . Cependant, HTML5 seul ne peut pas être utilisé pour l'animation ou l'interactivité - il doit être complété par CSS3 ou JavaScript . Il existe de nombreuses fonctionnalités Flash qui n'ont pas d'équivalent direct dans HTML5 (voir Comparaison de HTML5 et Flash ). Les capacités interactives de HTML5 sont devenues un sujet d'attention dans les médias grand public vers avril 2010 après que le PDG d' Apple Inc. , Steve Jobs, a publié une lettre publique intitulée « Pensées sur Flash » dans laquelle il concluait que « Flash n'est plus nécessaire pour regarder des vidéos ou consommer tout type de contenu Web" et que "les nouveaux standards ouverts créés à l'ère du mobile, tels que HTML5, l'emporteront". Cela a déclenché un débat dans les cercles de développement Web suggérant que, bien que HTML5 offre des fonctionnalités améliorées, les développeurs doivent prendre en compte la prise en charge variable des navigateurs des différentes parties de la norme ainsi que d'autres différences de fonctionnalités entre HTML5 et Flash. Début novembre 2011, Adobe a annoncé qu'il arrêterait le développement de Flash pour les appareils mobiles et réorienterait ses efforts vers le développement d'outils utilisant HTML5. Le 25 juillet 2017, Adobe a annoncé que la distribution et la prise en charge de Flash cesseraient d'ici la fin de 2020. Adobe lui-même a officiellement arrêté Flash le 31 décembre 2020 et l'exécution de tout le contenu Flash a été bloquée dans Flash Player à compter du 12 janvier 2021.

Étapes du dernier appel, de la candidature et de la recommandation

Le 14 février 2011, le W3C a étendu la charte de son groupe de travail HTML avec des jalons clairs pour HTML5. En mai 2011, le groupe de travail a fait passer HTML5 à "Last Call", une invitation aux communautés à l'intérieur et à l'extérieur du W3C pour confirmer la solidité technique de la spécification. Le W3C a développé une suite de tests complète pour atteindre une large interopérabilité pour la spécification complète d'ici 2014, qui était la date cible pour la recommandation. En janvier 2011, le WHATWG a renommé sa spécification « HTML5 » HTML Living Standard . Le W3C a néanmoins poursuivi son projet de sortie HTML5.

En juillet 2012, le WHATWG et le W3C ont décidé d'un degré de séparation. Le W3C poursuivra le travail de spécification HTML5, en se concentrant sur une seule norme définitive, considérée comme un « instantané » par WHATWG. L'organisation WHATWG poursuit son travail avec HTML5 comme « standard vivant ». Le concept d'un niveau de vie est qu'il n'est jamais complet et qu'il est toujours mis à jour et amélioré. De nouvelles fonctionnalités peuvent être ajoutées mais les fonctionnalités ne seront pas supprimées.

En décembre 2012, le W3C a désigné HTML5 comme recommandation candidate. Le critère d'avancement vers la recommandation du W3C est « deux implémentations 100 % complètes et entièrement interopérables ».

Le 16 septembre 2014, le W3C a déplacé HTML5 vers la recommandation proposée. Le 28 octobre 2014, HTML5 a été publié en tant que recommandation du W3C, ce qui a permis d'achever le processus de spécification. Le 1er novembre 2016, HTML 5.1 a été publié en tant que recommandation du W3C. Le 14 décembre 2017, HTML 5.2 a été publié en tant que recommandation du W3C.

Chronologie

Les chronologies combinées pour HTML5.0, HTML5.1 et HTML5.2 :

Version Premier essai Recommandation de candidat Recommandation
HTML5.0 2007 2012 2014
HTML5.1 2012 2015 2016
HTML5.2 2015 2017 2017
HTML5.3 2017 N / A N / A

Conflit W3C et WHATWG

Le W3C a cédé l'autorité sur les normes HTML et DOM au WHATWG le 28 mai 2019, car il considérait qu'avoir deux normes était préjudiciable. Le HTML Living Standard fait désormais autorité. Cependant, le W3C participera toujours au processus de développement du HTML.

Avant la cession de l'autorité, le W3C et le WHATWG avaient été caractérisés comme travaillant tous deux ensemble sur le développement de HTML5, mais aussi à contre-courant depuis la scission de juillet 2012, créant WHATWG. La norme W3C était basée sur des instantanés et statique, tandis que le WHATWG est une « norme vivante » continuellement mise à jour. La relation avait été qualifiée de « fragile », voire de « faille », et caractérisée par des « chamailleries ».

Dans au moins un cas, à savoir le contenu admissible de l' élément, les deux spécifications se contredisaient directement (à partir de juillet 2018), la définition du W3C permettant un éventail d'utilisations plus large que la définition du WHATWG. <cite>

La section "Introduction" de la spécification WHATWG (éditée par Ian "Hixie" Hickson ) est critique envers le W3C, par exemple " Remarque : bien que nous leur ayons demandé d'arrêter de le faire, le W3C republie également certaines parties de cette spécification en tant que documents séparés. " Dans sa sous-section "Historique", il décrit le W3C comme résistant aux plans HTML 5 originaux de Hickson et de WHATWG, puis prend le train en marche tardivement (bien que Hickson contrôlait également la spécification HTML 5 du W3C). Quoi qu'il en soit, cela indique un fossé philosophique majeur entre les organisations :

Pendant plusieurs années, les deux groupes ont ensuite travaillé ensemble. En 2011, cependant, les groupes sont arrivés à la conclusion qu'ils avaient des objectifs différents : le W3C voulait publier une version « finie » de « HTML5 », tandis que le WHATWG voulait continuer à travailler sur un niveau de vie pour HTML, en maintenant en permanence la spécification plutôt que de le geler dans un état avec des problèmes connus et d'ajouter de nouvelles fonctionnalités si nécessaire pour faire évoluer la plate-forme.

Depuis lors, le WHATWG a travaillé sur cette spécification (entre autres), et le W3C a copié les correctifs apportés par le WHATWG dans leur fork du document (qui a également d'autres changements).

Les deux entités ont signé un accord pour travailler ensemble sur une version unique de HTML le 28 mai 2019.

Différences entre les deux normes

En plus de la contradiction dans l' élément mentionné ci-dessus, d'autres différences entre les deux normes comprennent au moins les suivantes, à compter de septembre 2018 : <cite>

Contenu ou fonctionnalités propres à la norme W3C ou WHATWG
W3C WHATWG
Pagination du site Version monopage (permet une recherche globale des contenus)
Chapitres §5 Microdonnées

§9 Communication

§10 Travailleurs Web

§11 Stockage Web

Attributs globaux : class,id : autocapitalize, enterkeyhint, inputmode, is, itemid, itemprop, itemref, itemscope, itemtype,nonce
Éléments de chapitre de HTML §4.13 Éléments personnalisés
Éléments <rb>, <rtc>(Voir les notes de compatibilité ci-dessous.)

<address>se trouve dans la section Regroupement du contenu .

<hgroup>, <menu>, <slot>(Voir les notes de compatibilité ci-dessous.)

<address>est dans la section Sections .

§ <meta> §4.2.5.4. Autres directives pragma , basées sur la procédure obsolète du WHATWG.
§ Sections § 4.3.11.2 Exemples de schémas

§ 4.3.11.3 Exposition des contours aux utilisateurs

Données structurées Recommande RDFa (exemples de code, spécifications séparées, pas d'attributs spéciaux). Recommande des microdonnées (exemples de code, chapitre de spécification, attributs spéciaux).

Le tableau suivant fournit des données du Mozilla Development Network sur la compatibilité avec les principaux navigateurs, en septembre 2018, des éléments HTML uniques à l'une des normes :

Élément Standard Compatibilité Noter
<rb> W3C Tous les navigateurs, sauf Edge
<rtc> W3C Aucun, sauf Firefox
<hgroup> WHATWG Tous les navigateurs "[Depuis] l'algorithme de contour HTML n'est implémenté dans aucun navigateur... la <hgroup>sémantique n'est en pratique que théorique."
<menu> WHATWG Prise en charge complète uniquement sur le bureau Edge et Firefox.

Prise en charge partielle dans Firefox mobile.

Pris en charge dans Opera avec l'opt-in de l'utilisateur.

Non pris en charge dans d'autres navigateurs.

Technologie expérimentale
<slot> WHATWG Tous les navigateurs, sauf IE Technologie expérimentale

Fonctionnalités et API

Le W3C a proposé de s'appuyer davantage sur la modularité en tant qu'élément clé du plan pour progresser plus rapidement, ce qui signifie identifier les fonctionnalités spécifiques, proposées ou déjà existantes dans la spécification, et les faire progresser en tant que spécifications distinctes. Certaines technologies définies à l'origine dans HTML 5 lui-même sont désormais définies dans des spécifications distinctes :

  • Groupe de travail HTML – Contexte HTML Canvas 2D ;
  • Web Apps Groupe de travail - Messagerie Web , Web workers , stockage Web , WebSocket , événements envoyés serveur- , des composants Web (ce qui ne faisait pas partie du HTML 5, bien); le groupe de travail sur les applications Web a été fermé en octobre 2015 et ses livrables transférés au groupe de travail sur la plate-forme Web (WPWG).
  • Groupe de travail IETF HyBi – Protocole WebSocket ;
  • Groupe de travail WebRTC – WebRTC ;
  • Groupe communautaire Web Media Text Tracks – WebVTT .

Certaines fonctionnalités qui ont été supprimées de la spécification HTML 5 d'origine ont été standardisées séparément en tant que modules, telles que Microdata et Canvas . Les spécifications techniques introduites sous forme d'extensions HTML 5 telles que le balisage Polyglot ont également été standardisées en tant que modules. Certaines spécifications du W3C qui étaient à l'origine des spécifications distinctes ont été adaptées en tant qu'extensions ou fonctionnalités HTML 5, telles que SVG . Certaines fonctionnalités qui auraient pu ralentir la standardisation de HTML 5 ont été ou seront standardisées en tant que spécifications à venir.

Caractéristiques

Balisage

HTML 5 introduit des éléments et des attributs qui reflètent l'utilisation typique sur les sites Web modernes. Certains d'entre eux sont des remplacements sémantiques pour les utilisations courantes des éléments génériques block ( <div>) et inline ( <span>), par exemple <nav>(bloc de navigation sur le site Web), <footer>(se référant généralement au bas de la page Web ou aux dernières lignes de code HTML), ou <audio>et <video>au lieu de <object>. Certains éléments obsolètes de HTML 4.01 ont été supprimés, y compris des éléments purement de présentation tels que <font>et <center>, dont les effets ont longtemps été remplacés par les feuilles de style en cascade plus performantes . Il y a également un accent renouvelé sur l'importance de JavaScript côté client utilisé pour créer des pages Web dynamiques .

La syntaxe HTML 5 n'est plus basée sur SGML malgré la similitude de son balisage. Il a cependant été conçu pour être rétrocompatible avec l'analyse syntaxique courante des anciennes versions de HTML. Il est accompagné d'une nouvelle ligne d'introduction qui ressemble à une déclaration de type de document SGML , <!DOCTYPE html>, qui déclenche le mode de rendu conforme aux normes . Depuis le 5 janvier 2009, HTML 5 inclut également Web Forms 2.0 , une spécification WHATWG auparavant distincte .

Nouvelles API

API liées à HTML5

En plus de spécifier le balisage, HTML 5 spécifie les interfaces de programmation d'applications (API) de script qui peuvent être utilisées avec JavaScript . Les interfaces DOM ( Document Object Model ) existantes sont étendues et les fonctionnalités de facto documentées. Il existe également de nouvelles API, telles que :

  • Toile ;
  • Lecture multimédia programmée ;
  • Hors ligne;
  • Contenu modifiable ;
  • Glisser-déposer ;
  • Histoire;
  • Enregistrement du type MIME et du gestionnaire de protocole ;
  • Microdonnées ;
  • Messagerie Web ;
  • Stockage Web  - un cadre de stockage de paires clé-valeur qui offre un comportement similaire aux cookies mais avec une plus grande capacité de stockage et une API améliorée.

Toutes les technologies ci-dessus ne sont pas incluses dans la spécification W3C HTML 5, bien qu'elles le soient dans la spécification WHATWG HTML. Certaines technologies associées, qui ne font partie ni de la spécification W3C HTML 5 ni de la spécification WHATWG HTML, sont les suivantes. Le W3C publie séparément les spécifications de ces derniers :

  • Géolocalisation ;
  • IndexedDB  – un magasin clé-valeur hiérarchique indexé (anciennement WebSimpleDB) ;
  • Fichier  - une API destinée à gérer les téléchargements de fichiers et la manipulation de fichiers ;
  • Répertoires et système - une API destinée à satisfaire les cas d'utilisation du stockage côté client qui ne sont pas bien servis par les bases de données ;
  • File Writer – une API pour écrire dans des fichiers à partir d'applications Web ;
  • Web Audio  – une API JavaScript de haut niveau pour le traitement et la synthèse audio dans les applications Web ;
  • Liste de classes.
  • API de cryptographie Web
  • WebRTC
  • Web SQL Database  – une base de données SQL locale (n'est plus maintenue) ;

HTML 5 ne peut pas fournir d'animation dans les pages Web. Du JavaScript ou CSS3 supplémentaire est nécessaire pour animer les éléments HTML. L'animation est également possible en utilisant JavaScript et HTML 4, et dans les éléments SVG via SMIL , bien que la prise en charge de ce dernier par le navigateur reste inégale à partir de 2011.

XHTML 5 (HTML 5 sérialisé XML)

Les documents XML doivent être servis avec un type de média Internet XML (souvent appelé « type MIME ») tel que application/xhtml+xmlou application/xml, et doivent être conformes à la syntaxe stricte et bien formée de XML. XHTML 5 est simplement des données HTML 5 sérialisées en XML (c'est-à-dire, HTML 5 contraint aux exigences strictes de XHTML, par exemple, ne pas avoir de balises non fermées), envoyées avec l'un des types de média XML. Le code HTML qui a été écrit pour se conformer à la fois aux spécifications HTML et XHTML et qui produit donc le même arbre DOM, qu'il soit analysé en HTML ou XML, est appelé balisage polyglotte .

Il n'y a pas de DTD pour XHTML5.

La gestion des erreurs

HTML 5 est conçu pour que les anciens navigateurs puissent ignorer en toute sécurité les nouvelles constructions HTML 5. Contrairement à HTML 4.01, la spécification HTML 5 donne des règles détaillées pour l' analyse lexicale et l' analyse syntaxique , avec l'intention que les navigateurs conformes produisent les mêmes résultats lors de l'analyse syntaxique incorrecte. Bien que HTML 5 définisse désormais un comportement cohérent pour les documents " tag soup ", ces documents ne sont pas conformes au standard HTML 5.

Popularité

Selon un rapport publié le 30 septembre 2011, 34 des 100 meilleurs sites Web du monde utilisaient HTML 5 – l'adoption menée par les moteurs de recherche et les réseaux sociaux . Un autre rapport publié en août 2013 a montré que 153 des 500 entreprises américaines du Fortune ont mis en œuvre HTML5 sur leurs sites Web d'entreprise.

Depuis 2014, HTML 5 est au moins partiellement pris en charge par les moteurs de mise en page les plus populaires .

Différences entre HTML 4.01 et XHTML 1.x

Ce qui suit est une liste sommaire des différences et quelques exemples spécifiques.

  • Nouvelles règles d'analyse : orientées vers l'analyse flexible et la compatibilité ; non basé sur SGML
  • Possibilité d'utiliser SVG et MathML en ligne dans text/html
  • Nouveaux éléments : article, aside, audio, bdi, canvas, command, data, datalist, details, embed, figcaption, figure, footer, header, keygen, mark, meter, nav, output, progress, rp, rt, ruby, section, source, summary, time, track, video,wbr
  • Nouveaux types de champs de formulaire : dates and times, email, url, search, number, range, tel,color
  • Nouveaux attributs : charset(sur meta), async(sur script)
  • Attributs globaux (pouvant être appliqués à chaque élément) : id, tabindex, hidden, data-*(attributs de données personnalisés)
  • Les éléments obsolètes seront complètement supprimés : acronym, applet, basefont, big, center, dir, font, frame, frameset, isindex, noframes, strike,tt

Le groupe de travail du W3C publie « Différences HTML5 par rapport à HTML 4 », qui fournit un aperçu complet des ajouts, suppressions et modifications entre HTML 5 et HTML 4.

Le logo W3C HTML5

Le 18 janvier 2011, le W3C a introduit un logo pour représenter l'utilisation ou l'intérêt pour HTML 5. Contrairement à d'autres badges précédemment émis par le W3C, il n'implique pas la validité ou la conformité à une certaine norme. Depuis le 1er avril 2011, ce logo est officiel.

Lors de sa présentation initiale au public, le W3C a annoncé le logo HTML 5 comme « identité visuelle à usage général pour un large éventail de technologies Web ouvertes, notamment HTML 5, CSS , SVG, WOFF et autres ». Certains défenseurs des standards Web, dont The Web Standards Project , ont critiqué cette définition de "HTML5" en tant que terme générique, soulignant le flou de la terminologie et le potentiel de mauvaise communication. Trois jours plus tard, le W3C a répondu aux commentaires de la communauté et a modifié la définition du logo, abandonnant l'énumération des technologies associées. Le W3C a ensuite déclaré que le logo "représente HTML5, la pierre angulaire des applications Web modernes".

Gestion des droits numériques

Les acteurs de l'industrie, dont la BBC , Google, Microsoft , Apple Inc., ont fait pression pour l'inclusion d' Encrypted Media Extensions (EME), une forme de gestion des droits numériques (DRM), dans la norme HTML 5. Fin 2012 et début 2013, 27 organisations, dont la Free Software Foundation, ont lancé une campagne contre l'inclusion de la gestion des droits numériques dans la norme HTML 5. Cependant, fin septembre 2013, le groupe de travail HTML du W3C a décidé que les extensions multimédias cryptées, une forme de DRM, étaient « dans le champ d'application » et seraient potentiellement incluses dans la norme HTML 5.1. Le « HTML Living Standard » du WHATWG a continué d'être développé sans propositions compatibles avec les DRM.

Manu Sporny, membre du W3C , a déclaré qu'EME ne résoudra pas le problème qu'il est censé résoudre. Les opposants soulignent qu'EME lui-même n'est qu'une architecture pour un mécanisme de plug-in DRM.

Les catalyseurs initiaux pour les DRM en HTML 5 étaient Google et Microsoft. Les partisans incluent également Adobe. Le 14 mai 2014, Mozilla a annoncé son intention de prendre en charge EME dans Firefox , le dernier grand navigateur à éviter les DRM. Appelant cela "une étape difficile et inconfortable", Andreas Gal de Mozilla a expliqué que les futures versions de Firefox resteraient open source mais seraient livrées avec un bac à sable conçu pour exécuter un module de décryptage de contenu développé par Adobe, plus tard remplacé par le module Widevine de Google qui est beaucoup plus largement adopté par les fournisseurs de contenu. Tout en promettant de « travailler sur des solutions alternatives », le président exécutif de Mozilla, Mitchell Baker, a déclaré qu'un refus de mettre en œuvre EME n'aurait fait que convaincre de nombreux utilisateurs de changer de navigateur. Cette décision a été condamnée par Cory Doctorow et la Free Software Foundation .

Voir également

Les références

Liens externes