HTML5

HTML5
Logo.
Image illustrative de l’article HTML5

Date de première version 28 octobre 2014
Paradigme Langage de balisage
Auteur WHATWG
Développeur WHATWG et W3C
Dernière version 5.2 (21 décembre 2017)
Version en développement 5.3
Typage statique
Influencé par SGML
A influencé Wikicode, BBCode
Écrit en SGML
Site web (en) WHATWG et (en) W3C
Extensions de fichiers HTML: .html, .htm
XHTML: .xhtml, .xht, .xml

HTML5 (HyperText Markup Language 5) est la dernière révision majeure du HTML (format de données conçu pour représenter les pages web). Cette version a été finalisée le . HTML5 spécifie deux syntaxes d'un modèle abstrait défini en termes de DOM : HTML5 et XHTML5.

Le langage comprend également :

Le travail a été repris par le W3C en après avoir été lancé par le WHATWG. Les deux organisations travaillent en parallèle sur le même document afin de maintenir une version unique de la technologie. Le W3C clôt les ajouts de fonctionnalités le , annonçant une finalisation de la spécification en 2014, et encourage les développeurs Web à utiliser HTML5 dès ce moment. Fin 2016, la version 5.1 est officiellement publiée et présente plusieurs nouveautés qui doivent faciliter le travail des développeurs d'applications Web.

Contexte historique

Article détaillé : HTML.

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

Lors de sa présentation initiale au public, le W3C a annoncé le logo HTML5 comme une « identité visuelle à usage général pour un large éventail de technologies Web ouvertes, notamment HTML5, CSS, SVG, WOFF et autres ». Certains défenseurs des normes 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, supprimant 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 ».

Changements par rapport à HTML 4.X et XHTML 1.X

Doctype

Tout comme les documents HTML et XHTML, les documents HTML5 nécessitent une déclaration Doctype indiquant la méthode standard de rendu par le navigateur. Dans le cas de HTML5, la déclaration du Doctype n'est pas sensible à la casse et il n'y a plus de référence à une DTD (Document Type Definition, ou Définition de Type de Document, document permettant de décrire un modèle de document SGML ou XML). Il faut simplement écrire <!DOCTYPE html> au début du document.

Toutefois, pour les documents XML cette déclaration est facultative, le navigateur l'interprétant en mode standard par défaut. Un document utilisant la structure XML (XHTML5) doit être servi avec l'en-tête HTTP Content-Type: application/xhtml+xml.

Exemple d'utilisation avec HTML5

<!DOCTYPE html>
<html lang="fr">

	<head>
		<meta charset="utf-8">
		<title>titre de la page</title>

		<!-- meta -->
		<meta name="description" content="">
		<meta name="author" content="">

		<!-- mon icon -->
		<link rel="shortcut icon" href="favicon.ico">

		<!-- mon template.css -->
		<link rel="stylesheet" href="main.css" media="screen">

	</head>

	<body>

		<header>
			<!-- menu du haut -->
			<nav>
				<ul>
					<li><a href="mon-url" title="titre-du-lien">nom de mon lien</a></li>
					<li><a href="mon-url" title="titre-du-lien">nom de mon lien</a></li>
					<li><a href="mon-url" title="titre-du-lien">nom de mon lien</a></li>
				</ul>
			</nav>
		</header>

		<!-- contenu de ma page -->
		<main>
			<!-- article n°1 -->
			<article>
				<h1>titre de mon article</h1>
				<p>texte de mon article</p>
				<section>
					<h2>sous-titre mon article</h2>
					<p>texte de mon sous-titre</p>
					<figure>
						<a href="mon-url"><img src="url-de-mon-image" alt="nom-de-mon-image"></a>
					</figure>
				</section>
			</article>

			<!-- article n°2 -->
			<article>
				<h1>titre de mon article</h1>
				<p>texte de mon article</p>
				<section>
					<h2>sous-titre mon article</h2>
					<p>texte de mon sous-titre</p>
				</section>
			</article>
		</main>
	</body>

</html>

Encodage

Le processus de détection de l'encodage a également été modifié et s'effectue dans l'ordre, la vérification de la présence d'un header HTTP « Content-Type », et ensuite à la détection du BOM en début de fichier.

Éléments du langage

XHTML5

Pour les documents XHTML5, l'auteur doit spécifier l'encodage dans le prologue XML, mais aussi le type de contenu : « application/xhtml+xml ». La globalité de la page doit être conforme à la syntaxe XML. De par le caractère extensible du langage XML, il est possible d'ajouter d'autres balises (exemple : <mabalise></mabalise>) ; une telle extension nécessite de déclarer les espaces de noms correspondants, sans quoi la page sera en erreur et le navigateur pourrait ne pas être capable de l'afficher. C’est le mode le plus strict qui impose d'avoir une syntaxe quasi parfaite.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr" dir="ltr">
  <head>
    <title>Exemple</title>
  </head>
  <body>
    <!-- Contenu de la page respectant la syntaxe XML. -->
  </body>
</html>

Nouveaux éléments

Nouveaux attributs

Pour la balise <a> :

Pour la balise <area> :

Pour la balise <button> :

Pour la balise <fieldset> :

Pour la balise <form> :

Pour la balise <html> :

Pour la balise <iframe> :

Pour la balise <input> :

Pour la balise <link> :

Pour la balise <menu> :

Pour la balise <meta> :

Pour la balise <ol></ol> :

Pour la balise <script> :

Pour la balise <select> :

Pour la balise <style> :

Pour la balise <textarea> :

Ainsi que les attributs globaux qui s'appliquent à toutes les balises :

Connexion et distribution P2P

Changements dans les éléments et attributs

Les éléments basefont, big, center, font, strike, tt et u sont supprimés car leur fonction était purement visuelle, ce qui est le rôle de CSS. Les éléments frame, frameset et noframes ont été supprimés car ils étaient déjà désuets et créaient des problèmes d'accessibilité et d'utilisation pour l'utilisateur final.

Les éléments suivants sont aussi supprimés :

Enfin, noscript n'est fourni que dans la version HTML, il n'est pas inclus dans la version XML.

Obsolescence d'attributs

Certains attributs, notamment ceux de présentation, ont été supprimés, car ils sont mieux pris en charge par CSS.

Sur la balise a
Sur la balise area
Sur la balise embed
Sur la balise form
Sur la balise head
Sur la balise html
Sur la balise iframe
Sur la balise input
Sur la balise img
Sur la balise link
Sur la balise meta
Sur la balise object
Sur la balise option
Sur la balise param
Sur la balise script
Sur la balise table
Sur la balise td
Sur la balise th

API

Avancées de la spécification HTML5 et des API associées.

HTML5 introduit plusieurs nouvelles API qui peuvent aider à créer des applications web et qui peuvent être utilisées ensemble, proposant de nouveaux éléments introduits pour les applications, et notamment :

De plus, des API tierces viennent s'intégrer à ce standard, telles que WebGL du Khronos Group permettant d'ajouter aux pages du contenu 3D.

Controverses

Vers la fin de l'année 2012, une campagne menée par plusieurs associations de défense des libertés numériques, dont la Free Software Foundation, a tenté d'attirer l'attention sur l'inclusion de verrous numériques (DRM) dans la norme HTML5.

Le , le W3C a normalisé les extensions pour médias chiffrés (Encrypted Media Extensions) en justifiant qu'elles « améliorent l'interopérabilité, la protection de la vie privée, la sécurité, l'accessibilité et l'expérience utilisateur lors du visionnage de films et télévision sur le Web ».

Notes et références

  1. ↑ (fr) Le W3C confirme qu'HTML5 sera disponible en mai 2011 pour appel à commentaires, www.w3.org, le 14 février 2011.
  2. ↑ « Quelles nouveautés propose HTML 5.1 ? »,
  3. 1 2 « W3C HTML5 Logo FAQ », sur www.w3.org (consulté le )
  4. 1 2 « HTML5 logo: be proud, but don’t muddy the waters! - The Web Standards Project », sur web.archive.org, (consulté le )
  5. ↑ (en-US) « The HTML5 Logo Conversation | W3C Blog » (consulté le )
  6. ↑ (en) W3C Working Draft.
  7. ↑ (en) Bug 13240 - Consider replacing , w3.org.
  8. ↑ (en) W3C Adds Time Element Back to HTML5, webmonkey.com, publié en novembre 2011..
  9. ↑ (en) « Removed from html5 », sur w3schools.com (consulté le ).
  10. ↑ « <command> : The HTML Command element », sur MDN Web Docs (consulté le ).
  11. ↑ (en)W3C information :
  12. ↑ (en)HTML 5 plans to allow peer to peer connections from javascript, but these connections will not be raw TCP. The complete spec can be found at http://dev.w3.org/html5/websockets/.
  13. ↑ (en) Smart Clients: ReverseHTTP & WebSockets.
  14. ↑ (en) Will HTML5 allow web apps to make peer-to-peer HTTP connections?
  15. ↑ P2P, audio et vidéo au menu du HTML5.
  16. ↑ « HTML5 - Balises et attributs obsoletes »
  17. ↑ Dites au W3C : nous ne voulons pas d'un Hollyweb http://www.defectivebydesign.org/no-drm-in-html5/fr
  18. ↑ Levée de boucliers contre l'arrivée des DRM au sein du HTML5 http://www.numerama.com/magazine/25802-levee-de-boucliers-contre-l-arrivee-des-drm-au-sein-du-html5.html
  19. ↑ « W3C Publie les Extensions pour médias chiffrés (Encrypted Media Extensions) en tant que Recommandation W3C », sur W3C (consulté le ).

Voir aussi

Sur les autres projets Wikimedia :

Bibliographie

Articles connexes

Liens externes