Cours Introduction A HTML 5
Cours Introduction A HTML 5
Cours Introduction A HTML 5
Enseignant : Haythem 1
REHOUMA
Objectifs
Enseignant : Haythem 2
REHOUMA
PLAN
Structure d’un document HTML5
Web Storage
Géolocalisation
Plus d’APS
Enseignant : Haythem 3
REHOUMA
Structure d’un document HTML5
Enseignant : Haythem 4
REHOUMA
Le DOCTYPE
<!DOCTYPE html>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
Enseignant : Haythem 5
REHOUMA
Nouvelle Structure
<div<header>
id="header">
<div class="article">
<article>
<div <div
<nav> <div <section>
id="content"> <aside>
id="nav"> id="right">
<div<footer>
id="footer">
Enseignant : Haythem 6
REHOUMA
Structure d’un document HTML5
<header>l’en-tête
<footer> le pied-de-page
Enseignant : Haythem 8
REHOUMA
Structure d’un document HTML5
Enseignant : Haythem 9
REHOUMA
Structure d’un document HTML5
Enseignant : Haythem 10
REHOUMA
Structure d’un document HTML5
Enseignant : Haythem 11
REHOUMA
Structure d’un document HTML5
Enseignant : Haythem 12
REHOUMA
Structure d’un document HTML5
Enseignant : Haythem 13
REHOUMA
Structure d’un document HTML5
Enseignant : Haythem 14
REHOUMA
Structure d’un document HTML5
Enseignant : Haythem 15
REHOUMA
Structure d’un document HTML5
Enseignant : Haythem 16
REHOUMA
Structure d’un document HTML5
Enseignant : Haythem 17
REHOUMA
Structure d’un document HTML5
Enseignant : Haythem 18
REHOUMA
Structure d’un document HTML5
Enseignant : Haythem 19
REHOUMA
Structure d’un document HTML5
Enseignant : Haythem 20
REHOUMA
Structure d’un document HTML5
Enseignant : Haythem 21
REHOUMA
Structure d’un document HTML5
Enseignant : Haythem 22
REHOUMA
Structure d’un document HTML5
Enseignant : Haythem 23
REHOUMA
Structure d’un document HTML5
Enseignant : Haythem 24
REHOUMA
Structure d’un document HTML5
C'est une partie de la page qui pourrait ainsi être reprise sur
un autre site.
Les actualités
articles de journaux ou de blogs
Enseignant : Haythem 25
REHOUMA
Structure d’un document HTML5
Enseignant : Haythem 26
REHOUMA
Nouvelle sémantique en HTML5
Enseignant : Haythem 27
REHOUMA
Nouvelle sémantique
Le HTML5 offre de nouvelles balises pour améliorer la hiérarchisation
<canvas>
<datagrid>
<meter>
<details>
<progress>
<svg>
Rating:<dialog>
<time>
Et encore ...…
<embed>
<figure>
<command>
<menu>
Enseignant : Haythem 28
REHOUMA
Une nouvelle sémantique
Balise Description
Meter Définit une unité de mesure
Time
Définit une unité de temps
Svg Définit une image vectorielle
29
Enseignant : Haythem
Une nouvelle sémantique
Balise Description
Menu Définit un menu en liste
Figure
Définit un groupe d’élément multimédia
Details Définit les détails d’un élément
30
Enseignant : Haythem
Une nouvelle sémantique
Balise Description
Signale une conversation.
Dialog Contient des éléments dt que l'on utilise pour identifier un locuteur, et
des éléments dd qui contiennent les paroles du locuteur.
Mark Employée pour mettre en avant une partie d'un contenu en appliquant
un style surligné jaune sur le texte qu'elle décrit.
31
Enseignant : Haythem
Une Nouvelle sémantique
Exemple dialog
<dialog>
<dt>Haythem </dt>
<dd>Bienvenu à Esprit !</dd>
<dt>Mohamed</dt>
<dd>
Merci, vous êtes notre enseignant?
</dd>
<dt>Haythem</dt>
<dd>Oui, je le suis! </dd>
<dt>Mohamed</dt>
<dd>
Quesque vous allez nous enseigner?
</dd>
<dt>Haythem</dt>
<dd>le HTML 5<dd>
</dialog> Enseignant : Haythem 32
REHOUMA
Les nouveaux élément de formulaire
Enseignant : Haythem 33
REHOUMA
Les nouveaux éléments de formulaire
<input type="datetime">
Et encore…
Enseignant : Haythem 34
REHOUMA
Les nouveaux éléments de formulaire
Minimum
MaxLength
Regular
Required and Maximum Values
Expressions
for
Fields textarea
Et encore…
<input
<input type="text"
<input
type="email"
<textarea pattern="[A-Za-z0-9_\-]+">
type="range"
required="required">
min="20" max="80">
maxlength="2000"></textarea>
Enseignant : Haythem 35
REHOUMA
Les nouveaux éléments de formulaire
Balise Description
36
Enseignant : Haythem
Les nouveaux éléments de média
Enseignant : Haythem 37
REHOUMA
Les nouveaux éléments pour les médias
Balise Description
Enseignant : Haythem 38
REHOUMA
Les nouveaux éléments de média
Enseignant : Haythem 39
REHOUMA
La balise Canvas en HTML5
Enseignant : Haythem 40
REHOUMA
La balise <canvas>
Balise Description
Utilisé pour dessiner des graphiques, des dessins, à la volée, via des
<canvas>
Ça fournit une API en JavaScript qui permet de faire du dessin
Enseignant : Haythem 41
REHOUMA
La balise <canvas>
.
Le canvas est une zone rectangulaire dans une page HTML
Enseignant : Haythem 42
REHOUMA
La balise <canvas>
Enseignant : Haythem 43
REHOUMA
La balise <canvas>
Enseignant : Haythem 44
REHOUMA
La balise <canvas>
Enseignant : Haythem 45
REHOUMA
La balise SVG
SVG est une recommendation W3C
SVG est utilisé pour définir des graphics basés sur des vecteurs sur
le Web
Enseignant : Haythem 46
REHOUMA
La balise SVG
Objets définis chacun par divers attributs de forme, de position, de couleur, etc.
Enseignant : Haythem 47
REHOUMA
La balise SVG
Les images SVG peuvent être imprimées avec une grande qualité
Enseignant : Haythem 48
REHOUMA
Les éléments supprimés ou dépréciés en HTML5
Enseignant : Haythem 49
REHOUMA
Les éléments supprimés ou dépréciés en HTML5
Enseignant : Haythem 50
REHOUMA
Drag & Drop
Enseignant : Haythem 51
REHOUMA
Drag & Drop
<img draggable="true">
Enseignant : Haythem 52
REHOUMA
Drag & Drop
Les méthodes ondragstart and setData() définssent “what to Drag”
function drag(ev)
{ ev.dataTransfer.setData("Text",ev.target.id); }
La méthode ondragover définit ou faire le Drop
event.preventDefault()
function drop(ev)
{ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data)); }
Enseignant : Haythem 53
REHOUMA
Web Storage
Enseignant : Haythem 54
REHOUMA
Web Storage
Enseignant : Haythem 55
REHOUMA
Web Storage
Les données sont stockées dans paires clé / valeur, et une page Web
ne peut accéder aux données stockées par elle-même
Enseignant : Haythem 56
REHOUMA
Web Storage
Il y a deux objets pour sauvegarder les informations coté client:
LocalStorage :
Sauvegarde les informations sans date d’expiration
SessionStorage :
Sauvegarde les informations pour une seule session
if(typeof(Storage)!=="undefined")
{ // LocalStorage et sessionStorage supportés par le navigateur ! }
else
{ // LocalStorage et sessionStorage ne sont pas supportés par
le navigateur ! ..}
Enseignant : Haythem 57
REHOUMA
Exemple Web Storage
<!DOCTYPE html>
<html>
<head><script> A DEVELOPPER</script> </head>
<body>
</body>
</html>
Enseignant : Haythem 58
REHOUMA
Exemple Web Storage
<script>
function teststorage()
{ if(typeof(Storage)!=="undefined")
{ if (localStorage.clickcount)
{ localStorage.clickcount= Number(localStorage.clickcount)+1; }
else { localStorage.clickcount=1;}
document.getElementById("result").innerHTML=" Vous avez cliqué sur le bouton "
+ localStorage.clickcount + " fois "; }
Enseignant : Haythem 60
REHOUMA
Géolocalisation
Enseignant : Haythem 61
REHOUMA
Géolocalisation
Enseignant : Haythem 62
REHOUMA
Géolocalisation
La méthode getCurrentPosition()
Enseignant : Haythem 63
REHOUMA
Géolocalisation
La méthode getCurrentPosition()
Enseignant : Haythem 64
REHOUMA
Géolocalisation
• getCurrentPosition() method sert à indiquer la position de l’utilisateur (exemple1)
Enseignant : Haythem 65
REHOUMA
Géolocalisation
EXEMPLE BASIQUE
<!DOCTYPE html>
<html>
<body>
<p id="demo">Click the button to get your coordinates:</p>
<button onclick="getLocation()"> Try It </button>
</body>
<script>//A faire……………………………</script>
</html>
Enseignant : Haythem 66
REHOUMA
Géolocalisation
<script>
var x=document.getElementById ("demo");
function getLocation()
{ if (navigator.geolocation)
{ navigator.geolocation.getCurrentPosition(showPosition); }
else {x.innerHTML="Geolocation is not supported by this browser.";} }
</script>
Enseignant : Haythem 67
REHOUMA
Géolocalisation
La méthode getCurrentPosition()
Enseignant : Haythem 68
REHOUMA
Géolocalisation
function showError(error)
{
switch(error.code)
{ case error.PERMISSION_DENIED:
x.innerHTML="User denied the request for Geolocation." break;
case error.POSITION_UNAVAILABLE:
x.innerHTML="Location information is unavailable." break;
case error.TIMEOUT:
x.innerHTML="The request to get user location timed out." break;
case error.UNKNOWN_ERROR:
x.innerHTML="An unknown error occurred." break; }
}
Enseignant : Haythem 69
REHOUMA
Géolocalisation
La méthode getCurrentPosition()
Enseignant : Haythem 70
REHOUMA
Géolocalisation
function showPosition(position)
var latlon=position.coords.latitude+","+position.coords.longitude;
var img_url="http://maps.googleapis.com/maps/api/staticmap?center="
+latlon+"&zoom=14&size=400x300&sensor=false";
document.getElementById("mapholder").innerHTML="<img
src='"+img_url+"'>";
}
Enseignant : Haythem 71
REHOUMA
Plus d’Apis (Web Workers)
Enseignant : Haythem 72
REHOUMA
Web Workers
En exécutant des scripts dans une page HTML la page ne répond pas
jusqu’à la fin du script.
Le Web Worker correspond à un script " Javascript " qui tourne en "back-
ground " indépendamment des autres scripts sans perturber les
performances de la page.
Exemple :
Enseignant : Haythem 74
REHOUMA
Web Workers
var i=0;
function timedCount()
{
i=i+1;
postMessage(i);
setTimeout("timedCount()",500);
}
timedCount();
Enseignant : Haythem 75
REHOUMA
Web Workers
Créer un Objet Web Worker
if (typeof(w)=="undefined")
{ w=new Worker(“HR.js"); }
w.Onmessage = function(event){
document.getElementById("result").innerHTML=event.data; };
w.terminate();
Enseignant : Haythem 76
REHOUMA
Enseignant : Haythem 77
REHOUMA