Software">
Cours HTML
Cours HTML
Cours HTML
- S3
Pr.
@ .ma
1/200
PLAN DE COURS
Introduction
Qu'est ce qu'un réseau ? CSS
internet » ? Syntaxe
le web » ? Les sélecteurs
HTML Principes
Notion des balises Affichage du texte
Structure de la page Mise en forme de la page
Styles de texte
Listes et énumérations Javascript
Liens Principes et définitions
Images Syntaxe et éléments de base du langage
Tableaux Programmation événementielle
Formulaires
Médias
2/200 2
QU'EST CE QU'UN RÉSEAU ?
3/200 3
4/200
4
QU'EST CE QUE LE WEB ?
des adresses pour nommer les documents : URL URL : Uniform Resource Locator
5/200 5
http://www. monsite.com/Accueil/index.html
Hôte Path
Chemin pour accès au ressources
URI
http://www.monsite.com/index.htm
l
URL URN
Uniform Resource Locator Uniform Resource Name
6/200 6
HYPERTEXTE
Texte "normal" :
Organisation linéaire.
Eventuellement renvois sous forme de sommaires, index, notes de bas de page.
Hypertexte :
Organisation pas forcément linéaire.
Texte enrichi de liens :
renvo vers un document.
renvo vers une partie du même document.
renvo vers une partie d'un autre document.
7/200 7
CLIENT / SERVEUR
8/200 8
CLIENT / SERVEUR
9/200 9
CLIENT / SERVEUR
10/200 10
CLIENT / SERVEUR
11/200 11
CLIENT / SERVEUR
12/200 12
CLIENT / SERVEUR
13/200 13
Chapitre 1
LANGAGE HTML
14/200 14
HISTORIQUE
Années 1990 : HTML est créé par Tim Berner-Lee au Centre Européen de Recherche
Nucléaire (CERN)
Task Force)
1996 : HTML 3.2 ajout des tables, des applets (Java), etc.
1998 : HTML 4.01 ajout des feuilles de styles, des frames, etc.
2000 : XHTML 1.0 reformulation de HTML 4 en XML 1.0
2002-2006 : XHTML 2.0 en cours de spécification
2007-maintenant : HTML5
15/200 15
HTML
pour hypertextes
les documents contiennent des hyperliens permettant un accès direct à une autre partie du
document
16/200 16
LANGAGE
langage
syntaxe = grammaire
sémantique = sens
Le vocabulaire permet de construire des textes qui respectent la syntaxe et qui ont un sens.
17/200 17
VOCABULAIRE
18/200 18
SYNTAXE
La syntaxe définit :
.html)
19/200 19
Parenthésage :
Un document html valide est bien parenthésé.
1. A toute balise ouvrante <element> doit être associée une balise fermante </element>.
2. Les éléments ne doivent pas se chevaucher : premier ouvert, dernier fermé
Exemple
<p> debut <code>emboité ?</p> suite </code> ! illégal !
<p> debut <code>emboité ? </code> suite</p> ! légal !
Commentaires
<!--ceci est un commentaire -->
20/200 20
Emboitement
emboités ».
<p>
début du contenu de p
<code>
début emboité 1
<strong>
contenu emboité 2
</strong>
fin emboité1
</code>
suite du contenu de p
</p>
21/200 21
SÉMANTIQUE
A chaque élément (balise) est associée une sémantique qui définit son usage.
Elle permet de savoir quand et pourquoi utiliser un élément.
Exemple :
<p> sert à représenter un paragraphe
<time> sert à identifier une heure ou une date
<td> représente une « case » dans un tableau
<strong>
etc.
22/200 22
OUTILS
Des outils pour éditer, debugger HTML, CSS, JS dans les navigateurs modernes par n
inspecteur intégré:
Google Chrome, Opera, Apple Safari
Microsoft Edge
Mozilla Firefox
Vivaldi
23/200 23
Chapitre 2
ÉLÉMENTS HTML
24/200 24
QUELQUES GÉNÉRALITÉS
Un fichier HTML est un fichier texte simple, parfaitement lisible, respectant un ensemble
de convention d'écriture
Un fichier HTML peut être écrit à l'aide de n'importe quel éditeur de texte simple (des
Lorsque vous consultez un site web, les fichiers HTML (extension .htm ou .html) sont
envoyés à votre navigateur et le code html est interprété sur VOTRE machine par VOTRE
navigateur
Il n'est pas indispensable de posséder un serveur HTTP pour écrire des pages. Vous
pouvez utiliser la fonction « Ouvrir » de votre navigateur pour consulter une page HTML
enregistrée sur votre ordinateur (ou une page que vous avez vous-même créée)
25/200 25
26/200 26
ÉLÉMENTS HTML
Exemple de CV
Titre de Page
Titre principale
Image
iste Ordonn
Liens vers les ancres
Paragraphe
27/200 27
ÉLÉMENTS HTML
Exemple de CV
Table
Hyperlien
28/200 28
LE PRINCIPE DES BALISES
30/200 30
Étape 1: structure
<!DOCTYPE html>
<html>
<head>
<title>Première page HTML</title>
<meta charset -
</head>
<body>
...
</body>
</html>
31/200 31
BALISES HTML DE BASE
Étape 1: structure
doctype de
doctype sert à préciser le type du document.
doctype : vous pouvez remarquer que la balise
représentant le doctype
Dans la balise doctype, on va préciser le langage utilisé, à savoir le HTML dans notre cas.
Lorsque les standards HTML se sont d'abord devenus populaires, le Web était plein de pages
qui ne respectaient pas les normes. Pour aider les navigateurs à rendre ces pages
correctement, les navigateurs ont utilisé la déclaration doctype pour distinguer les pages non
conformes et conformes.
si vous quittez la déclaration de la page HTML, cela indiquera au navigateur qu'il devrait traiter
vos pages comme une norme HTML non conforme.
32/200 32
Étape 1: structure
<html>
...
</html>
Racine du document
Cet élément est composé de deux balises <html> et </html> et va représenter notre page
HTML en soi. On va donc insérer tout le contenu de notre page (et donc les autres
-ci.
Contient les balises <head> et <body>
33/200 33
BALISES HTML DE BASE
Étape 1: structure
<head>
...
</head>
L élément head va contenir des meta informations relatives à la page, c est-à-dire des
informations générales dont la page va avoir besoin pour fonctionner, comme le titre de
la page, le style ou encore le type d encodage utilisé.
<title>
Va contenir le titre de la page
<meta charset ="utf-8">
Va nous permettre de définir l encodage de la page pour que tous nos caractères, notamment les accents,
s affichent normalement dans notre page. Pour nous, français, nous utiliserons la valeur utf-8. pour
l arabe à ajouter la propriété <p lang= ar > </p>
<style> , <link /> et <script>
Inclure des styles et script (CSS et javascript, voir plus loin)
34/200 34
Étape 1: structure
<body>
...
</body>
35/200 35
BALISES HTML DE BASE
</body>
</html>
36/200 36
<head>
<title>Ma page web</title>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
<meta name="author" content="moi" />
<meta name="description" content="cours web" />
<meta name="mise a jour" content="tous les ans" />
<meta name="robots" content="index,follow"/>
</head>
37
BALISES HTML DE BASE
38/200 38
...
<body>
<h3>Enseignements </h3>
<h3>Recherches </h3>
<h3>Langues </h3>
</body>
...
39/200 39
BALISES HTML DE BASE
Étape 4: Paragraphes
<p>...</p>
Pour créer des paragraphes
Pour chaque nouveau paragraphe, un retour à la ligne va être créé automatiquement et
...
<br /> ,<br> <body>
<p> remier Paragraphe </p>
est l'abréviation de « break », <p> Deuxième <br/> Paragraphe </p>
<hr>
Pour créer un retour à la ligne
<p>
</body>
...
<hr > ,<hr/>
Pour définir un retour à la ligne avec cha
40/200 40
Étape 4: Paragraphes
<body>
<h1>Pr. </h1>
<p>
Professeur de d'enseignement supérieur <br/>
Département Informatique <br/>
<br/>
</p>
<hr>
<h3>Enseignements</h3>
<h3>Recherches</h3>
<h3> </h3>
< >
isitez : www. . ma
</p>
</body>
41/200 41
BALISES HTML DE BASE
Étape 4: Paragraphes
42/200 42
Étape 4: Paragraphes
La balise <pre></pre>
permet de représent le texte qu'elle contient de la façon dont il est agencé :
en utilisant une police à chasse fixe (dont tous les caractères ont la même largeur)
43/200 43
BALISES HTML DE BASE
Étape 4: Paragraphes
<body>
<h1>Pr. </h1>
<pre>
Professeur de d'enseignement supérieur
Département Informatique
Université
</pre>
< >
<h3>Enseignements</h3>
<h3>Recherches</h3>
<h3>Domaines d intérêt</h3>
< >
isitez : www. .ma
</p>
</body>
44/200 44
Étape 4: Paragraphes
42/200 42
BALISES HTML DE BASE
45/200 45
46/200 46
BALISES HTML DE BASE
47/200 47
<dl>
<dt>Nom</dt>
<dd>Mohamed</dd>
<dt>naissance</dt>
<dd>1995</dd>
<dt>lieu</dt>
<dd>Rabat</dd>
<dt>Taille</dt>
<dd>1m70</dd>
</dl>
48/200 48
BALISES HTML DE BASE
...
<body>
<h1>Pr. </h1>
<ol>
<li>Enseignements</li>
<li>Recherches</li>
<li> </li>
</ol>
...
<h3> Enseignements </h3>
<ul>
</ul>
</body>
...
49/200 49
50/200 50
BALISES HTML DE BASE
Un
51/200 51
Lien à un ANCRE
52/200 52
BALISES HTML DE BASE
...
<h1>Pr. </h1>
<ol>
<li><a href="#Ens"> Enseignements </a></li>
<li><a href="#Rec"> Recherches </a></li>
<li><a href="#Lan"> Langues </a></li>
</ol>
...
<h3 id="Ens"> </h3>
...
<h3 id="Rec"> Recherches </h3>
...
<h3 id="Lan"> Langues </a></h3>
...
< >
visitez ma page web :
<a href="http://www. .ma">
</a>
</p>
53/200 53
54/200 54
BALISES HTML DE BASE
55/200 55
La balise <img/>
Les attributs suivants sont obligatoires :
src href
alt
width : largeur
height : hauteur
:
56/200 56
BALISES HTML DE BASE
...
<h1> </h1>
<img src=" .png" alt=" "
title=" " />
<ol>
<li>
<a href="#Ens"> Enseignements </a>
</li>
<li>
<a href="#Rec"> Recherches </a>
</li>
<li>
<a href="#Lan"> Langues </a>
</li>
</ol>
...
57/200 57
Pour créer un tableau simple, nous allons avoir besoin de trois éléments HTML :
<table> (« tableau » en français) va définir le tableau en soi ;
< > définir tableau ;
<tr>, pour « able ow » ou « ligne de tableau » en français va nous servir
à introduire une nouvelle ligne dans notre tableau ;
<td>, pour « able ata » ou « donnée de tableau » en français va nous
permettre
58/200 58
BALISES HTML DE BASE
<table border="1">
< > </ >
<tr>
<th>Line 1, Header 1</th>
<th>Line 1, Header 2</th>
</tr>
<tr>
<td>Line 2, Cell 1</td>
<td>Line 2, Cell 2</td>
</tr>
<tr>
<td>Line 3, Cell 1</td>
<td>Line 3, Cell 2</td>
</tr>
</table>
59/200 59
colspan et rowspan.
Ces deux attributs vont prendre comme valeur le nombre de cellules à combiner entre
elles tout simplement
60/200 60
BALISES HTML DE BASE
<table border="1">
<tr>
<th colspan="2">Header</th>
</tr>
<tr>
<td>1</td>
<td rowspan="2">Fusionning 2 lines</td>
</tr>
<tr>
<td>2</td>
</tr>
<tr>
<td colspan="2">
Fusionning two cells
</td>
</tr>
</table>
61/200 61
<table border="1">
<tr>
<th colspan="2" rowspan="2"></th>
<th colspan="5">Niveau</th>
<tr>
<th>1</th> <th>2</th> <th>3</th> <th>4</th> <th>5</th>
</tr>
</tr>
<tr>
<th rowspan="3">Anglais</th>
<th>Lire</th>
<td></td><td></td><td></td><td></td><td>X</td>
</tr>
<tr>
<th>Parler</th>
<td></td><td></td><td>X</td><td></td><td></td>
</tr>
<tr>
<th>écrire</th>
<td></td><td></td><td></td><td>X</td><td></td>
</tr>
62/200 62
BALISES HTML DE BASE
<tr>
<th rowspan="3">Français</th>
<th>Lire</th>
<td></td><td></td><td></td><td></td><td>X</td>
</tr>
<tr>
<th>Parler</th>
<td></td><td></td><td></td><td></td><td>X</td>
</tr>
<tr>
<th>écrire</th>
<td></td><td></td><td></td><td>X</td><td></td>
</tr>
</table>
...
63/200 63
64/200 64
BALISES HTML DE BASE
Les figures
images ;
codes source ;
citations ;
etc.
65/200 65
Les figures
Une figure <figure> est le plus souvent accompagnée d'une légende. Pour ajouter une
légende, utilisez la balise <figcaption> à l'intérieur de la balise <figure>, comme ceci :
<figure>
<img src=" images/ .png" alt=" " />
<figcaption> </figcaption>
</figure>
66/200 66
BALISES HTML DE BASE
67/200 67
La mise en valeur
<em> (pour emphase) Pour mettre un peu en valeur votre texte.
et élément est affiché avec une police italique
68/200 68
BALISES HTML DE BASE
</p>
69/200 69
70/200 70
BALISES HTML DE BASE
<p>
<div style=" color : red; font-weight : bold ">
Bonjour et bienvenue sur mon site !
</div>
<span style=" background : #ffff00 "> Ceci est mon premier test
alors soyez indulgents s'il vous plaît, j'apprends petit à petit comment
cela marche.
</p>
71/200 71
Caractères spéciaux
La règle: « & » + lettre utilisé + abréviation + « ; »
Code Display
è è
é é
â â
ç ç
ü ü
˜ ~
72/200 72
LES ÉLÉMENTS SÉMANTIQUES DE HTML5
Éléments sémantiques
<header>
<section>
<nav>
<aside>
<article>
Plus de structure,
Moins de <div>
76/200 7
en accompagnement...
Entête et pied
<header> introduction à un document, une section, un article. Peut
contenir un titre, un logo, etc.
<footer>
contenir des informations, des liens annexes, etc.
77/200 7
CATÉGORIES DE CONTENU DES ÉLÉMENTS
<body>
<header>
<nav> </nav>
</header>
<aside> </aside>
<section>
<header> </header>
<article> </article>
<article> </article>
<footer> </footer>
</section >
<article> </article>
<footer> </footer>
</body >
78/200 7
PLUS SÉMANTIQUE
<body>
<header>
<h1> Le blog génial </h1>
<p>Bienvenue dans mon blog</p>
</header>
<nav>
<ul>
<li><a href="">Acceuil</a></li>
<li><a href="">CV</a></li>
<li><a href="">Loisir</a></li>
<li><a href="">Contact</a></li>
</ul>
</nav>
</body>
79/200 7
HEADERS
Avant :
<div id="header">
<h1> </h1>
<p class="tagline"> </p>
</div>
Avec HTML5 :
<header>
<h1> </h1>
<h2> </h2>
</header>
80/200
FOOTERS
Avant :
<div id= >
<p>Copyright 20 </p>
</div>
Avec HTML5 :
<footer>
<p> </p>
</footer>
81/200
NAVIGATION
82/200
NAVIGATION
83/200
EN RÉSUMÉ
84/200 8
EN RÉSUMÉ
On insère une image avec la balise <img />. Elle doit obligatoirement comporter
au moins ces deux attributs : src (nom de l'image) et alt (courte description de
l'image).
Si une image illustre le texte (et n'est pas seulement décorative), il est conseillé
de la placer au sein d'une balise <figure>.
La balise <figcaption> permet d'écrire la légende de l'image.
Un tableau s'insère avec la balise <table> et se définit ligne par ligne avec <tr>.
Chaque ligne comporte des cellules <td> (cellules normales) ou <th> (cellules
d'en-tête). Le titre du tableau se définit avec <caption>.
Un tableau peut être divisé en trois sections : <thead> (en-tête), <tbody>
(corps) et <tfoot> (bas du tableau). L'utilisation de ces balises n'est pas
obligatoire. On peut fusionner des cellules horizontalement avec l'attribut
colspan ou verticalement avec rowspan. Il faut indiquer combien de cellules
doivent être fusionnées.
Pour plus de détail sur balises : https://developer.mozilla.org/fr/docs/Web/HTML
85/200 8
ÉLÉMENTS HTML ( SUITE)
86/200 8
Pixel
87/200 8
IMAGES CLIQUABLES
88/200 8
shape="forme"
rect : rectangle
coords="coin_sup_gauche, coin_inf_droit"
circle : cercle
coords="centre, rayon"
poly : polygone
coords=" "
Coordonnées
89/200 8
IMAGES CLIQUABLES : EXEMPLE
Exemple
90/200
FORMULAIRE
92/200 9
FORMULAIRE
93/200
FORMULAIRE
application/x-www-form-urlencoded :
multipart/form-data :
text/plain
<body>
</form>
</body>
FORMULAIRE
roblèmes de sécurité
94/200
FORMULAIRE
95/200
FORMULAIRE
96/200
FORMULAIRE
<body>
<form method="post" action="" enctype="multipart/form-data">
<fieldset>
<legend>test</legend>
<label for="pseudo">Pseudo *</label>
<input type="text" id="pseudo" name="pseudo" required>
</fieldset>
</form>
</body>
97/200
FORMULAIRE
98/200
FORMULAIRE
99/200
FORMULAIRE
<fieldset>
<legend>Input 1</legend>
<label for="prenom" >Prénom : </label>
<input type="text" id="prenom" ><br>
<label for="nom">Nom : </label>
<input type="text" id="nom"><br>
<label for="email">e-mail: </label>
<input type="text" id="email"><br>
<input type="radio" name="sexe" value="homme"> homme<br>
<input type="radio" name="sexe" value="femme"> femme<br>
<input type="submit" value="envoyer">
<input type="reset" >
</fieldset>
100/200 10
FORMULAIRE
101/200 10
FORMULAIRE
Textarea
Nous allons utiliser l balise <textarea> our un champs texte sur plusieurs lignes
L'attribut name permet de spécifier le nom de la variable qui sera envoyé.
L'attribut rows permet de préciser le nombre de lignes de la zone de texte.
Plus le chiffre sera grand, plus notre textarea sera long.
L'attribut cols permet de préciser le nombre de caractère par ligne de la zone de
texte. Plus le chiffre sera grand, plus notre textarea sera large.
Le texte placé entre les balises <textarea> et </textarea> permet de spécifier une
valeur par défaut, c'est à dire que le champs sera affiché prérempli.
<fieldset>
Votre message :<br />
<textarea name=" " rows="6" cols="40">
</textarea>
</fieldset>
102/200 1
FORMULAIRE
élection
Les champs select permettent de proposer une liste déroulante de choix.
Nous allons utiliser les balises <select> et </select>.
L'attribut name permet de spécifier le nom de la variable qui sera envoyé.
Entre ces balises <select> </select>, nous allons placer des couples <option> </option>
Nous pouvons afficher le champs select avec une option pré-sélectionnée
selected="selected" :
<fieldset>
Vous êtes :<br />
<select name="profil">
<option value="parti" selected >Un particulier</option>
<option value="profe">Un professionnel</option>
<option value="insti">Un institutionnel</option>
</select>
</fieldset>
103/200 1
À RÉALISER
104/200 1