WEB Design Notes - HTML
WEB Design Notes - HTML
Note de Cours
Formateur : DonProgram.
Web Design
Code : 02 Durée : 25h Module : structure d’un site
web avec Html
Introduction
HTML : Le langage du Web
HTML5 offre des fonctionnalités avancées qui ont remplacé les anciens
plugins (Flash, Silverlight). Cette version permet de créer des interfaces
utilisateur sophistiquées en combinaison avec CSS et JavaScript.
Code : 1
Durée : 6h
Compétences : Manipuler les éléments de la structure Html.
- Présentation du web.
Le Web, en revanche, est une création plus récente ainsi que nous l’avons
vu précédemment. Il a été conceptualisé et mis en œuvre par Sir Tim
Berners-Lee en 1989, soit presque 30 ans après les premiers pas
d’ARPANET. Le Web est, en essence, un service parmi tant d’autres qui
fonctionne sur Internet. C’est une collection de pages et de documents reliés
par des hyperliens, accessible via des navigateurs.
Outre le Web, Internet englobe une multitude d’autres services, comme les
e-mails, qui permettent des communications directes et personnelles entre
individus. Les transferts de fichiers via FTP (File Transfer
Protocol) facilitent, eux, l’échange de grands volumes de données. Enfin, la
VoIP (Voice over Internet Protocol), dont Skype est un exemple
Skype
Alors que les journaux, les magazines et les livres offrent un contenu fixe,
figé dès l’instant de leur impression, le Web, lui, vit et respire. Sa capacité
à évoluer en temps réel permet aux informations de s’actualiser
instantanément, reflétant les changements, les découvertes et les
tendances émergentes du moment. Imaginez un quotidien dont les titres
changent en fonction des dernières nouvelles ou un manuel scolaire qui se
met à jour automatiquement avec les dernières recherches : c’est la
puissance du Web.
Mais qu’est-ce qui rend tout cela possible ? La réponse réside dans un trio de
technologies fondamentales :
Lorsque nous jetons un regard sur l’horizon numérique, il est évident que le
Web, tel que nous le connaissons aujourd’hui, n’est que la pointe de l’iceberg
de ce qui nous attend à l’avenir. L’évolution incessante de la technologie
suggère un futur où le Web transcendera nos écrans et s’intégrera de
manière encore plus profonde dans nos vies quotidiennes.
HTML et CSS : deux langages pour créer un site web. Pour créer un site, on
doit donner des instructions à l’ordinateur. Il ne suffit pas sim plement de
taper le texte qui devra figurer à l’écran (comme on le ferait dans un trai
tement de texte) ; il faut aussi indiquer où placer ce texte, insérer des
images, créer des liens entre les pages, etc.
Les rôles de HTML et CSS. Pour expliquer à l’ordinateur ce que vous voulez
faire, il va falloir utiliser un langage qu’il comprend. Et c’est là que les choses
se corsent, parce qu’il va falloir apprendre deux langages !
Pour vous donner une idée, la figure suivante montre ce que donne la même
page sans puis avec les CSS. Le HTML définit le contenu. Le CSS permet, lui,
d’arranger le contenu et de définir la présentation : couleurs, image de fond,
marges, taille du texte…
Comme vous vous en doutez, le CSS a besoin d’une page HTML pour
fonctionner. C’est pour cela que nous allons d’abord apprendre les bases du
HTML, avant de nous occuper de la décoration en CSS. Vos premières pages
ne seront donc pas les plus esthétiques, mais qu’importe ! Cela ne durera
pas longtemps.
Éléments
Le code HTML est constitué d'une série d'éléments que vous utilisez pour
entourer ou encapsuler différentes parties du contenu afin de le faire
apparaître ou agir d'une certaine manière. Les éléments HTML sont délimités
par des balises, écrites entre chevrons (< et >).
Le titre de la page est un titre de niveau 1, pour lequel nous utilisons la
balise <h1>.
Le titre réel, « Atelier de machine learning », correspond au contenu de
notre élément. Le contenu est placé entre les balises d'ouverture et de
fermeture. La balise d'ouverture, la balise de fermeture et le contenu
constituent l'élément dans son intégralité.
Dans cette section, vous allez découvrir les composants qui, bien qu'ils ne
soient pas visibles, sont présents sur presque toutes les pages Web.
Ajouter à chaque document HTML
Plusieurs fonctionnalités doivent être considérées comme essentielles pour
chaque page Web. Les navigateurs afficheront quand même le contenu si
ces éléments sont manquants, même si ces éléments sont inclus.
Définitivement.
<!DOCTYPE html>
<Html>
Langue du contenu
<head>
<!DOCTYPE html>
<html lang="en-US">
<head>
</head>
<body>
</body>
</html>
En déclarant UTF-8 (non sensible à la casse), vous pouvez même inclure des
emojis dans votre titre (mais ne le faites pas).
Titre du document
<title>Yummy Nouilles</title>
</body>
</html>
Commentaires HTML
Notez que le script est placé entre des chevrons, des tirets et un
claquement. C'est ainsi que vous commentez du code HTML. Nous laissons le
script en commentaire jusqu'à ce que nous ayons le contenu réel sur la
page. Aucun élément compris entre <!-- et --> ne sera visible ni analysé. Les
commentaires HTML peuvent être placés n'importe où sur la page, y compris
dans l'en-tête ou dans le corps de la page, à l'exception des scripts ou des
blocs de style, où vous devez utiliser respectivement des commentaires
JavaScript et CSS.
En-têtes et sections
Site <header>
<header>
<h1>Yummy</h1>
<nav>
<a href="#reg">Register</a>
<a href="#about">About</a>
<a href="#teachers">Instructors</a>
<a href="#feedback">Testimonials</a>
</nav>
</header>
Site <footer>
<footer>
<p>©2022 Machine Learning Workshop, LLC. All rights reserved. </p>
</footer>
Comme pour <header>, le pied de page est un point de repère ou non, selon
l'endroit où il est imbriqué. Le pied de page du site constitue un point de repère et
doit contenir les informations de pied de page que vous souhaitez afficher sur
chaque page, comme une déclaration de droits d'auteur, des coordonnées et des
liens vers vos règles en matière de confidentialité et de cookies.
Structure du document
Ce module commence par <header> et <footer>, car ils ne sont parfois uniques
que des éléments de repère, ou "sections", qui ne sont parfois pas utilisés.
Abordons le « temps complet » de section en discutant des mises en page les plus
courantes :
<body>
<header>Header</header>
<nav>Nav</nav>
<main>Content</main>
<aside>Aside</aside>
<footer>Footer</footer>
</body>
Si vous créez un blog, vous disposez peut-être d'une série d'articles dans <main>:
<body>
<header>Header</header>
<nav>Nav</nav>
<main>
<article>First post</article>
<article>Second post</article>
</main>
<aside>Aside</aside>
<footer>Footer</footer>
</body>
Lorsqu'ils utilisent des éléments sémantiques, les navigateurs peuvent créer des
arborescences d'accessibilité pertinentes, ce qui permet aux utilisateurs de
<main>
Il n'y a qu'un seul élément de point de repère <main>. L'élément <main> identifie
le contenu principal du document. Il ne doit y avoir qu'un seul <main> par page.
<aside>
<article>
Intégrés dans <main>, nous avons ajouté deux éléments <article>. Cela n'était
pas nécessaire dans le premier exemple, lorsque le contenu principal n'était
composé que d'un mot ou, dans le monde réel, d'une seule section de contenu.
Toutefois, si vous écrivez un blog, comme dans notre deuxième exemple, chaque
article doit se trouver dans un élément <article> imbriqué dans <main>.
<section>
Titres : <h1>-<h6>
Il y a six éléments de titre de section : <h1>, <h2>, <h3>, <h4>, <h5> et <h6>.
Chacun représente l'un des six niveaux de titres de section, <h1> correspondant
au niveau le plus élevé ou le plus important, et <h6> au niveau le plus bas.
Lorsqu'un en-tête est imbriqué dans une bannière de document <header>, il s'agit
du titre de l'application ou du site. Lorsqu'elle est imbriquée dans <main>, qu'elle
soit ou non imbriquée dans une <header> de <main>, il s'agit de l'en-tête de cette
page, et non de l'ensemble du site. Lorsqu'il est imbriqué dans une <article> ou
une <section>, il s'agit de l'en-tête de cette sous-section de la page.
Il est recommandé d'utiliser les niveaux de titre comme dans un éditeur de texte:
en commençant par <h1> comme en-tête principal, avec <h2> comme en-tête
pour les sous-sections et <h3> si ces sous-sections comportent des sections.
évitez de sauter des niveaux de titre.
Attributs
Nous avons brièvement abordé les attributs dans Présentation du HTML. Il est
maintenant temps de les examiner plus en détail.
Les attributs sont ce qui fait la puissance du HTML. Les attributs sont des noms et
des paires nom/valeur séparés par des espaces qui apparaissent dans la balise
d'ouverture. Ils fournissent des informations sur l'élément et sa fonctionnalité.
Bien que le HTML ne soit pas sensible à la casse, certaines valeurs d'attribut le
sont. Les valeurs qui font partie de la spécification HTML ne sont pas sensibles à la
casse. Les valeurs de chaîne définies, telles que les noms de classe et d'ID, sont
sensibles à la casse. Si la valeur d'un attribut est sensible à la casse en HTML, elle
l'est également lorsqu'elle est utilisée dans un sélecteur d'attributs en CSS et en
JavaScript. Dans le cas contraire, elle ne l'est pas.
<!-- the type attribute is case insensitive: these are equivalent -->
<input type="text">
<input type="TeXt">
<!-- the id attribute is case sensitive: they are not equivalent -->
<div id="myId">
<div id="MyID">
Attributs booléens
Si un attribut booléen est présent, il est toujours défini sur "true". Les attributs
booléens
incluent autofocus, inert, checked, disabled, required, reversed, allowfullscreen, defa
ult, loop, autoplay, controls, muted, readonly, multiple, et selected. Si un ou
plusieurs de ces attributs sont présents, l'élément est désactivé, obligatoire, en
lecture seule, etc. S'ils ne sont pas présents, il ne l'est pas.
id
Cibler les styles avec une spécificité élevée ou en tant que sélecteurs
d'attributs dans CSS.
L'ID doit être unique au document. La mise en page ne sera probablement pas
affectée si un id est utilisé plusieurs fois, mais il est possible que votre code
JavaScript, vos liens et vos interactions avec les éléments ne fonctionnent pas
comme prévu.
class
L'attribut class offre une autre façon de cibler des éléments avec CSS (et
JavaScript), mais n'a aucune autre utilité dans HTML (bien que les frameworks et
les bibliothèques de composants puissent les utiliser). L'attribut de classe prend
pour valeur une liste de classes sensibles à la casse pour l'élément, séparées par
des espaces.
style
L'attribut style permet d'appliquer des styles intégrés, c'est-à-dire des styles
appliqués à l'élément unique sur lequel l'attribut est défini. L'attribut style prend
comme valeur des paires de valeurs de propriété CSS. La syntaxe de la valeur est la
même que celle du contenu d'un bloc de style CSS : les propriétés sont suivies d'un
deux-points, comme en CSS, et les points-virgules terminent chaque déclaration,
après la valeur
La plupart du temps, lorsqu’on écrit du texte dans une page web, on le fait à
l’intérieur
derniers.
Sauter une ligne En HTML, si vous appuyez sur la touche Entrée, cela ne
crée pas une nouvelle ligne comme vous en avez l’habitude. Comme vous
devez vous en douter, il y a pourtant bien un moyen d’imposer des sauts de
ligne en HTML. En fait, si vous voulez écrire un deuxième paragraphe, il vous
suffit d’utiliser une deuxième balise. Votre code HTML devrait donc être
rempli de balises de paragraphe.
une ligne ?Eh bien, il existe une balise « aller à la ligne » : <br /> (comme
break). C’est une balise orpheline. Vous devez obligatoirement la mettre à
l’intérieur d’un paragraphe.
Listes
HTML nous offre plusieurs façons de baliser les listes. Il existe des listes ordonnées
(<ol>), des listes non ordonnées (<ul>).
Dans les menus et les listes non ordonnées, les éléments de liste sont
généralement affichés à l'aide de puces. Dans les listes ordonnées, ils sont
généralement précédées d'un compteur croissant, tel qu'un chiffre ou une lettre.
L'ordre des puces et de la numérotation peut être contrôlé ou inversé avec HTML
ou CSS, ou les deux.
Listes à puces
L'élément <ul> est l'élément parent des listes d'éléments non ordonnés. Les seuls
enfants d'un élément <ul> sont un ou plusieurs éléments de liste <li>.
Créons une liste de machines. Nous utilisons une liste non ordonnée, car l'ordre
n'a pas d'importance (ne le leur dites pas).
Par défaut, chaque élément de liste non ordonnée est précédé d'une puce. La liste
non ordonnée ne comporte aucun attribut spécifique à un élément. Vous devez
terminer vos listes par un </ul>.
Listes ordonnées
L'élément <ol> est l'élément parent des listes ordonnées d'éléments. Les seuls
enfants d'un <ol> sont un ou plusieurs éléments <li>, ou éléments de liste. Dans
ce cas, les "puces" sont des nombres de différents types. Le type peut être défini
en CSS avec la propriété list-style-type ou avec l'attribut type.
lower-greek
lower-alpha, lower-latin
upper-alpha, upper-latin
arabic-indic
armenian
bengali
cambodian
cjk-earthly-branch
cjk-heavenly-stem
cjk-ideographic
devanagari
ethiopic-numeric
georgian
gujarati
gurmukhi
hebrew
hiragana
hiragana-iroha
japanese-formal
japanese-informal
kannada
katakana
katakana-iroha
khmer
korean-hangul-formal
korean-hanja-formal
korean-hanja-informal
lao
lower-armenian
malayalam
mongolian
myanmar
oriya
persian
simp-chinese-formal
simp-chinese-informal
tamil
telugu
thai
tibetan
trad-chinese-formal
trad-chinese-informal
upper-armenian
disclosure-open
disclosure-closed
ethiopic-halehame-ti-er
ethiopic-halehame-ti-et
hangul
hangul-consonant
urdu
Liens
Dans l'introduction de la section des attributs, vous avez vu un exemple montrant
comment les attributs sont ajoutés à la balise d'ouverture. L'exemple utilise la
balise <a>, mais ni l'élément, ni les attributs spécifiques introduits dans cet
exemple n'ont été abordés:
La balise d'ancrage <a> et l'attribut href créent un lien hypertexte. Les liens sont la
colonne vertébrale d'Internet. La première page Web contenait 25 liens, dont le
texte suivant : "Tout ce qui existe en ligne à propos de W3 est lié directement ou
indirectement à ce document". Il est probable que tout ce qui se trouve en ligne
concernant W3 est également lié directement ou indirectement dans ce
document !
Attribut href
Bien qu'il ne soit pas obligatoire, l'attribut href se trouve dans presque toutes les
balises <a>. L'adresse du lien hypertexte permet de transformer l'élément <a> en
lien. L'attribut href permet de créer des liens hypertextes vers des emplacements
de la page active, d'autres pages d'un site ou d'autres sites. Il peut également être
codé pour télécharger des fichiers ou pour envoyer un e-mail à une adresse
spécifique, y compris un objet et le corps de l'e-mail suggéré.
L'attribut href peut commencer par mailto : ou tel : pour envoyer un e-mail ou
passer des appels. La gestion du lien varie selon l'appareil. le système
d'exploitation et les applications installées.
Images
Les images décoratives, telles que les dégradés d'arrière-plan sur les boutons ou
les images d'arrière-plan sur les sections de contenu ou la page entière, sont des
éléments de présentation et doivent être appliquées avec CSS. Lorsqu'une image
ajoute du contexte à un document, il s'agit d'un contenu qui doit être intégré avec
HTML.
La méthode principale pour inclure des images est la balise <img> avec
l'attribut src faisant référence à une ressource d'image et l'attribut alt décrivant
l'image.
Chaque image de premier plan doit au minimum inclure les attributs src et alt.
Les attributs alt doivent être courts et concis. Ils doivent fournir toutes les
informations pertinentes transmises par l'image, tout en omettant les
informations redondantes par rapport à d'autres contenus du document ou qui ne
sont pas utiles. Le ton du texte doit refléter celui du site.
Audio et vidéo
Comme vous l'avez appris dans le module Images, le langage HTML permet
d'intégrer des éléments multimédias dans une page Web. Dans cette section, nous
examinons les fichiers audio et vidéo, y compris comment les intégrer, les
commandes utilisateur, comment fournir un espace réservé d'image statique pour
vos vidéos et les bonnes pratiques, y compris comment rendre les fichiers audio et
vidéo accessibles.
<audio> et <video>
Les éléments <video> et <audio> peuvent être utilisés pour intégrer des lecteurs
multimédias directement avec l'attribut src ou comme élément conteneur pour
une série d'éléments <source>, chacun fournissant une suggestion de fichier src.
Bien que <video> puisse être utilisé pour intégrer un fichier audio,
l'élément <audio> est préférable pour intégrer des fichiers audios.
Cet exemple <video> comporte une seule source avec l'attribut src qui renvoie à la
source vidéo. L'attribut poster fournit une image à afficher pendant le chargement
de la vidéo. Enfin, l'attribut controls fournit des commandes vidéo à l'utilisateur.
Si aucun attribut src n'est inclus dans les balises d'ouverture <video> ou <audio>,
incluez un ou plusieurs éléments <source>, chacun avec un attribut src vers un
fichier multimédia. L'exemple suivant inclut trois options de fichier multimédia, un
contenu de remplacement et des sous-titres en anglais et en français entre les
balises d'ouverture et de fermeture.
Tables
Les tableaux HTML permettent d'afficher des données tabulaires avec des lignes et
des colonnes. La décision d'utiliser une <table> doit être basée sur le contenu que
vous présentez et les besoins de vos utilisateurs par rapport à ce contenu. Si les
données sont présentées, comparées, triées, calculées ou croisées, <table> est
probablement le bon choix.
1. Élément <caption>
2. Éléments <colgroup>
3. Éléments <thead>
4. Éléments <tbody>
5. Éléments <tfoot>
Nous allons examiner les enfants des éléments <table>, qui sont tous facultatifs,
mais recommandés, puis nous intéresserons aux lignes, aux cellules d'en-tête de
tableau et aux cellules de données de tableau. Le <colgroup> sera abordé en
dernier.
Légende du tableau
dans l'élément <table>. Son inclusion permet à tous les utilisateurs de connaître
immédiatement l'objectif du tableau sans avoir à lire le texte environnant.
<table>
<caption>MLW Students</caption>
<thead></thead>
<tbody></tbody>
<tfoot></tfoot>
</table>
Contenu du tableau
Les tableaux peuvent être divisés en en-têtes, corps et pieds de page, mais aucun
de ces éléments n'a vraiment d'utilité si les tableaux ne contiennent pas de lignes,
de cellules et de contenu. Chaque ligne de la table, <tr>, contient une ou plusieurs
cellules. Si une cellule est une cellule d'en-tête, utilisez <th>. Sinon, utilisez <td>.
<table>
<caption>MLW Alumni</caption>
<thead>
<tr>
<th>Name</th>
<th>Destiny</th>
<th>Year</th>
</tr>
</thead>
<tbody>
<tr>
<th>Hal Gibrah</th>
<td>Calculator</td>
<td>2020</td>
</tr>
<tr>
<th>Cathy Terr</th>
<td>Waste disposal</td>
<td>2018</td>
</tr>
<tr>
<th>Lou Minious</th>
<td>Lightbulb</td>
<td>1956</td>
</tr>
</tbody>
</table>
Dans cet exemple, nous avons une légende, un en-tête de tableau et un corps de tableau. L'en-
tête comporte une ligne contenant trois cellules d'en-tête <th>, ce qui crée trois colonnes. Le
corps contient trois lignes de données: la première cellule est une cellule d'en-tête pour la
ligne. Nous utilisons donc <th> au lieu de <td>.
Comme dans MS Excel, Google Sheets et Numbers, vous pouvez joindre plusieurs
cellules en une seule. Pour ce faire, utilisez du code HTML.
L'attribut colspan permet de fusionner deux cellules ou plus adjacentes sur une
même ligne. L'attribut rowspan permet de fusionner des cellules sur plusieurs
lignes. Il est placé sur la cellule de la ligne supérieure.
<table>
<caption>MLW Alumni</caption>
<thead>
<tr>
<th rowspan="2" id="name" scope="col">Name</th>
<th colspan="2" id="path">Career path</th>
<th rowspan="2" id="year">Year</th>
</tr>
<tr>
<th id="past" scope="col">Past</th>
<th id="future" scope="col">Destiny</th>
</tr>
</thead>
<tbody>
<tr>
<th id="hal" scope="row">Hal Gibrah</th>
<td headers="hal path past">Calculator</td>
<td headers="hal path future">Mars rover</td>
<td>2020</td>
</tr>
<tr>
<th id="cathy" scope="row">Cathy Terr</th>
<td headers="cathy path past">Waste disposal</td>
<td headers="cathy path future">Automated teller</td>
<td>2018</td>
</tr>
<tr>
<th id="lou" scope="row">Lou Minious</th>
<td headers="lou path past">Lightbulb</td>
<td headers="lou path future">Smart bulb</td>
<td>1956</td>
</tr>
</tbody>
</table>