HTML
HTML
Les ordinateurs connectés au Web jouent généralement deux rôles : client ou serveur.
Client
• L'appareil de l'utilisateur (ordinateur, smartphone, tablette)
• Le logiciel d'accès au Web (navigateur : Chrome, Firefox, Edge)
• Exemples de clients :
• Un ordinateur connecté au Wi-Fi
HTML • Un téléphone connecté au réseau mobile
I. Introduction
I.2 Client-Serveur Serveur
• Ordinateur connecté en permanence à Internet
• Stocke les fichiers du site web (HTML, CSS, JavaScript, images…)
1. Le client envoie une requête au serveur lorsqu’un utilisateur saisit une adresse ou clique sur un lien
2. Le serveur vérifie que l'URL demandée correspond à un fichier existant.
3. Si c'est le cas, Le serveur répond aux requêtes des utilisateurs par l’envoi des documents demandés
HTML 4. Si le fichier demandé n’existe pas ou ne peut pas être traité, le serveur web envoie un message d’erreur au
navigateur, le plus courant étant l’erreur 404 « Page non trouvée », souvent personnalisée par les sites.
I. Introduction 5. Le client reçoit la réponse contenant les fichiers de la page web.
I.2 Client-Serveur 6. Le navigateur interprète les fichiers reçus :
• Il analyse le HTML pour comprendre la structure de la page,
• Applique le CSS pour le style,
• Exécute le JavaScript pour le comportement et l’interactivité.
7. Enfin, le navigateur affiche la page web à l’utilisateur.
Définition
• HTML = HyperText Markup Language = langage de balises pour l'hypertexte
• L’hypertexte correspond aux liens qui connectent les pages web entre elles, au
sein d’un même site ou entre différents sites, formant ainsi la « toile » du Web.
• Définit la structure et le contenu d'une page web
• Décrit un texte au navigateur si c’est un titre, paragraphe, tableau, liste, texte
important…
• Compilé/interprété par le navigateur
HTML
I. Introduction
HTML + CSS + JavaScript
I.3 HTML
D'autres technologies sont utilisées avec HTML
• CSS : présentation visuelle (couleurs, tailles, mise en page)
• JavaScript : fonctionnalités interactives
HTML
I. Introduction
Outils & 1ère page
HTML
I. Introduction
La page s’ouvre automatiquement dans le
Outils & 1ère page
navigateur.
Toute modification (après enregistrement)
est affichée sans recharger la page.
Live Server ne fonctionne que sur des fichiers
HTML enregistrés (.html).
Méthode 2 : Classique
1. Créer un fichier texte vide (.txt)
2. Renommer le fichier en changeant l’extension .txt par .html (exemple : [Link])
3. Ouvrir le fichier avec un éditeur de texte (ex : VS Code)
4. Écrire le code HTML
5. Double-cliquer sur le fichier ou faire clic droit → Ouvrir avec → Navigateur
HTML Cette méthode est simple et idéale pour débuter, mais nécessite de recharger manuellement la page après chaque
modification.
I. Introduction
Outils & 1ère page
Cette structure est indispensable et sera présente dans tous les fichiers HTML.
Élément
HTML • balise ouvrante + contenu + balise fermante (si elle existe)
II. Notions de
base
Balise vs Élément
HTML
II. Notions de Inspection sur le navigateur (clic droit sur l’élément sur le navigateur + cliquer sur inspecter + survoler les éléments dans
base l’onglet Elements)
Balise vs Élément
Les éléments HTML peuvent en contenir d'autres. Tous les documents HTML sont composés d'éléments imbriqués.
• <html> contient tout le document
• <body> est à l'intérieur de <html>
• <h1> et <p> sont à l'intérieur de <body>
HTML
II. Notions de
base
Imbrication & Head
HTML
II. Notions de
base
Imbrication & Head
• Conseils : titre long et descriptif, 50-60 caractères max
• Placer les mots-clés importants au début du titre
HTML Cette ligne sert à lier un fichier CSS à une page HTML : l’attribut rel="stylesheet" indique qu’il s’agit d’une feuille de
style, et href précise son chemin, permettant au navigateur d’appliquer les styles à la page.
II. Notions de
base
Imbrication & Head
HTML
II. Notions de
base La balise <meta description> par exemple fournit le texte affiché sous le titre dans les moteurs de recherche.
Méta-données
HTML
II. Notions de
base
Méta-données
• Il est préférable de placer vos styles dans les feuilles de style externes via <link> pour
mieux organiser et maintenir le code.
HTML
II. Notions de
base
Paragraphes & Titres
HTML
II. Notions de
base
Attributs &
Commentaires II.5 Les commentaires
• Non affichés dans le navigateur, aucun impact sur le rendu
• Utilisés pour expliquer le code ou désactiver temporairement du contenu
Chemin de l'image
• Exemple d’image dans le même dossier que la page HTML
• width / height : définir la largeur et la hauteur d’une image, Si la page n'est pas encore chargée, ces attributs réservent un espace
pour l’image pendant le chargement
HTML
III. Images
Intégrer une image
=> Il vaut mieux redimensionner les images avec un éditeur avant de les utiliser, et non en HTML, sinon utilisez plutôt le CSS pour
ajuster leur taille.
• title : affiche une info-bulle au survol
• Loading : indique si le navigateur doit charger une image immédiatement ou différer le chargement des images situées
hors de l’écran (par exemple lorsque l’utilisateur fait défiler la page).
• Ses valeurs sont :
Conseil pratique
HTML • Vérifier la compatibilité navigateur sur des sites comme [Link]
III. Images
Formats d'image
HTML
IV. Les Liens • « texte de lien » ici est la partie visible à
l’utilisateur, en cliquant, elle envoie l’utilisateur
Balise <a>
au contenu visé. • Le premier lien ouvre une page locale ([Link]) dans le
même onglet grâce à target="_self".
• Le deuxième lien ouvre un site externe (Google) dans un
IV.3 Attribut target nouvel onglet avec target="_blank".
• Le troisième lien utilise mailto: pour envoyer un email
• Par défaut, la page liée s’ouvre dans la fenêtre (ou
via le logiciel de messagerie.
l’onglet) actuelle du navigateur. Pour modifier ce
• Le dernier lien est une ancre qui permet de naviguer
comportement, vous devez spécifier une autre
vers une section de la même page avec l’identifiant
cible pour le lien. « presentation ».
Si vous êtes dans projects/[Link] et que vous voulez créer un lien vers
pdfs/[Link], vous devez :
• Remonter d’un niveau (.. signifie : remonter au dossier parent)
• Entrer dans le dossier pdfs
HTML
Chemins plus complexes
IV. Les Liens Il est possible de combiner plusieurs montées et descentes dans des URL complexes si nécessaire
URL & Chemins
IV.6.4 Fragments (ancres)
• Il est possible de créer un lien vers une partie précise d’un document HTML, appelée fragment de document
a. Définir une cible avec id
HTML
V. Les Listes
Imbrication & <dl>
Attributs principaux
• autoplay : lecture automatique (bloquée si son non muet dans la plupart des navigateurs)
• loop : lecture en boucle
• muted : démarre en mode muet
Cours du Pr. A. AZMANI - Module : Digital Skills
VI.2 Vidéo
• L'élément <video> intègre un contenu vidéo dans une page
• Attribut src : chemin vers le fichier vidéo
• Attribut controls : affiche lecteur (lecture, pause, volume, plein écran)
Attributs principaux
• loop : lecture en boucle
• muted : coupe le son (nécessaire pour autoplay)
• autoplay : lecture automatique (autorisé uniquement si muted)
• poster : image affichée avant le chargement de la vidéo
Cours du Pr. A. AZMANI - Module : Digital Skills
VII.1 Éléments sémantiques vs Non Éléments SÉMANTIQUES
sémantiques • Définissent clairement le type de contenu qu'ils
contiennent
Éléments NON sémantiques • Exemples : <img>, <table>, <article>, <header>,
• Ne donnent aucune information sur le contenu <footer>, <nav>…
• <div> : conteneur bloc (regrouper des éléments, • Rôle compréhensible sans lire le contenu interne
appliquer CSS)
Un élément sémantique décrit clairement sa signification
• <span> : conteneur inline (cibler/styliser une partie
à la fois pour le navigateur et pour le développeur.
de texte)
HTML
VII. Sémantique
Sémantique vs Non-
sémantique
<section>
• Regroupement thématique de contenu (chapitres, intro, contact…)
<article>
• Contenu indépendant et autonome (billet de blog, commentaire, article)
<header>
HTML • Contenu d'introduction ou liens de navigation, peut contenir <h1>-<h6>, logo
<nav>
• Ensemble de liens de navigation principaux
<aside>
• Contenu annexe, indirectement lié au contenu principal (barre latérale)
<figure> et <figcaption>
• <figure> : contenu autonome : image, diagramme, code
• <figcaption> : légende du contenu de <figure>
Cours du Pr. A. AZMANI - Module : Digital Skills
VII.3 Balises de style vs Balises sémantiques
Balises de mise en forme (non sémantiques)
En HTML, il existe plusieurs balises permettant de modifier l’apparence d’un texte.
• <b> : texte en gras
• <i> : texte en italique
• <u> : texte souligné
• <s> : texte barré
HTML
Balises sémantiques
VII. Sémantique
HTML propose également des balises qui modifient l’apparence tout en donnant du sens au contenu :
Style vs Sémantique
• <strong> : texte important
• <em> : emphase (texte à lire avec insistance)
• <ins> : texte ajouté dans une version révisée
• <del> : texte supprimé ou devenu obsolète
La présence de ces balises fournit une information supplémentaire au navigateur, aux moteurs de recherche et aux
technologies d’assistance.
En HTML moderne : utiliser les balises sémantiques pour le sens, CSS pour l'apparence visuelle.
Cours du Pr. A. AZMANI - Module : Digital Skills
VIII. Les Formulaires
Un formulaire HTML collecte les données saisies par l'utilisateur, puis les envoie à un serveur.
Attributs principaux
• action : URL vers laquelle les données sont envoyées après soumission
• method : comment les données sont envoyées, il existe deux méthodes principales :
HTML
VIII. Formulaires
Méthode GET
• Données ajoutées à l'URL (visibles) sous forme de paires nom/valeur
<form>
• Pour requêtes simples ou recherches, limité à ~2048 caractères (taille max de l’URL)
• Ne pas utiliser pour données sensibles
Méthode POST
• Données envoyées dans le corps de la requête (invisibles)
• Pour formulaires sensibles ou volumineux — aucune limite de taille
HTML
VIII. Formulaires
Quelques Attributs de <select> :
<select> & <textarea>
• name : nécessaire pour récupérer la valeur après l’envoi du formulaire.
• id : Attribut global qui définit un identifiant unique (ID) qui doit être unique dans tout le document. Son
rôle est d’identifier l’élément lors de la liaison. nécessaire pour associer la liste à un <label>.
• Les balises <option> à l’intérieur définissent les différentes options disponibles dans la liste déroulante.
• Disabled : Désactive la liste déroulante (elle n’est pas cliquable).
• Form : Associe la liste déroulante à un formulaire spécifique grâce à son id.
• Multiple : Permet de sélectionner plusieurs options en même temps.
• Required : Oblige l’utilisateur à sélectionner une option avant d’envoyer le formulaire.
HTML
VIII. Formulaires
Quelques Attributs de <textarea> :
<select> & <textarea>
• name : nécessaire pour récupérer les données après l’envoi du formulaire.
• id : nécessaire pour associer la zone de texte à un <label>.
• Cols : Définit la largeur visible de la zone de texte (en nombre de caractères).
• Rows : Définit le nombre de lignes visibles de la zone de texte.
• Required : Oblige l’utilisateur à remplir la zone de texte avant l’envoi du formulaire.
• Form : Associe la zone de texte à un formulaire précis grâce à son id.
• Maxlength : Définit le nombre maximum de caractères autorisés.
• Placeholder : Affiche un texte indicatif décrivant ce que l’utilisateur doit saisir.
• Readonly : Rend la zone de texte en lecture seule (modifiable interdite, mais sélection possible).
Types principaux
type='text' — champ texte une ligne
VIII. Formulaires
<input> type='password' — texte masqué
Utilité
• Lecteurs d'écran : le texte du label est lu quand l'utilisateur sélectionne le champ
• Facilite l'utilisation pour les zones cliquables petites
• Cliquer sur le texte du label active automatiquement le champ associé
Attribut for
• L’attribut for du <label> doit avoir la même valeur que l’attribut id du <input> afin de les lier, cette association
HTML améliore l’accessibilité et facilite l’interaction de l’utilisateur avec le formulaire (Activation lors du clic sur le texte du
VIII. Formulaires label)
<label>
Éléments principaux
• <table> : conteneur du tableau
• <tr> : ligne du tableau (table row)
• <th> : cellule d'en-tête (table header) — en gras et centré
• <td> : cellule de données (table data)
• <caption> : titre du tableau
• Ces 2 attributs peuvent être ajouté à <td> pour la fusion : colspan pour la fusion des colonnes, et
rowspan pour la fusion des lignes.
HTML • Avant CSS, HTML servait à structurer et mettre en forme (ex : border, cellspacing)
IX. Tableaux • Aujourd’hui, ces attributs sont obsolètes : la mise en forme se fait avec CSS uniquement.
<table> • Dans ce cours, les attributs border et cellspacing sont utilisés juste pour rendre les tableaux lisibles.
HTML
IX. Tableaux Ajout de cellspacing
Exemples
HTML
IX. Tableaux Fusion de colonnes (colspan)
Exemples