FazBrowse Wikipedia Viewer | Main Page |
Search Wikipedia:
|
Viewing: https://fr.wikipedia.org/wiki/HTML

Hypertext Markup Language — Wikipédia

Contents
    1989-1993 : Origines
    1994 : Apports de Netscape Navigator
    Syntaxe de HTML
        Origines du côté de SGML
        Syntaxe HTML décortiquée
    Structure des documents HTML
    Éléments de HTML
    Attributs de HTML
    Jeux de caractères
Notes et références

PUID
fmt/99
Origine de
XHTML
Norme
HTML living standard
Spécification
Format ouvert
Site web
(en) html.spec.whatwg.org/multipageHypertext Markup Language » se traduit en « langage de balisage d’hypertexte ». On utilise généralement le sigle « HTML », parfois même en répétant le mot « langage » comme dans « langage HTML ». HTML 3.2 et XHTML 1.1 en 2001. L'orientation technique choisie pour la suite du développement de XHTML n'est pas partagée par les fabricants de navigateurs web, et c'est le Web Hypertext Application Technology Working Group (WHATWG) fondé en 2004 qui développe ce qui devient la version suivante du langage, HTML5. Depuis 2007 le W3C travaille avec le WHATWG, et depuis 2019 seul le standard évolutif du WHATWG, appelé HTML living standard, fait référence.

1989-1993 : Origines

modifiermodifier le code

HTML est une des trois inventions fondatrices du août 1991, lorsque Tim Berners-Lee annonce publiquement le web sur Usenet, il ne cite que le langage SGML comme étant aussi « diplomatique » que technique : techniquement, il trouvait SGML était déjà utilisé par son employeur, l’Organisation européenne pour la recherche nucléaire (CERN).

Hormis les hyperliens, plusieurs des premiers éléments du langage HTML viennent de SGML. Ils sont notamment utiles pour structurer sémantiquement la documentation technique. Ils comprennent :

  • le titre du document (entre les balises <TITLE> et </TITLE>) ;
  • des sous-titres de 6 niveaux de H1 à H6 ;
  • les paragraphes P ;
  • les listes numérotées OL, non numérotées UL, et leurs éléments LI ;
  • les hyperliens A.

La description de HTML est alors assez informelle et principalement définie par le support des navigateurs web contemporains. En années 1990, HTML est principalement défini par les implémentations des navigateurs web.

Avec le navigateur Mosaic 2.0pre5) rend le web interactif en permettant aux visiteurs de saisir des données dans les pages et de les envoyer au serveur web. Cette invention permet notamment de passer des commandes, et donc d’utiliser le web pour faire du commerce électronique.

1994 : Apports de Netscape Navigator

modifiermodifier le code

Avec l’apparition de , etc.

Le développement de HTML prend alors deux voies divergentes :

  • d’une part, les développeurs de navigateurs s’attachent à maximiser l’impact visuel des pages web en réponse aux demandes des utilisateurs ;
  • d’autre part, les concepteurs du Web proposent d’étendre les capacités de description sémantique (logos, notes de bas de pageWorld Wide Web Consortium (W3C) nouvellement fondé propose le résultat de ses recherches sur HTML+ : le brouillon Document Object Model (DOM). Le manque de structure du HTML alors mis en œuvre est parfois dénoncé comme étant de la « soupe de balises », HTML 2.0 est finalisé. Le principal éditeur est Dan Connolly. Ce document décrit HTML tel qu’il existait avant 14 janvier 1997, le W3C publie la spécification HTML 4.0 et contient des éléments en prévision du support des styles et des scripts.

    Le frames) et les objets (inclusion généralisée de contenu). strict) exclut des éléments et attributs dits « de présentation », destinés à être remplacés par les styles CSS, ainsi que les éléments applet et frame qui sont remplacés par l’élément object conçu pour être plus apte à l’interopérabilité et à l’accessibilité ;

  • la variante transitoire (frameset normalise la technique des jeux de cadres composant une ressource unique à partir de plusieurs pages web assemblées par le navigateur.

Ces variantes perdurent par la suite sans modifications notables en version 4.01 datant du Standard Generalized Markup Language (SGML) est officiellement abandonné au profit de XHTML, application de XHTML 2.0 en cours de conception. Ceci s’inscrit dans le contexte d’une contestation plus générale du mode de fonctionnement du W3C, réputé trop fermé par une partie des développeurs et designers web.

Le développement de XHTML 2 Working Group à la fin 2009. XHTML 2.0 est retiré le XHTML 2.0, le W3C relance le développement de HTML et crée un nouveau groupe de travail encadré par Chris Wilson (Microsoft) et initialement Dan Connolly (W3C), puis Michael Smith (W3C).

Il s’agit notamment :

  • de faire évoluer HTML pour décrire la sémantique des documents mais aussi les applications en ligne ;
  • de parvenir à un langage extensible via XML tout en maintenant une version non-XML compatible avec les analyseurs syntaxiques (HTML5. Ce document a été publié sous forme de HTML 5 ;
  • une approche pragmatique, préférant les évolutions aux modifications radicales, et adoptant les technologies ou pratiques déjà largement partagées par les auteurs de contenus actuels ;
  • la priorité donnée, en cas de conflit d’intérêts, aux besoins des utilisateurs sur ceux des auteurs, et par suite, à ceux des auteurs sur les contraintes d’implémentation par les navigateurs ;
  • le compromis entre la richesse sémantique du langage et l’utilité pratique des solutions disponibles pour remplir l’objectif majeur d’indépendance envers le média de restitution.

Le W3C et le WHATWG ont travaillé ensemble à partir de 2007, les deux groupes de travail ayant pour éditeur Ian Hickson. Toutefois, en 2011, les deux groupes ont conclu qu'ils avaient des objectifs différents. Le WHATWG voulait faire continuellement évoluer le standard HTML, tandis que le W3C voulait publier une version définitive de HTML5. À partir de 2012, un groupe de travail du W3C s'est attelé à écrire une recommandation. Le W3C a publié plusieurs recommandations depuis :

  • 3 octobre 2017, HTML 5.1 seconde édition ;
  • 27 mars 2018, et les recommandations HTML 5.2 et HTML 5.3 sont retirées le HTML Living Standard (littéralement : standard vivant du HTML), une spécification de HTML prévue pour être en constante évolution, afin de coller avec les développements rapides de nouvelles fonctionnalités par les développeurs de navigateurs(par opposition à des versions numérotées, donc « fixes »).

    Le 22 juin 2012, est basé sur une version du Standard Generalized Markup Language (SGML).

    Origines du côté de SGML

    modifiermodifier le code

    Jusqu’à sa RFC 791).

    Malgré les libertés prises avec la norme, la terminologie propre à SGML est utilisée : document, élément, attribut, valeur, balise, entité, validité, applicationISO 8601. Un parseur strictement SGML tel que le validateur HTML du W3C ne peut donc pas garantir la conformité d’un document HTML.

    À partir de HTML5, il n'y a plus de DTD.

    Syntaxe HTML décortiquée

    modifiermodifier le code

    À l’origine, HTML a été conçu pour baliser (ou marquer) simplement le texte, notamment pour y ajouter des hyperliens. On utilisait un minimum de balises, comme dans le document HTML suivant :

    Exemple de HTML</TITLE>\nCeci est une phrase avec un <A HREF=cible.html>hyperlien</A>.\n<P>\nCeci est un paragraphe o&ugrave; il n'y a pas d'hyperlien.\n"}}'><TITLE>Exemple de HTML</TITLE> Ceci est une phrase avec un <A HREF=cible.html>hyperlien</A>. <P> Ceci est un paragraphe o&ugrave; il n'y a pas d'hyperlien.

    Cet exemple contient du texte, cinq balises et une référence d’entité :

    • <TITLE> est la balise ouvrante de l’élément TITLE.
    • </TITLE> est la balise fermante de l’élément TITLE.
    • Exemple de HTML est le contenu de l’élément TITLE.
    • <A HREF=cible.html> est la balise ouvrante de l’élément A, avec :
      • HREF=cible.html, l’attribut HREF dont la valeur est cible.html.
    • <P> est la balise ouvrante de l’élément P, dont le contenu est Ceci est un paragraphe o&ugrave; il n’y a pas d’hyperlien. La balise fermante de l’élément P, qui est optionnelle, est ici omise. L’élément P est implicitement terminé lorsqu’un nouveau paragraphe commence ou que l’élément parent est fermé (cas présent). Dans cet exemple, La balise <P> est utilisée comme s’il s’agissait d’un séparateur de paragraphe, et c’est même ainsi qu’elle est souvent présentée dans les plus anciennes documentations de HTML.
    • &ugrave; est une référence d’entité représentant le caractère « ù ».
    • Les balises peuvent être indifféremment écrites en minuscules ou majuscules. L’usage des minuscules devient plus courant car XHTML les impose.

    Il ne manque qu’une déclaration de type de document pour que cet exemple constitue un document HTML 2.0 valide.

    Structure des documents HTML

    modifiermodifier le code

    Dans les premières années, les documents HTML étaient souvent considérés comme des structures plates, et les balises comme des commandes de style. Ainsi la balise <p> était considérée comme un saut de ligne, et la balise </p> était ignorée. Ou encore lorsque Document Object Model, il a fallu considérer que les documents HTML ont une véritable structure en arbre, avec un élément racine contenant tous les autres éléments. Les balises ouvrantes et fermantes de ces éléments restent d’ailleurs optionnelles. Cependant, aujourd’hui, on a tendance à baliser chaque élément et à indiquer la DTD. À l'exception de l'élément à la racine, chaque élément a exactement un élément parent direct ; cet « arbre du document » est notamment utilisé par la structure de formatage qui en est dérivée pour l’application des feuilles de style en cascade où chaque élément peut avoir un fond, un bord et une marge propres.

    La structure la plus commune en HTML consiste à avoir un élément racine html avec deux enfants : un élément head pour l'en-tête du document contenant surtout des méta-informations, suivi d'un élément body pour le corps du document. L'élément title dans l'élément head est obligatoire : il donne un titre au document qui est par exemple affiché en titre d'onglet de navigateur, en titre de résultat de moteur de recherche, et en nom de marque-page.

    Structure d’un document HTML
    Source HTML Modèle du document
    \n<html>\n <head>\n <title>\n Exemple de HTML\n </title>\n </head>\n <body>\n Ceci est une phrase avec un <a href=\"cible.html\">hyperlien</a>.\n <p>\n Ceci est un paragraphe où il n’y a pas d’hyperlien.\n </p>\n </body>\n</html>\n"}}'><!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html> <head> <title> Exemple de HTML </title> </head> <body> Ceci est une phrase avec un <a href="cible.html">hyperlien</a>. <p> Ceci est un paragraphe où il n’y a pas d’hyperlien. </p> </body> </html>

    html

    head

    title

    texte

    body

    texte

    a

    texte

    texte

    p

    texte

    Éléments de HTML

    modifiermodifier le code

La HTML 4, les fonctionnalités implémentées par HTML peuvent être réparties ainsi :

Structure générale d’un document HTML
Au plus haut niveau, un document HTML est séparé entre un en-tête et un corps. L’en-tête contient les informations sur le document, notamment son titre et éventuellement des métadonnées. Le corps contient ce qui est affiché.
Informations sur la langue
Il est possible d’indiquer la langue de n’importe quelle partie du document et de gérer le mélange de texte s’écrivant de gauche à droite avec du texte de droite à gauche.
Marquage sémantique
HTML permet de différencier des contenus spécifiques tels que les citations d’œuvres externes (CITE), les extraits de code informatique (CODE), les passages en emphase (EM) et les abréviations (ABBR). Certains de ces éléments, conçus initialement pour permettre le support de documentations techniques, sont très rarement employés (différenciation entre les éléments de variable (VAR) et d’exemple (SAMP) de valeur dans un code informatique, par exemple, ou encore instance d’un terme défini dans le contexte (DFN)).
Listes
HTML différencie des listes non ordonnées et des listes ordonnées, selon que l’ordre formel du contenu dans le code est en soi ou non une information. Des listes de définition existent également, mais sans que leur champ d’application ne soit exactement déterminé.
Tables
Cette fonctionnalité sert formellement à la présentation de données tabulaires, mais a été surtout exploitée pour ses capacités de mise en page avant que les feuilles de style en cascade (CSS) atteignent un degré de maturité suffisant.
Hyperliens
La fonctionnalité première de HTML.
Inclusion d’images, d’frames, une fonctionnalité souvent décriée qui permet d’afficher plusieurs documents HTML dans une même fenêtre.
Formulaire pour l’insertion interactive de données
Les éléments de formulaire permettent aux visiteurs d'entrer du texte et des fichiers dans les pages Web.
Scripts
Permet d’associer des morceaux de programmes aux actions des utilisateurs sur le document. Les langages utilisés sont généralement JavaScript et VBScript.

Attributs de HTML

modifiermodifier le code

Les attributs permettent de préciser les propriétés des éléments HTML. Il y a SGML, n’ont pas de contenu propre. C’est également le cas d’éléments non vides pour des raisons fonctionnelles, comme l’élément form dont l’attribut action indique la cible serveur qui traitera les données après soumission ;

  • pour des raisons liées à l’accessibilité du contenu : les images sont ainsi dotées d’un attribut obligatoire alt permettant d’indiquer un contenu textuel brut destiné à remplacer la ressource graphique dans les contextes de consultation où elle ne peut pas être restituée ou perçue.
  • Le type de contenu des attributs HTML échappe pour partie au champ d’application de cette norme, et sa validation relève de normes tierces telles que les URI, les types de contenu ou les codes de langages.

    Certains attributs sont enfin de type booléen. Ce sont les seuls attributs dont la syntaxe peut être validement implicite en HTML : l’attribut selected d’un contrôle de formulaire peut ainsi être raccourci sous la forme selected remplaçant la forme complète selected="selected". Cette forme particulière est un des points différenciant HTML de la syntaxe des documents « bien formés » au sens XML.

    Jeux de caractères

    modifiermodifier le code

    Les pages Web peuvent être rédigées dans toutes sortes de langues et de très nombreux caractères peuvent être utilisés, ce qui requiert soit un jeu de caractères par type d’écriture, soit un jeu de caractères universel. Lors de l’apparition de HTML, le jeu de caractères universel Unicode n’était pas encore inventé, et de nombreux jeux de caractères se côtoyaient, notamment ISO-8859-1 pour l’alphabet latin et ouest-européen, Shift-JIS pour le japonais, KOI8-R pour le cyrillique. Aujourd’hui, le codage UTF-8 de Unicode est le plus répandu.

    Le protocole de communication HTTP transmet le nom du jeu de caractères. L’en-tête HTML peut comporter le rappel de ce jeu de caractères, qui devrait être identique, sauf erreur de réglage. Enfin, à la suite d'un mauvais réglage, le jeu de caractères réellement utilisé peut encore différer du jeu annoncé. Ces mauvais réglages causent généralement des erreurs d’affichage du texte, notamment pour les caractères non couverts par la norme ASCII.

    Technique d'échappementmodifiermodifier le code

    Avant la généralisation d'Unicode, des entités SGML ont été définies pour représenter certains caractères non ASCII, ce qui revient en pratique à utiliser le caractère « & » comme caractère d'échappement. Cela a commencé avec les caractères d'ISO 8859-1 dans la norme , etc. Le langage HTML a été développé avec l’intuition que les appareils de toutes sortes seraient utilisés pour consulter le web : les ordinateurs personnels avec des écrans de résolution et de profondeur de couleurs variables, les téléphones portables, les appareils de synthèse et de reconnaissance de la parole, les ordinateurs avec une bande passante faible comme élevée, et ainsi de suite.

    Comme HTML ne s’attache pas au rendu final du document, un même document HTML peut être consulté à l’aide de matériels et logiciels très divers. Au niveau matériel, un document peut notamment être affiché sur un écran d'ordinateur en mode graphique ou un terminal informatique en mode texte, il peut être imprimé, ou il peut être prononcé par synthèse vocale. Au niveau logiciel, HTML ne fait pas non plus de supposition, et plusieurs types de logiciels lisent le HTML : navigateur web, robot d'indexation, scripts divers (en Perl, PHP) de traitement automatique.

    Un haut degré d’interopérabilité permet de baisser les coûts des fournisseurs de contenus car une seule version de chaque document sert des besoins très variés. Pour l’utilisateur du web, l’interopérabilité permet l’existence de nombreux navigateurs concurrents, tous capables de consulter l’ensemble du web.

    Chaque version de HTML a essayé de refléter le plus grand consensus entre les acteurs de l’industrie, de sorte que les investissements consentis par les fournisseurs de contenus ne soient pas gaspillés et que leurs documents ne deviennent en peu de temps illisibles. La séparation du fond et de la forme n’a pas toujours été respectée au cours du développement du langage, comme en témoigne par exemple le balisage de style de texte, qui permet d’indiquer notamment la police de caractères souhaitée pour l’affichage, sa taille, ou sa couleur.

    Notes et références

    modifiermodifier le code
  • ↑ Raggett et al. 1998, p. 14.
  • ↑ (en) Tim Berners-Lee, Mark Fischetti, How the Web was Born: The Story of the World Wide Web, Oxford, (en) juin 1993, sur w3.org.
  • ↑ (en) Marc Andreessen et Eric Bina, « NCSA Mosaic for X 0.10 released », sur WWW-talk, 14 mars 1993
  • ↑ Marc Andreessen, créateur de (en) HTML Spec, daté du (en) « HTML 3.2 Reference Specification », sur www.w3.org (consulté le 8 octobre 2020)
  • ↑ La W3C a lancé en 1997 les premiers travaux de son (en) « Extensible Markup Language (XML) 1.0 », 10 février 1998
  • ↑ (en) http://www.w3.org/2004/04/webapps-cdf-ws/papers/opera.html.
  • ↑ 17 juillet 2006.
  • ↑

  • View original on Wikipedia | Back | FazBrowse Home