HyperText Markup Language (HTML abrégé) est un langage de balisage basé sur SGML, principalement destiné au World Wide Web. Il s’agit du langage de balisage standard pour les pages Web. Les documents HTML peuvent être ouverts et lus par un navigateur Web, puis affichés sous forme de page Web. Les documents HTML contiennent principalement une structure sémantique et le contenu textuel d’une page Web; il peut également décrire sa mise en forme et sa représentation visuelle, mais CSS est couramment utilisé aujourd’hui.
Utiliser
Le HTML est généralement affiché avec un navigateur Web, un programme qui demande des documents HTML à un serveur Web et les affiche à l’utilisateur sous forme de texte formaté (une page Web). Le document peut également être «local»: sous forme de fichier sur le propre ordinateur de l’utilisateur, plutôt que sur un serveur Web. En plus des navigateurs, certains autres programmes tels que les programmes de traitement de texte peuvent également afficher des documents HTML. Les e-mails peuvent également contenir des codes HTML.
Hypertexte et hyperliens
La caractéristique essentielle du HTML est qu’il prend en charge l’hypertexte: documents et fichiers qui sont liés par des références directement traçables, les soi-disant hyperliens (également appelés liens en néerlandais).
Langage de balisage
De plus, HTML est un langage de balisage comme beaucoup d’autres, avec des notations pour indiquer la disposition des paragraphes, les titres, l’accentuation du texte et les tableaux. Les images et le multimédia peuvent être inclus sur la page Web via des codes HTML (mais ne sont pas dans le fichier HTML lui-même).
Un document HTML se compose de texte brut avec des marqueurs indiquant comment interpréter le texte, par exemple sous forme de liste ou de titre. Un tel marquage est appelé tag (en anglais).
Au fil des ans, le nombre de balises différentes utilisées en HTML a considérablement augmenté. Pour éviter les problèmes d’interprétation, le World Wide Web Consortium (W3C) a formulé des recommandations sur les balises valides et sur la manière de les interpréter. La recommandation d’origine a été mise à jour plusieurs fois dans le cadre du développement ultérieur du HTML. La dernière recommandation acceptée, HTML 5.0, date d’octobre 2014.
Depuis que HTML a vu le jour, des tentatives ont été faites pour le transformer en un langage exactement structuré, en exigeant que la syntaxe des balises soit suivie exactement et que leur combinaison réponde à une définition grammaticale précise. Cela se fait en décrivant la syntaxe de chaque version de HTML comme une application de SGML, plus tard XML. C’est une condition essentielle pour garantir une interprétation uniforme du HTML par le logiciel. La plupart des utilisateurs et des développeurs de logiciels ne se sont jamais vraiment souciés de cela, ce qui fait que les logiciels de traitement HTML ne peuvent en pratique pas compter sur l’utilisation correcte des balises et que l’utilisateur final ne peut pas compter sur une interprétation cohérente.
Une deuxième tendance continue dans le développement du HTML consistait à essayer de le transformer en langage de balisage structurel (ou logique), les balises du document indiquant uniquement la structure et les propriétés générales du texte, tandis que les détails de la présentation s’en séparaient. document sont spécifiés. Cela présente l’avantage que la mise en page peut être modifiée en même temps pour tous les documents en même temps et que différentes formes de présentation peuvent être utilisées, qui sont par exemple adaptées aux propriétés de l’utilisateur (peut-être daltonien ou aveugle) ou du dispositif d’affichage (peut-être un petit écran ou papier noir et blanc). Initialement, cela a complètement échoué, donnant à HTML une grande quantité de balises spécifiques à la présentation. En fin de compte, ce principe a continué, permettant une séparation nette des spécifications de présentation en HTML moderne, en utilisant des feuilles de style en cascade (CSS).
L’interaction
HTML lui-même ne fournit qu’une interaction utilisateur très simple:
- en cliquant sur les références
- remplir des champs de texte
- en cliquant sur les images
Une forme plus ou moins standardisée pour prendre en charge d’autres types d’interaction consiste à incorporer des scripts écrits dans le langage JavaScript. Pour CSS et l’interaction, la mise en garde est que le HTML n’est pas conçu ou adapté pour prendre en charge une conception de page graphique ou un environnement utilisateur.
Le troisième thème en cours dans le développement du HTML est la tension entre l’innovation et la normalisation. La concurrence entre les fabricants de navigateurs Web a joué un rôle important dans le développement du HTML. Les producteurs ont développé eux-mêmes de nouvelles balises, qui n’étaient souvent pas comprises par les autres navigateurs Web, avaient leurs propres interprétations des feuilles de style et leur propre interprétation de JavaScript. Certaines de ces balises HTML sont incluses plus loin dans les recommandations, d’autres non. Même aujourd’hui, des reliques de cela peuvent encore être trouvées dans les navigateurs modernes.
Recommandation versus standard
Le W3C est une organisation internationale, mais n’a pas le pouvoir de fixer des normes, telles que l’ISO. Les spécifications HTML du W3C ne sont donc formellement que des recommandations. Dans la pratique, cependant, les recommandations du W3C sont considérées comme des normes, en partie parce que tous les principaux fabricants de navigateurs travaillent ensemble dans le W3C.
Exemple de code HTML
Le début d’une page html pourrait ressembler à ceci:
Les éléments
Une page HTML est composée d’éléments imbriqués, qui ont généralement une étiquette de début (en anglais: ‘start tag’) et une étiquette de fin (en anglais: ‘end tag’). Les balises / étiquettes les plus courantes sont:
- html: indique le début et la fin du document HTML.
- head: indique l’en-tête du document, qui contient des métadonnées telles que le titre de la page.
- corps: contient le contenu concret du document.
- div: indique une section logique (‘division’) de la page Web.
- h1: contient le titre / en-tête d’une section de la page Web (en anglais: ‘heading’).
- p: délimite un paragraphe de texte (en anglais: ‘paragraph’).
- img: pour afficher une image (anglais: ‘image’).
- a: pour insérer un (hyper) lien (anglais: ‘anchor’).
Attributs
Chaque élément HTML peut avoir des attributs qui fournissent des informations supplémentaires sur l’élément, notamment la représentation visuelle et d’autres métadonnées. Par exemple, dans l’exemple suivant
les informations d’attribut ‘style’ sur la représentation visuelle (ici le texte et la couleur de fond) d’un paragraphe de texte sur la page Web.