Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

41
HTML5 – CSS3 - Javascript Le Web nouvelle définition

description

Le web, nouvelle définition : les possibilités étendues de HTML5 marquent un tournant dans le développement de sites et d'applications web riches. Lors de cette soirée, nous ferons une revue des possibilités offertes par HTML5, CSS3 et Javascript, des applications mobiles aux jeux vidéo en passant par la diffusion de médias audio et vidéo. Présenté par Benjamin Anseaume de Sushee.fr et Erwan Hesry

Transcript of Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

Page 1: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

HTML5 – CSS3 - JavascriptLe Web nouvelle définition

Page 2: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

Historique du HTML

Page 3: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

HTML : Langage à balise

• <balise>Contenu</balise>

• Balise = mise en forme

• Format de données• CSS : format de présentation• JS : langage de développement

• Permet d’écrire de l’hypertexte• = système contenant des nœuds liés entre eux par des

liens• Un nœud = une unité minimale d’information

Page 4: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

HTML : les noeuds

<body>

<div style="background:#fff">

Voici mon contenu

</div>

</body>

Page 5: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

HTML : les noeuds

<body>

<div style="background:#fff">

Voici mon contenu

</div>

</body>

Markup

Page 6: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

HTML : les noeuds

<body>

<div style="background:#fff">

Voici mon contenu

</div>

</body>

Markup - Informations de style

Page 7: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

HTML : les noeuds

<body>

<div style="background:#fff">

Voici mon contenu

</div>

</body>

Markup - Informations de style – Contenu (= nœud)

Page 8: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

Evolution du HTML1989 :Création :- Du http- Des URL- Du HTML

1995 :W3CSpécificationsHTML 2.0

1994 :Netscape 0.9 1996 :

HTML 3.2… table !

1995 :HTML 4.0StylesScriptsObjectFrame

2000 :xHTML

2006 :Mort de xHTML

2007 :Nouveau groupe de travailHTML5

Page 9: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

Un langage pour les gouverner tous

16 employés de Microsoft dont 1 Chairman (Paul Cotton)

17 membres de la Fondation Mozilla

11 employés d'Apple dont 1 Chairman (Maciej Stachoviak)

19 employés d'Opéra

14 employés de Google

Page 10: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

Un mot sur le WHATWH

Spécification « concurrente » au HTML5

Non officiel

Principaux soutiens : Mozilla, Opera et Apple

Libre, ouverte

S’oppose à la lenteur et au fonctionnement du groupe de travail HTML5

Mais lui fait des propositions (souvent acceptées)

Page 11: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

HTML5, les nouvelles balises

Page 12: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

12

HTML5 : les nouvelles balises

Structure de page web :

<header> <nav> <section> <article> <aside> <footer>

<header><nav>

<section>

<section>

<footer>

<article>

<article>

<aside>

Page 13: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

13

HTML5 : les nouvelles balises

Balises pour webapplication : <list> <datalist> <detail> <summary> <meter> <progress>}Barre de progression

}Listes déroulantes

Page 14: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

14

HTML5 : les nouvelles balises

Les attributs nouveaux du champ texte <input> : required type=’’email’’ type=’’date’’ type=’’range’’ type=’’search’’ type=’’tel’’ type=’’number’’

type=’’color’’ placeholder

Page 15: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

Les Framework JS

Page 16: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

La philosophie

Raccourcir la syntaxe

Cross-browser

Améliorer, POO-iser

Plugins

Mais

S’éloignent parfois de l’esprit JS

Peuvent devenir usine à gaz exemple

Page 17: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

Les plus connus

Page 18: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

Les plus connus

Page 19: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

Les mobiles

XUI

Page 20: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

Ceux qui vont encore plus loinCelui

• Philosophie M-V-VM• Data binding• Utilisation complète des attributs HTML5

Page 21: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

Démo jQuery

Les sélecteurs simples

Les sélecteurs complexes

Les animations

La manipulation de CSS

Page 22: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

CSS3, ce qui est possible

Page 23: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

23

CSS3, ce qui est possible

Sélecteurs : :ntn-child(odd/even) :not(.class or #id or elem) :first-child :last-child input[type=’’text’’] div > div

Page 24: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

24

CSS3, ce qui est possible

Polices hébergées sur le serveur plus besoin d’utiliser une police présente sur tous les

ordinateurs toutes les polices sont acceptées

@font-face{font-family: 'Gotham';src: url(Gotham-

Black.otf);}

h1 { font: bold 90px 'Gotham';}

Page 25: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

25

CSS3, ce qui est possible

Apparence des éléments border-radius : Wpx Xpx Ypx Zpx transparence : rgba(x,y,z,∝) background-size background multiple :

background: url(image1), url(image2) text-shadow box-shadow transitions

Page 26: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

Mobilité et webapp

Page 27: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

27

Mobilité et webapp

Géolocalisation possibilité d’utiliser le

GPS de l’appareil demande de

confirmation utilisation de l’API

Google Maps JS affichage de la position

de l’utilisateur

<script src="http://maps.googleapis.com/maps/api/js?sensor=false"></script><script type=’’text/javascript’’>function initialize() {

if (navigator.geolocation) {

navigator.geolocation.getCurrentPosition(onSuccess, onError, {

enableHighAccuracy: true,

timeout: 20000,

maximumAge: 120000});

}}</script>

Page 28: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

28

Mobilité et webapp

Création d’une webapp intégration sur l’écran d’accueil de l’appareil utilisation d’une image pour l’icône utilisation d’une image pour le splashscreen possibilité de cacher l’interface du navigateur web rendu de l’application quasi natif

<link rel="apple-touch-icon" href="icon.png"/><link rel="apple-touch-startup-image" href="default.png" /><meta name="apple-mobile-web-app-capable" content="yes" /><meta name="apple-mobile-web-app-status-bar-style" content="black" />

Page 29: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

29

Mobilité et webapp

Champs textes spéciaux :

Page 30: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

HTML5 et multimedia

Page 31: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

31

HTML5 et multimedia

Images utilisation de nouvelles balises en plus de l’images :

<figure><img src=’’mon_image.jpg’’><figcaption>

Texte de légende de l’images

</figcaption></figure>

Page 32: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

32

HTML5 et multimedia

Audio balise <audio> prévue à

cet effet prévoir les fichiers :

.ogg (Opera, Firefox) .mp3 (Chrome, Safari)

ajouter les types : type=’’audio/ogg’’ type=’’audio/mpeg’’

player html5 dans chaque navigateur web compatible

possibilité d’options :

<audio controls="controls" preload="auto" autobuffer="autobuffer" loop="loop">

<source src="audio.m4a” type=’’audio/mpeg’’>

<source src="audio.mp3” type=’’audio/mpeg’’>

</audio>

Page 33: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

33

HTML5 et multimedia

Vidéo balise <video> prévue

à cet effet prévoir les fichiers :

.ogg (Opera, Firefox) .mp4 (Chrome,

Safari) ajouter les types :

type=’’video/ogg’’ type=’’video/mp4’’

player html5 dans chaque navigateur web compatible

possibilité d’options :

<video width="980px" height="551.25px" controls="controls" autobuffer="autobuffer" loop="loop" class="shown" poster="poster.png">

<source src="video.m4v” type=’’video/mp4’’>

</video>

Page 34: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

Canvas, dessin et animation

Page 35: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

Définition

Element du DOM

Effectue des rendus DYNAMIQUES d’images

Ne produit donc RIEN seul

Nécessite d’accéder à l’élément et de le modifier à la volée

Utilisable en dernier ressort

Introduit par Apple

Standardisé par WHATWG

Page 36: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

Procédure

Créer le CANVAS en HTML

Définir ses dimensions en HTML

Définir son style en CSS

(Créer un raccourcis vers l’élément)

(Créer un raccourcis vers son contexte)

Dessiner ou

Placer une ressources et l’animer

Page 38: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

Le temps réel• Ecrire côté serveur

en Javascript• Le GWT du non-

barbu• Performances• DOM parsingRequête basique HTTP Hello en TCP

Page 39: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

Framework jeux

Centré sur l’animation

Léger

Rapide à mettre en place

Laisse le contrôle sur le code

Page 40: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

Framework jeux

Fonctionne avec un éditeur

Permet l’export pour iOS sans passer par Safari

Structure du code semi-OO très bien faite

Animations et effets basiques pré-développés

Page 41: Codedarmor 2012 - 06/03 - HTML5, CSS3 et Javascript

Framework jeux

Complexe mais extrêmement performant

Capable de faire du temps réel

100% intégré à Facebook