57
LCProd.net Grandadam Emmanuel { } HTML5 Introduction Fonctionnalités html, multimédia, javascript et css Ressources Licence 1 Fichiers des codes sources et exercices disponibles sur demande !

HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

{ }HTML5

Introduction

Fonctionnalitéshtml, multimédia,

javascript et cssRessourcesLicence

1

Fichiers des codes sources et exercices disponibles sur demande !

Page 2: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

INTRODUCTION

Comprendre l’évolution,Utiliser html5 aujourd’hui,Détecter le support navigateur, En résumé,Les logos,Pour bien commencer,Dictionnaire

2

Page 3: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Evolution๏ Balisage du W3C et normalisation WHATWG

(WHATWG : Groupe formé au sein du W3C pour protester contre la direction et proposer le développement d’outils pour de l’application Web)

๏ HTML4๏ XHTML (1 et 2)๏ CSS (1, 2 et 3)๏ JS

๏ HTML5 = HTML + CSS + JS

http://validator.w3.org/http://www.whatwg.org/http://dev.w3.org/html5/spec/Overview.html

3

Page 4: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

html5 aujourd’hui๏ Moteur de rendu

๏ Webkit (Chrome, Safari, Android, Palm webOS...),๏ Gecko (Mozilla Firefox, SeaMonkey...)๏ Trident (Internet Explorer)

๏ Navigateur ancien๏ html5shiv

<!--[if IE]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->

๏ Google FrameAjouter les fonctionnalités HTML5 pour IE6, 7 et 8http://code.google.com/intl/fr/chrome/chromeframe/

๏ OutilsTest/Score HTML du navigateur, comparaisons.http://en.wikipedia.org/wiki/Comparison_of_layout_engines_%28HTML5%29http://html5test.com/

4

Page 5: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

html5 aujourd’hui๏ Que devient Adobe Flash ?

๏ Le projet Wallaby (2011)

๏ Convertir des séquences Adobe Flash en HTML5Projet en coursFonctionne pour de petits projets

5

Page 6: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Détecter le support ๏ Détecter le support navigateur

๏ On ne peut donc pas détecter «le support de l'HTML5»๏ On détecte le support pour chaque caractéristiques !

๏ Document Object Model (DOM) :๏ La collection d'objets qui représentent les éléments HTML de la page

A la restitution d’une page, le navigateur construit le DOM.Le DOM indique quelles caractéristiques sont supportées.

๏ Outils๏ Modernizr

Librairie JavaScript open source, qui détecte les caractéristiques HTML5 & CSS3.http://www.modernizr.com/

6

Page 7: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

En résumé๏ HTML5 c’est : (en résumé)

๏ Une API de dessinCanvas : élément HTML, piloté par du Javascript pour créer des pixels.Se comporte comme une image et gère les évènements.

๏ La gestion de MédiasIntégration de CODEC audio et vidéo.

๏ Une couche ApplicativeLa page fait appel à des fonctions intégrées au navigateur.Ex : Géolocalisation, mode offline...

๏ Une sémantique plus richeDécoupage en zone, description précise des élémentsIndexation plus précise par les moteurs de recherches

7

Page 8: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Les logos๏ Les différents logos

Connectivité et temps réel

CSS3

API navigateur

WebGL, SVG et Canvas

Multimédias

Javascript

Sémantique

Stockage local et Bases de données

8

Page 9: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Pour bien commencer๏ Document Type Déclaration : doctype

๏ HTML 4.01<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

๏ XHTML 1.0<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

๏ HTML5<!DOCTYPE html>

9

Page 10: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Pour bien commencer๏ En-tête : Content-Type

๏ HTML 4.01<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

๏ HTML 5<meta charset="UTF-8">

10

Page 11: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Pour bien commencer๏ En-tête : script

๏ HTML 4.01<script type="text/javascript" src="file.js"></script>

๏ HTML 5<script src="file.js"></script>

11

Page 12: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Pour bien commencer๏ En-tête : link

๏ HTML 4.01<link rel="stylesheet" type="text/css" href="file.css">

๏ HTML 5<link rel="stylesheet" href="file.css">

12

Page 13: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Pour bien commencer๏ HTML5

<!DOCTYPE html><html><head> <meta charset="UTF-8"> <link rel="stylesheet" href="styles.css"></head><body>

</body></html>

13

Page 14: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Dictionnaire๏ Ressources en ligne

๏ Dictionnaire des balises HTML5http://www.w3schools.com/html5/

๏ Spécifications HTML5http://www.whatwg.org/specs/web-apps/current-work/multipage/

14

Page 15: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

FONCTIONNALITÉSHTML

Balisage sémantiqueBalises pour applicationsFormulairesMobilesMicroformats

15

Page 16: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Balisage sémantique๏ Nouveaux éléments

๏ section๏ nav๏ article๏ aside๏ hgroup๏ header๏ footer๏ time๏ mark

16

<header>

<nav> <aside>

<footer>

<section>

<header>

<article>

<footer>

Page 17: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Balisage sémantique๏ section

Elément générique : regroupement thématique de contenu.

๏ navZone de navigation.

๏ article Contenu indépendant, distribuable ou réutilisable.

๏ asideContenu lié à la page (article).

๏ hgroupEntête de section qui regroupe plusieurs niveaux de titres (hx).

๏ headerZone d’aide à la navigation ou introduction.

๏ footerPied de l’élément le plus proche.

๏ timePrésente une date (avec éventuellement un décalage de fuseau horaire).

๏ markMise en avant d’un passage de texte en vue d’une référence.

๏ detailsDes éléments qui ne sont pas visibles par défaut.

๏ figure/figcaptionAdjoint à un texte une illustration annotée.

๏ meterAffiche l’état d’une jauge.

17

Page 18: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Balisage sémantique๏ En résumé

<!DOCTYPE html> <html><head> <meta charset="utf-8" /> <title>Mon Blog</title> </head> <body> <header> <hgroup> <h1>Titre</h1><h2>Description.</h2> </hgroup> <nav> <ul> <li><a href="#">accueil</a></li> <li><a href="#">blog</a></li> <li><a href="#">a propos</a></li> </ul> </nav> </header> <article>

<header> <time datetime="2011-04-15" pubdate>15 avril 2011</time> <h1><a href="#" rel="bookmark" title="lien">Message</a></h1> </header> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec hendrerit felis accumsan turpis pretium tempor. Duis eu turpis nunc, ut euismod nisl.</p> </article> <footer> <p>© 2011 <a href="#">LCProd.net</a></p> </footer> </body> </html>

18

Exercice 1.1 / Fichier 1.1.html

Page 19: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Balises pour applications๏ Indicateurs :

๏ meterUn indicateur de progression

๏ progressSans valeurAvec valeur et maximum

๏ Liens :๏ Liens sur des ensembles :

<a href="/about.html"> <h2>A propos</h2> <p>Information sur notre entreprise.</p></a>

19

Exercice 1.2 / Fichier 1.2.html

Page 20: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Formulaires๏ Nouvelle fonctionnalités

๏ placeholderAffiche un texte par défaut qui s'efface lors du focus.

๏ requiredChamp en rouge ou signalé car obligatoire, affichage lors de l’envoi du formulaire.

๏ autofocusSélectionne le champ automatiquement.

20

Exercice 1.3 / Fichier 1.3.html

Page 21: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Formulaires๏ Nouveaux types

๏ emailContrôle la normalisation d’un email.

๏ datePermet la gestion de dates.

๏ rangeBarre de réglage avec ou sans pas.

๏ searchAffiche une zone spécifique avec liste et annulation.

๏ colorOuvre un système de gestion de couleurs.

๏ numberContrôle la valeur du champ.

<form novalidate> permet de ne pas contrôler le champ !

21

Exercice 1.3 / Fichier 1.3.html

Page 22: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Formulaires๏ Affichage spécifiques pour mobiles

22

Page 23: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Microformats๏ Contenu accessible et utilisable par les agents logiciels

๏ Système de méta-données formelles du W3CBase de données distribuée

Mon nom est <span itemprop="name">Alice</span>.Mon adresse email pro est <span itemprop="mbox">[email protected]</span>.Mon adresse email perso est <span itemprop="mbox">[email protected]</span>.Mon blog est <span itemprop="blog">http://blog.com</span>.

23

Cartedevisite

[email protected]

[email protected]

Alice

http://blog.com

foaf:mbox

foaf:mbox

foaf:name

foaf:blog

Page 24: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

FONCTIONNALITÉSJAVASCRIPT

Syntaxe

Stockage localBases de données localesCache du navigateurServices Web (WebSocket)

Web WorkersGlisser / Déposer 1/2/3GéolocalisationNotifications

24

Page 25: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Syntaxe๏ Code javascript dans la page HTML5

๏ Script dans la page pour IE !Attribut ‘defer’ permet l’exécution du script de manière différée (deferred),Après le chargement complet de la page,Quand le DOM est chargé.

<script defer>...</script>

๏ Script externeAppel en en-tête de page :<script src="script.js"></script>

Attendre le chargement du DOM pour exécuter le script:Avec JQuery : $(function(){ ... })Sans JQuery : document.addEventListener("DOMContentLoaded", function(){ ... })

25

Page 26: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Stockage local๏ Enregistrement local (navigateur)

๏ Clé nommée

Les données sont stockées pour un domaine précis et peuvent récupérées dans n'importe quelle page du domaine en question.

window.localStorage.setItem('valeur', ‘données’);window.localStorage.getItem('valeur');window.localStorage.removeItem(‘valeur’);

26

Exercice 2.1 / Fichier 2.1.html

Page 27: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Bases de données locales๏ Ouvrir/Créer une base

๏ L’action d’ouvrir permet de créer la base.window.openDatabase('Nom', 'Version', 'Description', Taille : 2*1024*1024);

๏ Requête SQL๏ Utilisation des transactions.

db.transaction(function (tx) { tx.executeSql('CREATE TABLE test (id REAL UNIQUE, text TEXT)');});

๏ Parcourir un jeu d’enregistrement๏ La fonction contient les données du jeu (results)

db.transaction(function (tx) { tx.executeSql('SELECT * FROM test', [], function (tx, results) { alert(results.rows.item(0).id); }});

27

Exercice 2.2 / Fichier 2.2.html

Page 28: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Cache du navigateur๏ Fichier .manifest

๏ Ajouter une directive à Apache (ou .htaccess)AddType text/cache-manifest .manifest

๏ Créer le fichier .manifestCACHE MANIFEST# version 1.0.0

CACHE:css/styles.cssjquery-1.5.1.min.js

NETWORK:*

๏ Modifier la balise html<html manifest="cache.manifest">

28

Exercice 2.3 / Fichier 2.3.html

Page 29: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Cache du navigateur๏ Options du fichier .manifest

๏ CACHEListe les fichiers à mettre en cache.

๏ NETWORKListe les fichiers qui demandent obligatoirement une connexion active.

๏ FALLBACKListe les fichiers qui sont renvoyés si la connexion n’est pas active.

29

Exercice 2.3 / Fichier 2.3.html

Page 30: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Cache du navigateur๏ Manipuler le cache en Javascript

๏ statusConnaître le statut du cache.window.applicationCache.status

๏ updatereadyVérifier les données du fichier .manifest.window.applicationCache.UPDATEREADY

๏ update()Relire le fichier .manifest.window.applicationCache.update();

๏ swapCache();Charge la nouvelle versionwindow.applicationCache.swapCache();

30

Exercice 2.3 / Fichier 2.3.html

Page 31: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Services Web๏ Contacter un Service Web (WebSocket)

๏ Objet WebSocketnew WebSocket('ws://serveur:ip');

๏ Evénementsonopen, à l’ouverture.onmessage, à la réception d’un message.onclose, à la fermeture.onerror, lors d’une erreur.

๏ Méthodessend(), envoie de données.close(), fermeture de la connexion.

31

Exercice 2.4 / Fichier 2.4.html

Page 32: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Web Workers๏ Exécuter du code javascript en arrière plan

๏ Tâche indépendante du navigateur๏ Code exécuter dans un processus différent

Idéalement sur un second CPU (multi-tâche)

HTML5 :var worker = new Worker("fibonacci.js");

worker.onmessage = function(message){...}worker.postMessage(number);

fibonacci.jsfunction fibo(number) {...}

onmessage = function(message) { var result = fibo(message.data); postMessage(result);}

32

Page 33: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Glisser/Déposer 1๏ Dans la page

๏ Attribut HTMLdraggable="true"

๏ Les évènements javascriptIntercepte les évènement d’un objet.

dragstart - Début du déplacement.drag - Exécuté à intervalles réguliers (350ms).dragenter - Arrive dans un autre élément.dragleave - Sors d'un autre élément.dragover - Survol d'un élément. (stopper la propagation).drop - L’objet tombe dans un autre élément.dragend - Fin du déplacement.

33

Exercice 2.5 / Fichier 2.5.html

Page 34: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Glisser/Déposer 1๏ L’objet ‘dataTransfer’

Permet le transfert d’informations d’un élément à un autre (Presse Papier)

๏ Le paramètre ‘effectAllowed’

all - L'élément peut être copié, déplacé et lié.copy - L'élément peut être copié.copyLink - L'élément peut être copié et lié.copyMove - L'élément peut être copié et déplacé.link - L'élément peut être lié.linkMove - L'élément peut être déplacé et lié.move - L'élément peut être déplacé.none - L'élément ne peut pas être déplacé.uninitialized - Valeur par défaut. Le comportement est "move" pour les éléments éditables, "link" pour les ancres et "copy" pour les autres.

34

Exercice 2.5 / Fichier 2.5.html

Page 35: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Glisser/Déposer 1๏ Les méthodes ‘setData’ et ‘getDate’

Valeur personnalisée pour le transfert.

event.dataTransfer.setData('Text', 'Texte personnalisé')

Valeurs récupérable sur les éléments :

text/uri-listtext/plainurl

35

Exercice 2.5 / Fichier 2.5.html

Page 36: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Glisser/Déposer 2๏ De plusieurs fichiers sur la page (Drag-In)

๏ Gestion de la réception du fichierfunction onDrop(event) { files = event.dataTransfer.files for(var i=0;i<files.length;i++){ uploadFile(files[i]); }}

๏ Fonction d’affichagefunction uploadFile(file){ var reader = new FileReader(); reader.onload = function (event) { var img = new Image(); img.src = event.target.result; document.getElementById("rep").appendChild(img);     } reader.readAsDataURL(file);}

36

Exercice 2.6 / Fichier 2.6.html

Page 37: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Glisser/Déposer 3๏ Téléchargement par glisser/déposer (Drag-Out)

๏ Fonctionne uniquement avec Chrome

Paramètre du lien a :

draggable="true"data-downloadurl="MIMETYPE:FILENAME:ABSOLUTE_URI_TO_FILE"

Sur chaque lien :

event.dataTransfer.setData('DownloadURL', this.dataset.downloadurl);

37

Exercice 2.7 / Fichier 2.7.html

Page 38: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Géolocalisation๏ Géolocalisation du navigateur

๏ Appel de la méthode du navigateur

navigator.geolocation.getCurrentPosition(fonction_de_traitement);

๏ Récupération des données

var lat = position.coords.latitude;var lon = position.coords.longitude;var alt = position.coords.altitude;

38

Exercice 2.9 / Fichier 2.9.html

Page 39: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Notifications๏ Afficher des notifications sur le bureau

๏ Autoriser le site à utiliser les fonctions de notificationswindow.webkitNotifications.requestPermission();

๏ Deux type de notificationsTextewindow.webkitNotifications.createNotification('image', 'titre', 'contenu');

Htmlwindow.webkitNotifications.createHTMLNotification('url');

๏ Évènementsondisplay : à l’ouverture.onclose : à la fermeture.

๏ Méthodeshow(); Affiche la notification.

39

Exercice 2.10 / Fichier 2.10.html

Page 40: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

FONCTIONNALITÉSMULTIMÉDIA

Audio/VidéoCanvas 2DCanvas 3D (WebGL)SVG

40

Page 41: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Audio/Vidéo๏ Balises audio et video HTML5

๏ Attributs htmlsrcautoplaycontrolslooppreloadwidth/height (video uniquement)poster (video uniquement) - url de l’image

๏ Méthodes jsplay();pause();

๏ Propriétés jsmuted true|false

๏ Formats audioOggMP3Wav

๏ Formats vidéo

OggMpeg 4WebM

41

Exercice 3.1 / Fichier 3.1.html

Page 42: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Canvas 2D๏ Rendus dynamiques d'images via javascript

๏ Zone de dessin : canvas<canvas id="canvas" width="200" height="200"></canvas>

๏ Accès aux fonctions de dessins : getContextvar canvas = document.getElementById('canvas');var ctx = canvas.getContext('2d');

๏ OutilsRectangles,Tracés (chemins),Couleur, styles et ombres,Textes,Transformation,Images,Modes de compositions,Manipulation des pixels.

42

Exercice 3.2 / Fichier 3.2.html / https://github.com/lcprod/canvas_demo

Page 43: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Canvas 3D (WebGL)๏ Utiliser le pilote OpenGL dans un navigateur

43

Page 44: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

SVG๏ SVG : Scalable Vector Graphics

๏ Graphiques vectoriels adaptables

๏ Injecter dans le HTML<svg xmlns="http://www.w3.org/2000/svg" width="120" height="60"></svg>

๏ Par le biais de javascript๏ createElementNS

Permet d’ajouter un objet au SVG๏ appendChild

Ajoute l’objet au rendu SVG

44

Exercice 3.3 / Fichier 3.3.html

Page 45: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

FONCTIONNALITÉSCSS

Sélecteurs,Polices Web,Transparences,Modes de couleurs,Arrondis,Dégradés,Ombres,

Transitions,Transformations,Animations

45

Page 46: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Sélecteurs๏ Sélecteurs CSS3

๏ Nième.row:nth-child(num|even|odd){}

๏ Attributs spécifiquesinput[type="text"] {}

๏ Négation:not(.box) {}

๏ Plus spécifiquesh2:first-child {}div.text > div {}

๏ Plus d’infos ?http://www.w3.org/TR/css3-selectors/#selectors

46

Exercice 4.1 / Fichier 4.1.html

Page 47: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Polices Web๏ Apporter des polices dans la page HTML

๏ Incorporées depuis le serveur@font-face { font-family: 'Coda Caption'; src: url('Coda-Caption-Heavy.woff') format('woff');}

๏ Types supportésEOT - Embedded OpenTypeTTF - TrueTypeOTF - OpenTypeSVG - Scalable Vector GraphicsWOFF - Web Open Font Format

๏ Utilisation de librairies externes (http://www.google.com/webfonts)http://www.google.com/webfonts<link href='http://fonts.googleapis.com/css?family=Lobster type='text/css'>

47

Exercice 4.1 / Fichier 4.1.html

Page 48: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Transparences๏ Composition des couleurs en rgba

๏ Rouge๏ Vert๏ Bleu๏ Transparence (aplha)

rgba(255, 0, 0, 0.22)

48

Exercice 4.1 / Fichier 4.1.html

Page 49: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Modes de couleus๏ Composition des couleurs :

๏ Couleurs nomméescolor:purple;

๏ Couleur HTMLcolor:#fff;

๏ Composition rgbacolor:rgba(127,127,127,.5);

๏ Composition hslaTeinte Saturation Valeur

color:hsla(128,75%,33%,1);

http://fr.wikipedia.org/wiki/Teinte_Saturation_Valeur

49

Page 50: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Arrondis๏ Prise en charge de border-radius

๏ CSS3

border-radius: 140px;

๏ Pour les autres navigateurs :

Webkit-webkit-border-radius: 20px;

Gecko-moz-border-radius: 20px;

50

Exercice 4.2 / Fichier 4.2.html

Page 51: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Dégradés๏ Pas de prise en charge native...

๏ Propriété CSSWebkit-webkit-gradient();

Gecko-moz-linear-gradient();-moz-radial-gradient();

Opéra-o-linear-gradient();-o-radial-gradient();

๏ Typeslinearradial

51

Exercice 4.2 / Fichier 4.2.html

Page 52: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Ombres๏ Accessibles sur les textes et boîtes

๏ text-shadowtext-shadow:decalX, decalY, force, couleur;

๏ box-shadowbox-shadow:decalX, decalY, force, couleur;

52

Exercice 4.2 / Fichier 4.2.html

Page 53: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Transitions๏ Effets de transitions de propriétés CSS

๏ transition-property : la propriété qui sera modifiée par la transitionAll ou ls propriétés CSS

๏ transition-timing-function : la fonction de transition utiliséeease, linear, ease-in, ease-out, ease-in-out

๏ transition-duration : la durée de la transitionsecondes

๏ transition-delay : le temps avant que la transition ne se déclenchesecondes

53

Exercice 4.3 / Fichier 4.3.html

Page 54: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Tranformations๏ transform2d

๏ webkit-transform:rotateYscaleXskewtranslate

๏ Centre de la déformation : transform-origin : x y.

๏ transform3dAttention ! pas sur Chrome

๏ webkit-transformscale3dtranslate3dperspectivematrix3d

๏ Centre de la déformation :webkit-perspective-origin.

54

Exercice 4.3 / Fichier 4.3.html

Page 55: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

Animations๏ Enchaînement d’effets

๏ Un évènement CSS fait appel à une animationa:hover{ -webkit-animation: pulse 0.7s ease;}

๏ Déclaration de l’animationGestion d’une ‘timeline’ pour les étapes (10%, 20%...)

@-webkit-keyframes pulse { from {...} 0% {...} 10{...} to {...}}

55

Exercice 4.4 / Fichier 4.4.html

Page 57: HTML5 { } - lcprod.net LCProd.net Grandadam Emmanuel Evolution ๏ Balisage du W3C et normalisation WHATWG (WHATWG : Groupe formé au sein du W3C pour protester contre la direction

LCProd.netGrandadam Emmanuel

LICENCE

57

Vous êtes libres : de reproduire, distribuer et communiquer cette création au public

Selon les conditions suivantes :

Paternité. Vous devez citer le nom de l'auteur original de la manière indiquée par l'auteur de l'oeuvre ou le titulaire des droits qui vous confère cette autorisation (mais pas d'une manière qui suggérerait qu'ils vous soutiennent ou approuvent votre utilisation de l'oeuvre).

Pas d'Utilisation Commerciale. Vous n'avez pas le droit d'utiliser cette création à des fins commerciales.

Pas de Modification. Vous n'avez pas le droit de modifier, de transformer ou d'adapter cette création.

http://creativecommons.org/licenses/by-nc-nd/3.0/deed.fr