Support de Cours - M104 Web Statique 26-11-2024 v2
Support de Cours - M104 Web Statique 26-11-2024 v2
Support de Cours - M104 Web Statique 26-11-2024 v2
Promotion du Travail
M104
Développer des sites Web
statiques
Y.OUBOURZIZ
PLAN
1. Créer une page web en HTML
4. Maîtriser Bootstrap
5. Héberger un site Web
Créer une page
web en HTML
I. Introduction au langage HTML
II. Utiliser l'environnement de développement
III. Définir des éléments basiques d'une page HTML
4
I. Introduction au langage HTML
1– Historique de l’HTML
Le World Wide Web (WWW), ou simplement le Web, est un immense réseau de pages et de documents
interconnectés, accessibles via Internet. Il constitue le moyen le plus répandu pour partager et rechercher de
l'information.
• Ressources et liens : Chaque élément accessible sur le Web, qu'il s'agisse de texte, d'images, de vidéos ou
d'autres types de fichiers, est appelé une ressource. Ces ressources sont liées entre elles grâce à des liens
hypertextes (ou hyperliens), qui permettent de naviguer d'une page à l'autre.
• URL : Chaque ressource possède une adresse unique appelée URL (Uniform Resource Locator). Cette URL sert
à l'identifier et à la retrouver sur le Web.
• HTML : Les documents du Web sont principalement écrits en HTML (HyperText Markup Language). Ce langage
de balisage permet de structurer le contenu et de créer les liens hypertextes.
5
I. Introduction au langage HTML
1– Historique de l’HTML
• Les serveurs sont des ordinateurs qui stockent les pages Web et les mettent à disposition.
• Les clients sont les ordinateurs des utilisateurs (ordinateurs, smartphones, tablettes). Un
navigateur Web (comme Chrome, Firefox, Safari) est un logiciel installé sur le client qui
Source : https://www.wddonline.com/2016/09/27/history-world-wide-web/
7
I. Introduction au langage HTML
1– Historique de l’HTML
Le World Wide Web Consortium (W3C) est une organisation internationale qui a pour mission de définir les
règles de base du Web. En d'autres termes, le W3C établit les normes que doivent respecter tous les sites
web pour garantir :
L'accessibilité: Tous les utilisateurs, quel que soit leur matériel ou leur logiciel, doivent pouvoir
accéder à l'information.
L'interopérabilité: Les différentes pages web doivent pouvoir s'afficher correctement sur tous les
navigateurs.
La pérennité: Les contenus web doivent rester accessibles et compréhensibles dans le temps.
Pourquoi ces normes sont-elles importantes ?
Imaginez un monde où chaque navigateur interprète le code d'un site web de manière différente. Le résultat
? Un véritable chaos où certaines pages s'afficheront correctement sur un navigateur, mais seront illisibles
sur un autre.
Le rôle du W3C est justement d'éviter cette situation en définissant des standards communs. Ces
standards permettent :
• Une meilleure cohérence: Les données, les formats et les fonctionnalités sont les mêmes partout.
• Une meilleure compréhension: Les machines (navigateurs, moteurs de recherche) peuvent mieux
interpréter le contenu des pages.
• Une plus grande facilité de développement: Les développeurs n'ont pas à réinventer la roue à
chaque fois.
• Requête HTTP
• Certains ordinateurs autonomes peuvent avoir plusieurs systèmes d'exploitation qui fonctionnent dans une configuration dual boot,
qui permet à l'utilisateur de travailler sur des programmes complexes, si nécessaire.
• Un client peut être un système d'exploitation ou un logiciel conçu pour produire des demandes qui doivent être traitées par le
serveur. Le système client accède au serveur pour les demandes via un réseau. C’est le modèle Client/serveur illustré dans la Figure 23.
Architecture Centralisée
1
2
I. Introduction au langage HTML
4– Architecture Client / serveur
https://zeetim.com/fr/quest-ce-quun-client-leger/
1
3
I. Introduction au langage HTML
4– Architecture Client / serveur
Windows 98 Debian
Windows XP Redhat
Windows 8 Fedora
Windows 11 Kali
• Visual Studio Code est un logiciel gratuit développé par Microsoft. Il fonctionne sous différents systèmes : Windows, Linus, Mac OS.
VS Code permet l’édition, la correction, le débogage et l’exécution du code source dans plusieurs langages informatiques : Visual Basic,
JavaScript, XML, Python, HTML, CSS, ….
VS code offre :
• Une présentation sophistiquée du code.
• Une auto-complétion du code source.
• Un ensemble d'extensions permettant de simplifier la programmation.
• La détection du langage de programmation par l'extension du fichier.
[5] https://code.visualstudio.com/
1
8
I. Utiliser l'environnement de développement
1– Utilisation de Visual Studio Code
[6] https://marketplace.visualstudio.com/VSCode
2
0
I. Utiliser l'environnement de développement
1– Utilisation de Visual Studio Code
23
2
4
III. Définir les éléments basiques d’une page HTML
2– Squelette d’une page HTML
• HTML
Le fait que les codes utilisés pour structurer, configurer et formater une page web soient appelés HyperText Markup
• HyperTexte : Une référence oblique aux liens qui sont la caractéristique définissante des pages web.
• Markup : Les instructions qui spécifient comment le contenu d'une page web doit être affiché dans le navigateur.
• Language : L'ensemble des codes qui comprennent toutes les possibilités de balisage pour une page.
Mais même si le nom HTML est intimidant, les codes utilisés en HTML sont loin d'être difficiles à apprendre. Il n'y en
a qu'un petit nombre, et dans de nombreux cas, ils sont même logiques !"
2
5
III. Définir les éléments basiques d’une page HTML
2– Squelette d’une page HTML
• La structure de base d'un document HTML est assez simple à comprendre. Elle se compose de
quelques éléments clés qui définissent la structure globale de la page web
❶ Déclaration du type de
document (HTML 5)
Notion de balise
• Les éléments HTML sont les blocs de construction de base de la page web. Ils sont définis par des
balises.
• Une balise est un élément de texte encadrée par les caractères inférieur (<) et supérieur (>)
• Une balise correspond à un élément du code HTML d'une page web (un objet, une mise en forme, ..)
• Une balise a généralement la forme suivante :
<balise attribut="valeur">Contenu</balise>
Balise ouvrante On change ces valeurs pour modifier l'apparence de l'objet Balise fermante
start tag End tag
Figure 9 : Forme d’une balise HTML
2
7
III. Définir les éléments basiques d’une page HTML
2– Squelette d’une page HTML
• Notion d’encapsulation
Les balises doivent être correctement encapsulées :
<p>
<p> <b>
<b> Paragraphe
Paragraphe </p>
</b> </b>
</p>
div
<div> div racine
<h1>titre</h1> h1
<h2>un sous titre</h2>
<p>un paragraphe avec h2
<em>des mots importants</em> h1 h2 p nœud
pour terminer avec une image p
<img src="logo.gif" alt="un logo"/> em
</p>
</div> img em img feuille
Bloc Inline
h1 img span a
div
Balise racine :
<!DOCTYPE html>
Balise principale :
</html>
Section Head :
• C'est l'élément entête qui contient les métadonnées d'une page web. Cet
élément n’est pas visible sur la page web (informations sur la page).
• Exemple :
<head> </head>
Section Body :
• C'est l'élément qui contient tous les composants visibles de la page web : les textes,
les paragraphes, les images, les tableaux, les animations…
• Exemple :
<body> </body>
3
3
III. Définir les éléments basiques d’une page HTML
3– Balises de base
La balise <meta>
• Les métadonnées meta sont des données (informations) sur les données. La balise <meta> fournit
des métadonnées sur le document
• HTML. Les métadonnées ne seront pas affichées sur la page, mais seulement interprétables par les
machines.
Exemples de balises meta :
<meta charset="UTF-8">
Cet élément est indispensable pour avoir une page web responsive (qui s'adapte à la taille de l'écran
utilisé).
Ces éléments fournissent des informations sur le document html (utilisées par les moteurs de
recherche)
3
4
III. Définir les éléments basiques d’une page HTML
3– Balises de base
La balise <title>
• Définit le texte à afficher sur la barre du titre.
Exemples de balises title :
<title>Mon document</title>
Figure 14 : Titre du document HTML
La balise <link>
Utilisée pour relier un document HTML à des ressources externes (CSS, icônes, etc.).
Placée dans la section <head> du document.
<link> est une balise autonome (pas de balise de fermeture).
rel (Relation) : Spécifie le type de relation entre le document HTML et la ressource. Exemples : stylesheet, icon, manifest, etc.
href
Exemples de (Hyperlink
balises lnk : Reference) : Contient l'URL de la ressource externe.
Obligatoire pour indiquer le fichier lié (ex. CSS, favicon).
<link rel="stylesheet" href="style.css">
type (Type MIME) : Définit le type de contenu de la ressource. Exemple : text/css pour les fichiers CSS.
La balise <link>
Utilisée pour relier un document HTML à des ressources externes (CSS, icônes, etc.).
Placée dans la section <head> du document.
<link> est une balise autonome (pas de balise de fermeture).
Exemples de balises lnk :
Les attribues :
<!DOCTYPE html>
<html lang="fr" dir="rtl">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Mon document</title>
</head>
<body>
<!-- Ceci est un commentaire -->
</body>
</html>
3
7
III. Définir les éléments basiques d’une page HTML
3– Balises de base
<h1> à <h6> Définissent les niveaux de titre (h1 étant le plus important). <h1>Titre principal</h1>
<p> Définit un paragraphe. <p>Ceci est un paragraphe.</p>
<a href="https://www.exemple.com">Visiter mon
<a> Crée un lien hypertexte vers une autre page.
site</a>
3– Balises de base
Exemple :
<h1>Niveau1</h1>
<h2>Niveau2</h2>
<h3>Niveau3</h3>
<h4>Niveau4</h4>
<h5>Niveau5</h5>
<h6>Niveau6</h6>
4– Les couleurs
4– Les couleurs
<ul>
<li>Élément1</li>
Exemple de liste non ordonnée <li type="circle">Élément2</li>
<li type="square">Élément3</li>
</ul>
Figure 16 : Liste non ordonnée
<ol>
<li type="I">Élément1</li>
Exemple de liste ordonnée <li type="i">Élément2</li>
<li type="A">Élément3</li>
<li type="a">Élément4</li>
</ol>
Figure 17 : Liste ordonnée 1
<ol>
<li>Élément1</li>
Exemple de liste ordonnée
<li>Élément2</li>
<li value="1">Élément3</li>
<li>Élément4</li>
</ol>
Exemple :
<dl>
<dt>Langages</dt>
<dd>C++</dd>
<dd>Java</dd>
<dd>Python</dd>
<dt>SGBD</dt>
<dd>MySQL</dd>
<dd>MS SQL Server</dd>
<dd>Oracle</dd> Figure 19 : Liste de définition
</dl>
4
7
III. Définir les éléments basiques d’une page HTML
6– Types de chemins d’accès
Chemins d’accès
• Le chemin d'accès d'un fichier (ou d'un répertoire) est une chaîne de caractères représentant une liste de noms de
répertoires séparés par des barres obliques. Cette chaine décrit la position de ce fichier (ou répertoire) dans le
système de fichiers.
Chemins d’accès
Exemples :
Chemin Description
La balise <a>
La balise <a> permet de créer un lien hypertexte, c'est-à-dire rendre une partie du texte active suite au clic de
l’utilisateur. Pour chaque lien on associe une adresse destination où l'utilisateur sera envoyé après son clic.
Cette balise permet également de créer des liens à l'intérieur d'un document ainsi que l'envoi d'un mail.
Les principaux attributs des liens hypertextes sont :
• href : la cible du lien
• title : affiche une info bulle sur le lien.
• Target :
_blank : ouverture de la page cible dans une nouvelle fenêtre.
_parent : ouverture de la page cible dans le cadre parent (de niveau immédiatement supérieur).
_self : (valeur par défaut), ouverture de la page cible dans le cadre d'appel.
_top : ouverture de la page cible dans la fenêtre hôte (par-dessus le FRAMESET).
5
7– Les liens
• Exemples de liens
• Lien vers un autre document HTML(Lien relatif)
• Exemples de liens
La balise <img>
La balise <img> permet d’insérer une image dans une page web.
• L’attribut src définit le chemin de l'image source
• l’attribut alt le texte alternatif si l'image n'est pas affichée.
• Les attributs width et height définissent la taille de l’image (en pixels)
Exemple :
• La balise <picture>
• L'élément HTML <picture> permet d'afficher différentes images pour différents appareils ou tailles d'écran. Le
navigateur choisira la source la plus pertinente selon :
• La disposition de la page
• L'appareil utilisé
• Les formats pris en charge
• Si aucune correspondance n'est trouvée parmi les éléments <source>, c'est le fichier défini par l'attribut src de
l'élément <img> qui sera utilisé.
Exemple :
<picture>
<source srcset="../Photos/ofppt.jpg" media="(min-width : 600px)">
<img src="..//Photos/officeFP.jpg" alt="Pas d'image" width="200px" height="140px">
</picture>
• Si la largeur de l'écran dépasse 600 px, c'est la source « ofppt.jpg » qui prend l'objet <picture>.
5
La balise <audio>
L'élément <audio> permet de lire un fichier audio dans la page HTML. Les attributs utilisés avec cette balise sont :
• Controls : pour afficher les boutons play, stop, preview…
• Autoplay : pour démarrer la lecture automatique de l'audio lors du chargement de la page web.
Le navigateur essaie de lire la première source. En cas d'erreur, il passe à la deuxième source. Si le navigateur ne
prend pas en charge l'élément <audio>, il affiche le
message en bas.
Exemple :
La balise <video>
L'élément <video> permet d'incorporer une vidéo dans une page Web. Les attributs utilisés avec cette balise sont :
• Controls : pour afficher les boutons play, stop, …
• Autoplay : pour démarrer la lecture automatique de la vidéo lors du chargement de la page web.
• Poster : spécifie une image à afficher pendant le téléchargement de la vidéo. Si cet attribut n’est pas renseigné, la première
image de la vidéo sera utilisée à sa place.
Le navigateur essaie de lire la première source. En cas d'erreur, il passe à la deuxième source. Si le navigateur ne prend pas en
charge l'élément <video>, il affiche le message en bas.
Exemple :
La balise <iframe>
La balise <iframe> permet d’afficher une vidéo
Pour ce faire, on peut utiliser l’identifiant de la vidéo pour y faire
référence dans le code HTML.
Exemple :
La balise <object>
L'élément <object> est une solution polyvalente pour inclure des objets génériques.
Cet élément permet aux auteurs HTML de spécifier tout ce qui est requis par un objet pour sa
présentation par un agent utilisateur.
Exemple 1 : intégrer un document HTML dans un autre document HTML
La balise <table>
Pour insérer un tableau, on utilise la balise <table>.
À l’intérieur de la balise <table>, la balise <tr> (table row) signifie une ligne.
Chaque ligne est composée d’une ou plusieurs cellules de données définies par la balise <td>.
Pour l’entête du tableau, on utilise la balise <th> (table header).
L’attribut Border permet de fixer la largeur des bordures des cellules.
Exemple :
<table border="1">
<caption align="bottom">Liste des employés</caption>
<tr>
<th>Nom</th><th>Prénom</th><th>Age</th>
</tr>
<tr>
<td>ENAANAI</td><td>Adil</td><td>40</td>
</tr>
<tr>
<td>SAFIR</td><td>Laila</td><td>32</td>
</tr>
<tr>
<td>HAMIM</td><td>Mohamed</td><td>39</td>
</tr>
</table> Figure 20 : Exemple de tableau en HTML
5
8– Les tableaux
cellspacing
cellpadding
Exemple 2: On souhaite que la première colonne du tableau déborde sur 2 lignes : rowspan=2
<table width=60% border=1>
<tr>
<td width=33% rowspan=2>cellule 1</td>
<td width=33%>cel 2</td>
<td width=34%>cel 3</td> </tr>
</tr>
<tr>
<td width=33%>cel 4</td> Figure 23 : Exemple de tableau avec fusion des lignes
<td width=34%>cel 5</td> </tr>
</table>
6
1
III. Définir les éléments basiques d’une page HTML
9– Balises de structuration
9– Balises de structuration
• <header>
• <nav>
• <section>
• <article>
• <aside>
• <figure> / <figcaption>
• <footer>
• <details> / <summary>
• <mark>
• <time> Figure 24 : Les éléments sémantiques [8]
6
9– Balises de structuration
9– Balises de structuration
Exemples :
<header>
<h1>Titre de la partie</h1>
<p>Publié par CDC</p>
<p>Informations supplémentaires</p>
</header>
<p>....</p>
<footer>
<p>Auteur: CDC NTIC<br>
<a href="mailto:[email protected]">[email protected]</a></p>
</footer>
6
7
III. Définir les éléments basiques d’une page HTML
9– Balises de structuration
• La balise <nav>
• La balise <nav> (utilisée avec une balise <ul> ou <ol>) permet de spécifier les éléments de navigation de la page (le menu).
• Le menu consiste en une liste d'éléments permettant de naviguer entre plusieurs pages du même site, ou bien vers plusieurs
sections de la page.
• Exemple :
<nav>
<ul>
<li><a href="index.html">Accueil</a></li>
<li><a href="inscription.html">Inscription</a></li>
<li><a href="a_propos.html">À propos</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
</nav>
6
8
III. Définir les éléments basiques d’une page HTML
9– Balises de structuration
<main>
<p>Texte d'introduction de mon contenu.</p>
<section>
<h2>Titre de ma section</h2>
<p>Texte de ma section.</p>
</section>
<section>
<h2>Titre de ma section</h2>
<p>Texte de ma section.</p>
</section>
</main>
6
9
III. Définir les éléments basiques d’une page HTML
9– Balises de structuration
La balise <article>
La balise <article> permet d'incorporer du contenu annexe, comme par exemple :
• des articles de blog,
• des produits,
• des commentaires,
• …
Exemple :
<main>
<p>Texte de mon contenu. Voilà des articles liés à ma page :</p>
<div>
<article>
<h2>Titre de mon article</h2>
<p>Texte de mon article.</p>
</article>
<article>
<h2>Titre de mon article</h2>
<p>Texte de mon article.</p>
</article>
</div>
</main>
7
0
III. Définir les éléments basiques d’une page HTML
9– Balises de structuration
La balise <aside>
La balise <aside> permet d'afficher du contenu qui n'a pas de rapport direct avec le contenu principal, souvent
représenté comme une sidebarre :
Exemple :
<main>
<p>Texte de mon contenu.</p>
<aside>
<p>.</p>
Texte sans rapport direct
</aside>
</main>
En HTML, Il existe cinq façons différentes de créer des dispositions des éléments :
• Flexbox CSS
• Grille CSS
Le Responsive Web Design consiste à utiliser HTML et CSS pour redimensionner, masquer, rétrécir
ou agrandir automatiquement un site Web afin de le rendre compatible à tous les appareils
(ordinateurs de bureau, tablettes et téléphones)
7
5
01 - Fonctionnement d'une page web statique
Réalisation d’un site web statique avec HTML5
C’est un pourcentage
02 Implémenter une page web statique
• Balise <form>
• Un formulaire est une section d'un document web qui permet à un utilisateur de fournir des informations via des
contrôles interactifs L'élément HTML <form> permet de déclarer un formulaire
• L'attribut "action" spécifie la ressource qui va recevoir les données du formulaire pour les traiter (un script)
• L'attribut "method" spécifie la méthode d'envoi des données
• On distingue deux méthodes :
GET : permet d'envoyer les données sous forme de chaine de paramètres à travers l'URL. Les données sont visibles dans la
barre d'adresse.
POST : permet d'envoyer les données (invisibles) à travers une requête HTTP.
Exemple :
</form>
Type password
<form>
<label for="nomutil">Nom d'utilisateur :</label><br> Figure 26 : Champ de mot de passe
<input type="text" id="nomutil" name="nomutil"><br>
<label for="pwd">Mot de passe :</label><br>
<input type="password" id="pwd" name="pwd">
</form>
8
1
02 - Intégrer des formulaires dans une page web
Champ de saisie <textarea>
<textarea>
L'Office de la formation professionnelle et de la promotion du travail (OFPPT) est un
opérateur public en
formation professionnelle.
</textarea>
• Type radio
Les boutons radio permettent à un utilisateur d’en sélectionner SEULEMENT UN parmi un nombre limité de choix :
<form>
<input type="radio" id="mas" name="sexe" value="Masculin">
<label for="mas">Masculin</label><br>
<input type="radio" id="fem" name="sexe" value="Féminin">
<label for="fem">Féminin</label><br>
</form> Figure 28 : Champ bouton radio
• Type number
<form>
<label for="quant">Quantité :</label>
<input type="number" id="quant" name="quant" min="0" max="100" step="10"
value="30"> Figure 29 : Champ number
</form>
8
3
02 - Intégrer des formulaires dans une page web
Balises de choix (checkbox)
• Type checkbox
• <input type="checkbox"> définit une case à cocher.
• Les cases à cocher permettent à un utilisateur de sélectionner ZERO ou PLUS d'options d'un nombre limité de choix.
• Type select
L'élément HTML <select> représente un contrôle qui fournit un menu d'options :
• L’attribut id associe un identifiant unique à la liste
• L’attribut name représente le nom du point de données associé lors de la soumission au serveur.
• L’attribut multiple spécifie si plusieurs options peuvent être sélectionnées, et size spécifie combien d'options doivent être
affichées à la fois
• L’élément <option> définit une option de la liste
Chaque élément <option> doit avoir un attribut value contenant la valeur de données à soumettre au serveur lorsque cette
option est sélectionnée. L’attribut selected sur un élément <option> le rend sélectionné par défaut lors du premier chargement de
la page.
• Type button
• Définit un bouton
• Type color
• Définit un sélecteur de couleur
<form>
<label for="coulfav">Sélectionner votre couleur préférée :</label>
<input type="color" id="coulfav" name="coulfav">
</form>
• Type range
• Définit un contrôle pour entrer un nombre dont la valeur exacte n'est pas importante (comme un contrôle curseur). Plage par
défaut est de 0 à 100.
<form>
<label for="vol">Volume (entre 0 and 50) :</label>
<input type="range" id="vol" name="vol" min="0" max="50">
</form>
8
6
02 - Intégrer des formulaires dans une page web
Balises HTML5 pour les formulaires
Type date
Définit un sélecteur de date. La valeur comprend l'année, le mois et le jour
<form>
<label for="anniv">Anniversaire :</label>
<input type="date" id="anniv" name="anniv">
</form>
Type time
Définit un contrôle pour saisir une heure (pas de fuseau horaire)
<form>
<label for="rdv">Sélectionner une heure :</label>
<input type="time" id="rdv" name="rdv">
</form>
Type datetime-local
Spécifie un champ de saisie de date et d'heure sans fuseau horaire
<form>
<label for="anniv">Anniversaire (date et heure) :</label>
<input type="datetime-local" id="anniv" name="anniv">
</form>
8
7
02 - Intégrer des formulaires dans une page web
Balises HTML5 pour les formulaires
Type week
Définit un contrôle de sélection de la semaine et l’année (sans fuseau horaire)
<form>
<label for="sem">Choisir une semaine :</label>
<input type="week" id="sem" name="sem">
</form>
Type month
Définit un champ de sélection du mois et de l'année. Le format est « AAAA-MM »
<form>
<label for="anniv">Anniversaire (mois et année) :</label>
<input type="month" id="anniv" name="anniv">
</form>
8
8
02 - Intégrer des formulaires dans une page web
Balises HTML5 pour les formulaires
Type file
Définit un champ de sélection de fichier et un bouton « Parcourir » pour les téléchargements de fichiers.
<form>
<label for="fichiers">Sélectionner un fichier :</label>
<input type="file" id="fichiers" name="fichiers">
</form>
Type email
Utilisé pour bénéficier de la possibilité de validation d'Email et de voir les boutons raccourcis d'un clavier spécifique si on utilise la page
web sur un smartphone.
<form>
<label for="email">Saisir votre email :</label>
<input type="email" id="email" name="email">
</form>
C8
o9
p
y
02 - Intégrer des formulaires dans une page web
r
i
Balises HTML5 pour les formulaires
g
h
t
- Type tel
T
o Utilisé pour les champs de saisie qui doivent contenir un numéro de téléphone.
u
t
d <form>
r
o <label for="phone">Saisir un numéro de téléphone :</label>
i
t
r <input type="tel" id="phone" name="phone" pattern="[0-9]{3}-[0-9]{2}-[0-9]{3}">
é
s </form>
e
r
v Type url
é
- Utilisé pour les champs de saisie qui doivent contenir une adresse URL.
O
F <form>
P
P
T <label for="acc">Ajouter votre page d'accueil :</label>
<input type="url" id="acc" name="acc">
</form>
Type search
Définit un champ de recherche (comme une recherche dans un site ou une recherche Google.
<form>
<label for="gsearch">Recherche Google :</label>
<input type="search" id="gsearch" name="gsearch">
</form>
9
0
02 - Intégrer des formulaires dans une page web
Balises HTML5 pour les formulaires
L'attribut value
L'attribut value spécifie une valeur initiale pour un champ d'entrée.
<form>
<label for="fil">Filière :</label><br>
<input type="text" id="fil" name="fil" value="Développement"><br>
<label for="grp">Groupe :</label><br>
<input type="text" id="grp" name="grp" value="101">
</form>
L'attribut readonly
L'attribut readonly spécifie qu'un champ d'entrée est en lecture seule.
<form>
<label for="fil">Filière :</label><br>
<input type="text" id="fil" name="fil" value="Développement" readonly><br>
<label for="grp">Groupe :</label><br>
<input type="text" id="grp" name="grp" value="101">
</form>
9
1
02 - Intégrer des formulaires dans une page web
Balises HTML5 pour les formulaires
L'attribut maxlength
L'attribut maxlength spécifie le nombre maximum de caractères autorisés.
<form>
<label for="fname">Nom :</label><br>
<input type="text" id="fname" name="fname" size="50"><br>
<label for="pin">PIN :</label><br>
<input type="text" id="pin" name="pin" maxlength="4" size="4">
</form>
L'attribut multiple
L'attribut multiple spécifie que l'utilisateur est autorisé à saisir plusieurs valeurs. Il fonctionne avec les types d'entrée suivants : e-mail et fichier.
<form>
<label for="fichiers">Sélectionner un fichier :</label>
<input type="file" id="fichiers" name="fichiers" multiple>
</form>
9
2
02 - Intégrer des formulaires dans une page web
Balises HTML5 pour les formulaires
L'attribut pattern
• L'attribut pattern spécifie une expression régulière par rapport à laquelle la valeur du champ de saisie est vérifiée lorsque le
formulaire est soumis.
• L'attribut pattern fonctionne avec les types d'entrée suivants : texte, date, recherche, URL, tél, e-mail et mot depasse.
<form>
<label for="code_pays">Code pays :</label>
<input type="text" id="code_pays" name="code_pays" attern="[A-Za-z]{3}" title="Code pays à trois lettres">
</form>
L'attribut placeholder
• L'attribut placeholder spécifie brièvement un indice qui décrit la valeur attendue d'un champ de saisie (une valeur d'échantillon ou une brève
description du format
attendu).
• L'attribut placeholder fonctionne avec les types d'entrée suivants : texte, recherche, URL, tél, e-mail et mot de passe.
<form>
<label for="phone">Saisir un numéro de téléphone :</label>
<input type="tel" id="phone" name="phone" placeholder="123-45-678" pattern="[0-9]{3}-[0-9]{2}-[0-9]{3}">
</form>
9
3
02 - Intégrer des formulaires dans une page web
Balises HTML5 pour les formulaires
L'attribut required
• L'attribut required spécifie qu'un champ de saisie doit être rempli avant de soumettre le formulaire.
• L'attribut required fonctionne avec les types d'entrée suivants : texte, recherche, URL, tél, e-mail, mot de passe, sélecteurs de date,
numéro, case à cocher, radio et fichier.
<form>
<label for="username">Nom complet :</label>
<input type="text" id="username" name="username" required>
</form>
L'attribut step
• L'attribut step spécifie les intervalles de numéros légaux pour un champ de saisie.
• L'attribut step fonctionne avec les types d'entrée suivants : number, range, date, datetime-local,
month, time et week.
Exemple : si step = "3", les nombres légaux peuvent être -3, 0, 3, 6, etc.
<form>
<label for="points">Points :</label>
<input type="number" id="points" name="points" step="3">
</form>
9
4
02 - Intégrer des formulaires dans une page web
Balises HTML5 pour les formulaires
• L'attribut autofocus
• L'attribut autofocus spécifie qu'un champ de saisie doit automatiquement obtenir le focus lorsque la page est chargée.
<form>
<label for="fname">Nom :</label><br>
<input type="text" id="fname" name="fname" autofocus><br>
<label for="lname">Prénom :</label><br>
<input type="text" id="lname" name="lname">
</form>
• L'attribut list
• L'attribut list fait référence à un élément <datalist> qui contient des options prédéfinies pour un élément <input>.
<form>
<input list="navigateurs">
<datalist id="navigateurs">
<option value="Internet Explorer">
<option value="Firefox">
<option value="Chrome">
<option value="Opera">
<option value="Safari">
</datalist>
</form>
9
5
02 - Intégrer des formulaires dans une page web
Validation automatique
2. Validation selon une expression régulière avec l’attribut pattern : utile pour valider le numéro de téléphone par exemple
3. Limitation de la taille des entrées avec les attributs minlength et maxlength (pour les champs input et textarea) et les attributs
min et max pour le champ number
4. L’attribut Novalidate du formulaire (lorsqu'il est présent) précise que les données du form ne doivent pas être validées lors de son
envoi.
9
7
02 - Intégrer des formulaires dans une page web
Boutons
• Type submit
• <input type="submit"> définit un bouton pour soumettre des données de formulaire à un gestionnaire de formulaire.
• Le gestionnaire de formulaires est généralement une page de serveur avec un script pour le traitement des données d'entrée.
<form action="/action_page.php">
<label for="fname">Nom :</label><br>
<input type="text" id="fname" name="fname"><br>
<label for="lname">Prénom :</label><br>
<input type="text" id="lname" name="lname"><br>
<br>
<input type="submit" value="Envoyer">
</form> Figure 31 : Bouton Submit
9
8
02 - Intégrer des formulaires dans une page web
Boutons
• Type reset
• <input type="reset"> définit un bouton de réinitialisation qui réinitialisera toutes les valeurs du
formulaire à leurs valeurs par défaut.
<form action="/action_page.php">
<label for="fname">Nom :</label><br>
<input type="text" id="fname" name="fname"><br>
<label for="lname">Prénom :</label><br>
<input type="text" id="lname" name="lname"><br>
<br>
<input type="submit" value="Envoyer">
<input type="reset" value="Réinitialiser">
</form> Figure 32 : Bouton reset
Mettre en forme
une page web avec
les feuilles de style
CSS
I. Présenter les éléments CSS
II. Gérer les types d’intégration du CSS
III. Utiliser les différents CSS
01 - Introduire le CSS
Présentation du CSS (Cascading Style Sheets)
La troisième méthode, basée sur l’utilisation du langage CSS dans un fichier séparé, est la
technique recommandée
1
0
1
01 - Introduire le CSS
Présentation du CSS (Cascading Style Sheets)
Présentation du CSS
Le langage CSS (Cascading Style Sheets) est destiné à gérer le contenu et la
structure d’une page web.
CSS permet de gérer la mise en forme du contenu d’une page : le texte (couleur,
taille, casse, etc.), les images, les tableaux, les formulaires, etc.
CSS permet également de dimensionner et positionner les éléments
dans la page web CSS est utilisé aussi pour gérer les animations.
Figure 33 : Logo du CSS
1
0
2
Travail en Groupe
Sous-thèmes de Recherche
1. Validation des Données dans un Formulaire HTML
•Tâches :
•Explorez les attributs HTML permettant la validation de données
•Objectif : Comprendre comment s’assurer que les données saisies sont correctes
avant de les envoyer.
2. Introduction au CSS
•Tâches :
•Présentez les bases du CSS : qu'est-ce que le CSS et pourquoi il est utilisé.
•Recherchez les propriétés CSS de base
•Objectif : Avoir une vue d’ensemble du CSS et de ses propriétés de base.
3. Méthodes d’Intégration du CSS dans une Page HTML
•Tâches :
•Recherchez les différentes méthodes pour intégrer le CSS : en ligne (inline), dans la
page HTML (interne), et à partir d’un fichier externe.
•Présentez les avantages et les inconvénients de chaque méthode.
•Montrez des exemples de code pour chaque méthode.
•Objectif : Savoir comment ajouter du CSS de différentes manières et quand utiliser
chaque méthode.
4. Les Sélecteurs CSS
1
0
1
3
0
3
01 - Introduire le CSS
Présentation du CSS (Cascading Style Sheets)
Syntaxe du CSS
Une déclaration CSS a la forme suivante :
Dans cet exemple, on spécifie la couleur rouge comme couleur par défaut de tous les éléments h1.
01 - Introduire le CSS
Codification des couleurs
background-color : #808080
Couleurs en • La couleur est désignée par son code hexadécimal : les deux
hexadécimal premiers digits
• correspondent à la valeur de rouge, les deux suivants le vert et
les deux derniers le bleu
Couleurs background-color : RGB( • La couleur est définie par trois nombres décimaux qui
décomposées 128,128,128 ) peuvent prendre les valeurs de 0 à 255 indiquant
respectivement le taux de rouge, le taux de vert et le taux de
bleu.
115
1
0
5 01 - Introduire le CSS
Unités de mesure
.vw {
width: 10vw;
}
.em {
width: 10em;
}
1
0
8
01 - Introduire le CSS
Unités de mesure
Alignement du texte
La propriété text-align est utilisée pour définir l'alignement horizontal d'un texte. Un texte
peut être aligné à gauche ou à droite, centré ou justifié.
l'alignement à gauche est par défaut si la direction du texte est de gauche à droite, et
l'alignement à droite est par défaut si la direction du texte est de droite à gauche
L'exemple suivant montre le texte aligné au centre et aligné à gauche et à droite : Code CSS
Code html h1
{
<h1> Introduction to CSS</h1>
text-align : center;
<h2>Presenter les elements CSS</h2>
}
<h3>Gerer les types d\'integration du CSS</h3>
h2
{
text-align : left;
}
h3
{
text-align : right;
}
1
0
9
01 - Introduire le CSS
Positions
• Alignement du texte
• Lorsque la propriété text-align est définie sur la valeur "justify", toutes les lignes sont étirées de
manière à avoir la même largeur et les marges gauche et droite sont
• droites (texte justifié) :
<div>
<p>
Le langage CSS, ou Cascading Style Sheets, est utilisé pour
décrire la présentation d'un document écrit en HTML ou XML.
Il permet de contrôler l'apparence des éléments sur une page web,
Code html notamment en définissant des styles tels que les couleurs,
les polices et les mises en page. Grâce à CSS, les développeurs
peuvent créer des designs attrayants et responsives,
améliorant ainsi l'expérience utilisateur.
</p>
</div>
Code CSS
div
{
text-align : justify;
width: 200px;
}
1
1
0 01- Introduire le CSS
Positions
• Orientation du texte
Les propriétés direction et unicode-bidi sont utilisées pour changer la direction du texte d'un
élément :
p
• Valeurs principales pour direction : {
ltr : De gauche à droite (left to right) direction : rtl;
rtl : De droite à gauche (right to left) unicode-bidi : bidi-override;
}
1
1
1
01 - Introduire le CSS
Positions
Alignement vertical
• La propriété vertical-align définit l'alignement vertical d'un élément.
img.a
{
vertical-align : baseline;
}
img.b
{
vertical-align : text-top;
}
img.c
{
vertical-align : text-bottom;
}
img.d
{
vertical-align : sub;
}
img.e
{
vertical-align : super;
}
1
1
2 01 - Introduire le CSS
Fonts
p
{
font-family:'Helvetica Neue’, Helvetica,sans-serif;
}
@font-face
{
font-family: 'newFont'; src:
Règle @font-face : permet d’importer un font url('PARCHM.ttf');
(extension .ttf) }
p
{
font-family:'newFont';
}
1
1
4
01 - Introduire le CSS
Types d'intégration
01 - Introduire le CSS
Types d'intégration
style.css index.html
#myDiv1 <!DOCTYPE html>
{ <head>
width : 100px; <link rel="stylesheet" href="style.css">
height : 100px; </head>
border : 1px solid red; <body>
background-color : yellow; <div id="myDiv1"></div>
} </body>
</html>
1
1
6
01 - Introduire le CSS
Les sélecteurs simples
div
{
background-color : yellow;
}
1
1
7
01 - Introduire le CSS
Les sélecteurs simples
• Le code CSS suivant signifie que tous les éléments qui appartiennent à la classe "impaire" auront un
arrière-plan jaune claire.
.impaire
{
background-color : rgba(255, 255, 0, 0.2);
}
• Le code CSS suivant signifie que l'élément de id="sel" aura un arrière plan jaune.
#sel
{
background-color : rgba(255, 255, 0, 0.2);
}
1
1
9
01 - Introduire le CSS
Les sélecteurs complexes
*
{
color : brown;
}
1
2
0 01 - Introduire le CSS
Les sélecteurs complexes
• [attr=valeur] : cible un élément qui possède un attribut attr dont la valeur est exactement valeur.
• [attr~=valeur] : cible un élément qui possède un attribut attr dont la valeur est égale à la valeurs spécifiée.
• [attr|=valeur] : cible un élément qui possède un attribut attr dont la valeur est exactement égale à valeur ou dont la valeur
commence par valeur suivi immédiatement d'un tiret.
• [attr^=valeur] : cible un élément qui possède un attribut attr dont la valeur commence par valeur.
• [attr$=valeur] : cible un élément qui possède un attribut attr dont la valeur se termine par valeur.
• [attr*=valeur] : cible un élément qui possède un attribut attr et dont la valeur contient au moins une occurrence de valeur
dans la chaine de caractères.
1
2
1 01 - Introduire le CSS
Les sélecteurs complexes
/* Les éléments <a> dont l'attribut class contient le mot logo : comportement identique
à a.logo */
a[class~="logo"] { padding : 2px; }
1
2
2 01 - Introduire le CSS
Les sélecteurs complexes
• Les deux éléments sont les fils d'un même élément parent.
Exemple :
li :first-of-type + li h2 + p {
css: { font-style: italic;
color : red;
} }
<ul>
<li>Un</li>
Ce code appliquera un style italique à tout
html: <li>Deux</li> paragraphe qui suit immédiatement un titre de
<li>Trois</li> niveau 2 (<h2>) et qui partage le même parent.
</ul>
• Un
Résultat : • Deux
• Trois
1
2
3 01 - Introduire le CSS
Les sélecteurs complexes
Résultat :
• Le sélecteur enfant, représenté par le symbole >, est un propriété puissant en CSS qui permet de
cibler très précisément des éléments HTML.
• Il sert à sélectionner uniquement les éléments qui sont des enfants directs d'un autre élément.
En d'autres termes:
• Le premier élément (à gauche du >) est le parent.
• Le deuxième élément (à droite du >) est l'enfant direct de ce parent.
• Exemple :
css: html: • Résultat :
span <span>Ici, ce n'est pas rouge.</span> Ici, ce n’est pas rouge.
{ <p>Voici un paragraphe.</p>
background-color : white; <code>Un peu de code.</code> Voici un paragraphe.
} <span>Et un autre span.</span>
Un peu de code. Et un autre span. Encore du
div > span <code>Encore du code</code>
code. Ici aussi, c’est rouge
{ <span>Ici aussi, c'est rouge</span>
background-color : blue;
}
1
2
5 01 - Introduire le CSS
Les sélecteurs complexes
Pseudo-classes
Une pseudo-classe est un mot-clé qui peut être ajouté à un sélecteur afin d'indiquer l'état
spécifique dans lequel l'élément doit être pour être ciblé par la déclaration.
Cet état peut être lié à l'action de l'utilisateur (comme le survol avec la souris), à un état
interne de l'élément (comme un champ de formulaire invalide) ou à un état dynamique
(comme un élément en cours d'impression).
Exemple :
hover permettra d'appliquer une mise en forme spécifique lorsque l'utilisateur survole
l'élément ciblé par le sélecteur (changer la couleur d'un bouton par exemple).
1
2
7 01 - Introduire le CSS
Les sélecteurs (pseudo-classes)
pseudo-classes
Exemple : :visited
Exemple : :hover
a :hover
<p> {
<a href="#">Ce lien sera écrit sur un fond doré lors du survol.</a> background-color : gold;
}
</p>
Ce lien sera écrit sur un fond doré lors du survol.
pseudo-classes
.prenom :focus
Exemple : :focus {
background : yellow;
Color : red;
<input class="prenom" value="Rouge si focus"> }
<input class="nom" value="Vert si focus">
.nom :focus
Rouge si focus Vert si focus {
background :
Rouge si focus Vert si focus yellow; color :
Figure 35: Exemple de Pseudo-class CSS
lime;
}
Exemple : :invalid
<input type="email">
input :invalid
Avec Email faux
{
border : 2px solid red;
Avec Email juste }