Cours IT Bases HTML 015_Nouvelles fonctionnalités HTML5
Nouvelles fonctionnalités HTML5
HTML5 est la dernière version de HTML et introduit de nombreuses nouvelles balises, attributs et fonctionnalités, améliorant considérablement la fonctionnalité et l’interactivité du web.
Quelques nouvelles fonctionnalités intéressantes dans HTML5 :
- L’élément canvas pour le dessin
- Les éléments video et audio pour la lecture multimédia
- Un meilleur support pour le stockage local hors ligne
- De nouveaux éléments de contenu spéciaux tels que article, footer, header, nav, section
- De nouveaux contrôles de formulaire tels que calendar, date, time, email, url, search
<canvas>
L’élément <canvas> HTML5 est utilisé pour dessiner des graphiques sur des pages web. L’élément <canvas> est basé sur l’API de dessin JavaScript et peut être utilisé pour créer divers graphiques, y compris des diagrammes, des graphiques, des animations, etc.
Exemple :
<canvas width="500" height="500"> Votre navigateur ne prend pas en charge la balise canvas HTML5.</canvas><script> const canvas = document.querySelector("canvas"); // Obtenir le contexte de dessin const ctx = canvas.getContext("2d"); // Dessiner un cercle ctx.beginPath(); ctx.arc(250, 250, 100, 0, 2 * Math.PI); ctx.fillStyle = "yellow"; ctx.fill();</script>Effet :

<svg>
L’élément SVG HTML5 est utilisé pour créer des graphiques SVG sur des pages web. Les graphiques SVG sont des graphiques vectoriels basés sur XML qui peuvent être redimensionnés sans perte et sont adaptés à divers usages, notamment :
Les éléments SVG comprennent :
- Élément
<svg>: Définit l’élément racine du graphique SVG. - Élément
<path>: Définit des formes de chemin. - Élément
<rect>: Définit des formes rectangulaires. - Élément
<circle>: Définit des formes circulaires. - Élément
<ellipse>: Définit des formes elliptiques. - Élément
<line>: Définit des lignes droites. - Élément
<polygon>: Définit des polygones. - Élément
<polyline>: Définit des polylignes. - Élément
<text>: Définit du texte. - Élément
<g>: Définit un groupe, utilisé pour regrouper des éléments SVG. - Élément
<defs>: Définit des attributs globaux qui peuvent être appliqués à plusieurs éléments SVG.
Exemple :
<svg width="500" height="500"> <circle cx="250" cy="250" r="100" fill="yellow" /></svg>Effet :

SVG et Canvas sont tous deux des outils pour créer des graphiques sur des pages web. Ils ont chacun leurs propres avantages et inconvénients et sont adaptés à différents scénarios.
SVG est un graphique vectoriel basé sur XML qui peut être redimensionné sans perte. Cela signifie que les graphiques SVG peuvent être affichés à n’importe quelle taille sans perdre en qualité. Les graphiques SVG peuvent également être manipulés et animés avec CSS et JavaScript.
Canvas est une API de dessin basée sur JavaScript qui peut créer des graphiques bitmap. Cela signifie que les graphiques Canvas ne peuvent pas être redimensionnés sans perte, mais des graphiques plus complexes peuvent être créés avec JavaScript. Les graphiques Canvas peuvent également être manipulés et animés avec JavaScript.
Différences spécifiques entre SVG et Canvas :
| Caractéristique | SVG | Canvas |
|---|---|---|
| Type d’image | Vectoriel | Bitmap |
| Redimensionnement | Sans perte | Avec perte |
| Types de graphiques | Rectangles, cercles, chemins, etc. | N’importe quel |
| Manipulation | CSS, JavaScript | JavaScript |
| Animation | CSS, JavaScript | JavaScript |
| Taille du fichier | Généralement plus petite | Généralement plus grande |
| Accessibilité | Excellente | Moyenne |
-
SVG est adapté aux scénarios :
- Graphiques nécessitant un redimensionnement sans perte, comme des icônes, des logos, des illustrations
- Graphiques nécessitant une manipulation et une animation avec CSS et JavaScript
-
Canvas est adapté aux scénarios :
- Scénarios nécessitant des graphiques complexes, comme des jeux, des animations
- Scénarios nécessitant des opérations complexes avec JavaScript
Formulaires HTML5
HTML5 introduit de nouveaux types d’entrée et attributs pour améliorer la fonctionnalité et la facilité d’utilisation des formulaires.
Nouveaux éléments de formulaire :
- Élément
<datalist>: Utilisé pour une liste d’options prédéfinies de l’élément<input>.
Exemple :
<label for="browser">Sélectionner le navigateur :</label><input list="browsers" id="browser" name="browser" autocomplete="off"><datalist id="browsers"> <option value="Chrome"> <option value="Firefox"> <option value="Safari"> <option value="Edge"> <option value="Opera"></datalist>Effet :

| Élément | Description |
|---|---|
<datalist> | Définit une liste d’options prédéfinies pour l’élément <input>. |
<output> | Représente le résultat d’un calcul. |
<keygen> | Crée une paire de clés pour un formulaire, généralement utilisée pour l’échange de clés. |
<progress> | Définit une barre de progression pour tout type de tâche. |
<meter> | Mesure une valeur scalaire ou une fraction dans une plage connue. |
Nouveaux attributs de formulaire :
- Attribut autocomplete de
<form>/<input>: Spécifie que le champ form ou input doit avoir une fonction de saisie automatique. Lorsque l’utilisateur commence à saisir dans un champ de saisie automatique, le navigateur doit afficher les options remplies dans ce champ.
Exemple :
<form action="demo-form.php" autocomplete="on"> Nom de famille :<input type="text" name="fname"><br> Prénom :<input type="text" name="lname"><br> Email :<input type="email" name="email" autocomplete="off"><br> <input type="submit"></form>Effet :

| Attribut | Description |
|---|---|
autocomplete | Spécifie si le champ de saisie doit activer la fonction de saisie automatique. |
novalidate | Empêche le navigateur de valider le formulaire. |
form | Spécifie le formulaire auquel appartient l’élément <input>, l’associant à un formulaire spécifique. |
formaction | Spécifie l’URL à utiliser lors de la soumission du formulaire. |
formenctype | Spécifie le type de codage à utiliser lors de la soumission du formulaire (par exemple, application/x-www-form-urlencoded ou multipart/form-data). |
formmethod | Spécifie la méthode HTTP à utiliser lors de la soumission du formulaire (par exemple, get ou post). |
formnovalidate | Désactive la validation du formulaire du navigateur lors de la soumission du formulaire. |
formtarget | Spécifie la fenêtre ou le cadre cible qui s’ouvrira après la soumission du formulaire. |
height | Définit la hauteur de l’élément <input type="image">. |
width | Définit la largeur de l’élément <input type="image">. |
list | Spécifie l’ID de l’élément <datalist> associé à l’élément <input> ou <textarea>. |
min | Spécifie la valeur minimale de l’élément <input>. |
max | Spécifie la valeur maximale de l’élément <input>. |
pattern | Définit une expression régulière pour valider le champ de saisie lors de la soumission du formulaire. |
placeholder | Fournit un bref conseil pour le champ de saisie, qui ne s’affiche que lorsque le champ est vide. |
required | Spécifie si le champ de saisie est obligatoire. |
step | Spécifie l’intervalle numérique légal de l’élément <input>. |
Nouveaux types d’input :
<form action="/submit" method="post"> <label for="name">Nom :</label> <input type="text" id="name" required /> <br> <label for="email">Adresse e-mail :</label> <input type="email" id="email" required /> <br> <label for="birthday">Date de naissance :</label> <input type="date" id="birthday" required /> <br> <label for="phone">Numéro de téléphone :</label> <input type="tel" id="phone" required /> <br> <input type="submit" value="Soumettre" /></form>Effet :

| Type | Fonction |
|---|---|
| color | Pour saisir des valeurs de couleur. |
| date | Pour saisir des valeurs de date. |
| datetime-local | Pour saisir des valeurs de date et d’heure. |
| Pour saisir des adresses e-mail. | |
| file | Pour télécharger des fichiers. |
| month | Pour saisir des valeurs de mois. |
| number | Pour saisir des valeurs numériques. |
| range | Pour saisir des valeurs de plage. |
| search | Pour saisir des chaînes de recherche. |
| tel | Pour saisir des numéros de téléphone. |
| time | Pour saisir des valeurs de temps. |
| url | Pour saisir des adresses URL. |
[!Résumé]
| Élément | Fonction | Recommandé ? |
|---|---|---|
| Nouveaux éléments | ||
<canvas> | Définit des graphiques tels que des diagrammes et d’autres images. Cette balise est basée sur l’API de dessin JavaScript. | Recommandé |
<audio> | Définit du contenu audio | Recommandé |
<video> | Définit des vidéos (video ou film) | Recommandé |
<source> | Définit des ressources multimédias pour <video> et <audio> | Recommandé |
<track> | Définit des sous-titres ou des traductions pour l’audio ou la vidéo | Recommandé |
<datalist> | Définit une liste d’options. Utilisez cet élément avec l’élément input pour définir les valeurs possibles d’input. | Recommandé |
<keygen> | Spécifie un champ générateur de paires de clés pour un formulaire. | Recommandé |
<output> | Définit différents types de sorties, telles que des sorties de scripts. | Recommandé |
<article> | Définit une zone de contenu indépendante de la page. | Recommandé |
<aside> | Définit le contenu de la barre latérale de la page. | Recommandé |
<bdi> | Vous permet de définir une section de texte qui se détache des paramètres de direction de texte de son élément parent. | Recommandé |
<dialog> | Définit une boîte de dialogue. | Recommandé |
<figure> | Définit une zone contenant des images ou d’autres contenus visuels. | Recommandé |
<footer> | Définit la zone inférieure de la page ou d’une partie de la page. | Recommandé |
<header> | Définit la zone supérieure de la page ou d’une partie de la page. | Recommandé |
<main> | Définit la zone de contenu principale de la page. | Recommandé |
<mark> | Définit du texte important ou en surbrillance. | Recommandé |
<meter> | Définit la progression ou la plage de valeurs. | Recommandé |
<nav> | Définit la zone de navigation de la page ou d’une partie de la page. | Recommandé |
<progress> | Définit une barre de progression. | Recommandé |
<time> | Définit une date ou une heure. | Recommandé |
<wbr> | Permet d’insérer des caractères de saut de ligne dans le texte. | Recommandé |
| Éléments obsolètes ou non recommandés | ||
<acronym> | Définit un acronyme. Il est recommandé d’utiliser l’élément <abbr> à la place. | Recommandé |
<applet> | Définit une applet Java. Il est recommandé d’utiliser JavaScript ou d’autres technologies modernes à la place. | Non recommandé |
<basefont> | Définit la taille et la couleur de police par défaut pour tout le texte de la page. Il est recommandé d’utiliser CSS pour définir les styles de texte. | Non recommandé |
<big> | Définit la taille de police du texte. Il est recommandé d’utiliser CSS pour définir les styles de texte. | Non recommandé |
<center> | Force l’alignement centré du texte. Il est recommandé d’utiliser CSS pour définir l’alignement du texte. | Non recommandé |
<dir> | Définit une liste de répertoires. Il est recommandé d’utiliser l’élément <ul> à la place. | Non recommandé |
<font> | Définit la taille, la couleur, le style, etc. de police du texte. Il est recommandé d’utiliser CSS pour définir les styles de texte. | Non recommandé |
<frame> | Définit un cadre. Il est recommandé d’utiliser l’élément iframe à la place. | Non recommandé |
<frameset> | Définit un ensemble de cadres. Il est recommandé d’utiliser l’élément iframe à la place. | Non recommandé |
<noframes> | Fournit un contenu alternatif pour les navigateurs qui ne prennent pas en charge les cadres. Il est recommandé d’utiliser JavaScript pour déterminer si le navigateur prend en charge les cadres et afficher ou masquer le contenu en conséquence. | Non recommandé |
<strike> | Définit le style barré du texte. Il est recommandé d’utiliser CSS pour définir les styles de texte. | Non recommandé |
<tt> | Définit la police à chasse fixe du texte. Il est recommandé d’utiliser CSS pour définir les polices de texte. | Non recommandé |