
(source: https://internetingishard.netlify.app/, comme plusieurs autres dans la suite de ce support)
Le code source HTML comprend :
<title>Ceci est un titre</title>
<img src="logo-urn.png">
<meta charset="utf-8">
<a href="http://www.univ-rouen.fr">Lien</a>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ma première page HTML</title>
</head>
<body>
<!-- Contenu de la page -->
<h1>Ma premiere page HTML5</h1>
<section>
<h2> Un premier paragraphe </h2>
Une page web HTML5 tres simple
</section>
<img src="../img/logo_mastersd.png">
</body>
</html>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ma première page HTML</title>
</head>
<body>
<!-- Contenu de la page -->
<h1>Ma premiere page HTML5</h1>
<section>
<h2> Un premier paragraphe </h2>
Une page web HTML5 tres simple
</section>
<img src="../img/logo_mastersd.png">
</body>
</html>
<html></html> : élément racine, avec quelques attributs utiles, e.g. lang qui spécifie la langue par défaut (utile pour le navigateur mais facultatif)
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ma première page HTML</title>
</head>
<body>
<!-- Contenu de la page -->
<h1>Ma premiere page HTML5</h1>
<section>
<h2> Un premier paragraphe </h2>
Une page web HTML5 tres simple
</section>
<img src="../img/logo_mastersd.png">
</body>
</html>
<head></head> : entête de page contenant les méta-données de la page, par exemple :<title></title>: définit un titre de page<meta charset="utf-8">: définit l'encodage des caractères
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Ma première page HTML</title>
</head>
<body>
<!-- Contenu de la page -->
<h1>Ma premiere page HTML5</h1>
<section>
<h2> Un premier paragraphe </h2>
Une page web HTML5 tres simple
</section>
<img src="../img/logo_mastersd.png">
</body>
</html>
<body></body> : corps de la page. Ce qui est inclut dans cette balise est ce qui se sera affiché dans le navigateur. Par exemple ici :<hX></hX>: définit un titre, avec $X \in \{1,2,\dots,6\}$<section></section>: définit une section de contenuUn élément HTML est l'entité du document comportant soit une paire de balises et son contenu, soit une balise auto-fermante
<!DOCTYPE html>
<html lang="fr">
<head>
...
</head>
<body>
<section>
<h3> Un premier paragraphe </h3>
Une page web HTML5 tres simple
</section>
</body>
</html>
section comprend un élément h3h3 doit apparaître avant la balise fermante de section
Dans cet exemple :
div est le parent de pp est parent de em et imgem et img sont les enfants de pem est frère de imgdiv est un ancêtre de emem est un descendant de divLes outils de développement des navigateurs permettent de visualiser cet arbre
<h1> Titre de niveau 1 </h1>
<h2> Titre de niveau 2 </h2>
...
<h6> Jusqu'à 6 niveaux </h6>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
</p>
<ul>
<li> Item 1 </li>
<li> Item 2 </li>
</ul>
<em>Texte en emphase</em>
<strong>Texte important</strong>
<mark>Texte marqué</mark>
<img src="image.jpg" alt="Description de l'image">
<a href="https://www.example.com">Texte du lien</a>
Il existe deux balises neutres :
<div> : élément bloc générique<span> : élément en ligne générique<div> ont beaucoup été utilisées pour agencer les pages
<body>
<div id="conteneur">
<div id="entete">...</div>
<div id="menu">...</div>
<div id="page">...</div>
<div id="colonne">...</div>
<div id="pied">...</div>
</div>
</body>
<body>
<div id="conteneur">
<div id="entete">...</div>
<div id="menu">...</div>
<div id="page">...</div>
<div id="colonne">...</div>
<div id="pied">...</div>
</div>
</body>
Les balises sémantiques sont des éléments HTML qui ont une signification spécifique et qui décrivent le contenu qu'ils contiennent
Exemple: pour le plan d'une page:
<h1>...<h6>(cf. site HTML5 Outliner)
HTML5 introduit de balises sémantiques qui permettent de mieux structurer le contenu d'une page web

<div><header> : définit l'en-tête de page ou section<nav> : définit une section de navigation<main> : définit le contenu principal d'une page<article> : définit un article indépendant<section> : définit une section thématique<footer> : définit le pied de page<aside> : définit une section latérale<figure> : définit une figure
<article>L'élément <article> définit un contenu indépendant du reste du document, destinée à être distribué ou réutilisé de manière indépendamment

<article>
<h1>Article Interessant</h1>
<h6>Par John Smith, le 37-15-2247</h6>
<p>
Cet article est vraiment tres
interessant et il peut etre
facilement référencé.
Il peut également être extrait du site
et existé indépendamment du reste du contenu
</p>
</article>
<section>L'élément <section> définit une section thématique dans un document. Il peut contenir des titres, des paragraphes et d'autres éléments, et est souvent utilisé pour regrouper des contenus connexes.

<section>
<h2>Première section</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
...
</section>
<section>
<h2>Deuxième section</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit,
sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.</p>
</section>
<aside>L'élément <aside> représente une partie d'un document dont le contenu n'est qu'indirectement lié au contenu principal du document. Il est souvent présenté sous forme de barre latérale ou d'encadré.

<article>
<header>
<h1>Article Interessant</h1>
<h6>Par John Smith, le 37-15-2247</h6>
</header>
<aside>
<img src="illu.png"/>
</aside>
...
<time> et <address><time> : pour indiquer les dates, heures, etc. Permet de faciliter le parsing car ce sont en général des éléments difficiles à identifier dans un contenu
<address> : pas nécessairement adresse postale, mais plutôt des informations de contact en fin d’article ou de page, sur un auteur ou une organisation.Les liens et les images sont des éléments particuliers car ils concernent des ressources externes à la page HTML
<a><a> devient automatiquement ”cliquable” (pris en charge par le navigateur)href doit se voir affecter l’URL de la page vers laquelle le lien renvoie# qui rend le lien actif mais inopéranta
<body>
<header>
<h1>Master Science et Ingénierie des Données</h1>
<h2>Conception d'Interfaces Web</h2>
<nav>
<ul>
<li><a href="first_page.html">Première page</a></li>
<li><a href="second_page.html">Deuxème page</a></li>
...
</ul>
</nav>
</header>
<hr>
<a href="http://www.univ-rouen.fr">L'Universite de Rouen Normandie</a>
<a href="../index.html">Page d'accueil</a>
<a href="/HTMLPages/first_page.html">Première page</a>
</body>
<img>srcsrc pointe vers l’emplacement de l’image sur le serveurJPEG : format d'image compressé, large palette de couleur, idéal pour les photographiesGIF : autorise les animations, limité à 256 couleursPNG : format sans perte, supporte la transparence, pour tout ce qui n’est ni une animation, ni une photoSVG : format vectoriel, idéal pour les logos et les illustrations (de préférence sans texte)width et height (pixels), mais nous verrons une méthode CSS plus adaptée plus tard
<form>action et methodaction définit une URL vers laquelle les informations sont envoyéesmethod définit la méthode HTTP pour l’envoie de la requête
<form action="/MyApp/form/" method="POST">
...
</form>
Ici, on suppose que l’URL /MyApp/form/ désigne un programme sur le serveur capable de réceptionner les informations (nous verrons comment en M2)