8. PARFOIS
Le recense
Certaines sont
à appréhender que
.
La est simple
alors que certaines
comme sont
à comprendre.
9. OFFLINE & STOCKAGE
Des applications qui démarrent plus vite et qui
fonctionnent même sans connexion Internet
APPCACHE
APPCACHE
INDEXEDDB
INDEXEDDB
LOCAL STORAGE
LOCAL STORAGE
}
FILE API
10. APP CACHE
Stockage en fonction d’une liste de fichiers
dans un fichier de configuration : Manifest
Permet de stocker une partie du site sur le
poste client
Les éléments statiques (JS/CSS/Images)
Les éléments nécessaires à l’application en offline
Une « notification » informe l’utilisateur
qu’une nouvelle version de la WebApp est
disponible
11. LOCALSTORAGE
Permet de stocker des données localement
Accessible par domaine
Un remplacement des cookies
Une espace de stockage d’environ 5MB
Le client seul peut accéder aux données
Plus sûr que les cookies
Stockage de « string » ou d’objets
« simples »
12. INDEXED DB
Création d’une base de donnée locale
Zone de stockage dédiée
Format JSON
Sans syntaxe SQL
Un fonctionnement asynchrone afin de
préserver la fluidité de l’interface.
Stockage d’objets complexes
13. LIMITES & USAGES
APP CACHE LOCALSTORAGE INDEXED DB
STOCKAGE DE
MISE EN CACHE STOCKAGE
DONNÉES ENTRE
D’ÉLÉMENTS STRUCTURÉ
SESSIONS
OPTIMISATION DU STOCKAGE DE
REMPLACEMENT
CHARGEMENT DES DONNÉES
DES COOKIES
PAGES COMPLEXES
CONFIGURATION
STOCKAGE TEMPS D’ACCÈS +
DES PAGES À
D’OBJETS SIMPLES LONGS (> 300ms)
CACHER
SUPPRESSION
CACHE PAR MODIF INCOMPATIBLE iOS
MANIFEST
14. FILE API
Lire les fichiers locaux
Upload de fichiers depuis le contrôle « Parcourir… »
natif
Accessible aussi par Drag’n’Drop depuis le bureau
Lecture des informations de fichiers locaux
Accès aux informations binaires (Ex: Exif des images)
Écrire des fichiers localement
Traitement d’images et de fichiers
15. CONNECTIVITÉ
Des sites Web qui « écoutent » le serveur, des
applications multi-utilisateurs, du push
WEB SOCKETS
SERVER-SENT EVENTS
16. SERVER-SENT EVENTS
API Javascript
Basé sur le protocole HTTP
Communication uni-directionnelle entre le
serveur et le client
Reconnexion automatique
Événements personalisés
17. WEB SOCKETS
Protocole + API Javascript
Communication bi-directionnelle entre le
client et le serveur
18. SERVER-SENT
WEBSOCKETS
EVENTS
MISE À JOUR DE STATUTS JEUX MULTI-JOUEURS
NOTIFICATIONS CHATS EN TEMPS RÉEL
MISE À JOUR DE STOCK
MESSAGERIE
PRODUITS
TÉLÉCOMMANDE ENTRE
DEVICES
19. PERFORMANCE
Des sites Web plus rapides et plus
dynamiques grâce à des nouvelles techniques
et technologies
Vos utilisateurs ne devraient jamais attendre.
WEB WORKERS
XMLHTTPREQUEST 2
20. WEB WORKERS
Script exécuté en tâche de fond
Aucune interférence avec l’interface
Permet à la page de ne pas se bloquer
pendant l’exécution de lourdes tâches de
fond
Communication avec le Worker via des
évènements
Possibilité pour plusieurs scripts de partager
un worker : SharedWorkers
Le script ne peut pas interagir avec le DOM
21. XMLHTTPREQUEST 2
Permet les requêtes cross-domain
Prévoit des évènements de progression de
transferts
Supporte l’upload et le download de
données binaires
Permet de travailler de concert avec
d’autres nouveautés telles que File API /
Web Audio API
22. SÉMANTIQUE
Plus de balises pour plus de sens
Plus de sens pour les utilisateurs mais aussi
pour Google
« Notre travail, notre vie entière sont une question de sémantique, parce que les
mots sont les outils avec lesquels nous travaillons, le matériel à partir duquel les
lois sont faites, à partir de laquelle la Constitution a été écrite. Tout dépend de
notre compréhension de ces mots. »
(Felix Frankfurter / Avocat)
23. SÉMANTIQUE
Des nouvelles balises HTML5 :
Header – Footer – Aside – Section – Nav
Article – Time – Figure
Microdatas
Microformats
RDFa
WebForms : Des nouveaux éléments de
formulaires
26. UN PEU DE CODE
Microformats :
Sans microformats : Avec microformat hCard :
<address> <address class="vcard">
<p> <p>
Jean Bout<br/> <span class="fn">Jean Bout</span><br/>
<span class="org">Société Exemple</span><br/>
Société Exemple<br/>
<span class="tel">604-555-1234</span><br/>
604-555-1234<br/> <a class="url"
<a href="http://exemple.com/">http://exemple.com/</a>
href="http://exemple.com/">http://exemple.com/</a </p>
> </address>
</p>
</address>
27. WEBFORMS
Des nouveaux contrôles
Des attributs prenant en charge les
nouveaux périphériques
Une prise en charge de la validation côté
client
Des nouveautés adaptées aux besoins des
développeurs
28. NOUVEAUX CONTRÔLES
INPUT
TEL EMAIL RANGE
URL SEARCH DATE/TIME
NUMBER COLOR MONTH/WEEK
AUTRES
PROGRESS OUTPUT KEYGEN
29. NOUVEAUX ATTRIBUTS
FORM INPUT
AUTOCOMPLETE AUTOCOMPLETE PLACEHOLDER MIN
NOVALIDATE AUTOFOCUS REQUIRED MAX
PATTERN STEP
30. STYLES CSS3
Sans sacrifier la structure et la performances
de vos pages, la CSS3 vous offre enfin une
vaste gamme de styles et d’effets.
31. Rem (root em) Media Queries Border-radius Border images Transforms
Font-face Table display Word-wrap Animation Inline-block
Calc() as CSS min/max-
Counters Box-shadows 3D Transforms
unit value width/height
Multiple
2.1 selectors Colors Gradients Hyphenation
Backgrounds
Generated object-fit/object-
Opacity Regions position:fixed
Content position
Background- Multiple Column
Text-Overflow Grid Layout Masks
image options Layout
Text-shadows Text-stroke
32. Rem (root em) Media Queries Border-radius Border images Transforms
Font-face Table display Word-wrap Animation Inline-block
Calc() as CSS min/max-
Counters Box-shadows 3D Transforms
unit value width/height
Multiple
2.1 selectors Colors Gradients Hyphenation
Backgrounds
Generated object-fit/object-
Opacity Regions position:fixed
Content position
Background- Multiple Column
Text-Overflow Grid Layout Masks
image options Layout
Text-shadows Text-stroke
33. FONT-FACE
Toutes les polices sur votre site
Compatibilité multi-périphériques
Fonctionnement natif
36. GRID LAYOUT
Nouvelle solution de positionnement des
éléments
Grille virtuelle avec colonnes et lignes
Adapté à la problématique de Responsive
Webdesign
Positionnement intuitif
Permet un allégement substantiel du DOM
38. NOUVEAUX SÉLECTEURS CSS
Des éléments atteints plus vite, sans
multiplier les classes CSS
Un code HTML allégé et plus
compréhensible
Des feuilles de style optimisées
Une logique de rendu déplacée du back et
du JS vers la CSS
39. CÔTÉ CODE
Des CSS moins complexes avec une nouvelle logique
li { li {
background:#0990b2; background:#0990b2;
margin-bottom:5px; margin-bottom:5px;
padding:2px 0 2px 5px; padding:2px 0 2px 5px;
border-bottom:2px solid #ffec19; border-bottom:2px solid #ffec19;
list-style:none; list-style:none;
} }
li.first { li:first-child {
text-transform:uppercase; text-transform:uppercase;
} }
li.odd { li:nth-child(odd){
background:#12a6cc; background:#12a6cc;
} }
li.last { li:last-of-type {
border:none; border:none;
} }
li.oneBeforeLast { li:nth-last-of-type(2) {
margin-left:15px; margin-left:15px;
} }
li li {
background:#b31048; li li {
} background:#b31048;
li li.odd { }
background:#ff0057; li li:nth-child(odd) {
} background:#ff0057;
li.open { }
padding-right:5px; li.open {
} padding-right:5px;
li.afterOpen { }
margin-top: 15px; li.open + li {
} margin-top: 15px;
li.open .firstLetter { }
color:#000; li.open::first-letter {
width:50px; color:#000;
text-decoration:underline; display:block;
} width:50px;
text-decoration:underline;
}
41. TRANSITIONS / ANIMATIONS
Possibilité de mettre des transitions entre
chaque propriété CSS
Le rendu n’est plus à la charge du
JavaScript
Des animations plus fluides
Des interfaces plus riches
42. TRANSFORMATIONS
Transformations 2D et 3D
Interpolations
Les transformations peuvent être faites avec
des transitions/animations
Permet d’éviter d’utiliser des images pour
créer des formes géométriques
43. MÉDIAS
Des médias qui vivent en harmonie avec vos
pages Web, le tout sans plugins
VIDÉO
AUDIO
44. BALISE VIDÉO
Une nouvelle balise HTML5
Une API permettant de contrôler la vidéo en
Javascript
Possibilité de récupérer le Flux vidéo dans
un canvas
45. BALISE AUDIO
Une nouvelle balise HTML5
Une API permettant de contrôler le flux
audio en Javascript
Possibilité de récupérer le Flux audio et de
l ’analyser en Javascript
Fonctionnement identique à la balise Vidéo
46. LIMITES / RESTRICTIONS
Pas de DRM
Difficile d’implémenter du streaming
Multiplicité des formats / navigateur
OGG
MP4
WEBM
47. PORTABILITÉ
Un site, une application, pour tous, partout…
MEDIA-QUERIES
ORIENTATION /
LOCALISATION
ACCÈS AUX DONNÉES DES
PÉRIPHÉRIQUES
48. MEDIA-QUERIES
Application de feuilles de styles en fonction
des périphériques
Adapter dynamiquement le design avec
CSS aux différents supports
1 site avec 1 contenu pour tous les écrans
L’utilisation des CSS média-queries permet
le
50. ORIENTATION ET LOCALISATION
Accès aux informations de géolocalisation
Par IP pour les browsers d’ordinateurs de bureau
Par IP + triangulation + GPS pour les mobiles et
tablettes
Accès aux données d’accélération et
d’orientation pour les périphériques le
supportant
Boussole
Accéléromètre
Gyroscope
51. DEVICE API
L’API prévoit un accès (avec l’accord de
l’utilisateur) aux éléments suivants :
Tâches
Contacts
Rendez-vous
Appareil Photo
Microphone
Service de messagerie
Journal d’appel
Informations système
Aucun support pour le moment
52. EFFETS & 3D
Vous êtes désormais sûrs de surprendre vos
utilisateurs avec des visuels et animations
rendus nativement par le navigateur
CANVAS
SVG
WEB GL
53. CANVAS
Surface de pixels contrôlée par JS
Permet de dessiner dans une image
Des APIs JS de dessin à disposition
Courbes de Bézier
Lignes
Etc…
Boîte noire, pas d’accessibilité
54. SVG
Dessiner en 2D vectorielle via XML
Accès aux éléments SVG depuis le DOM
Les éléments SVG peuvent être stylés par
CSS
SVG peut être chargé depuis un fichier
externe ou en ligne dans un document
HTML
L’arbre des données est conservé en
mémoire
56. WEB GL
Utiliser le standard Open GL depuis
Javascript
Permet de faire de la 3D
Le rendu est obtenu grâce à l’accéleration
matérielle de la carte graphique
Beaucoup de cartes graphiques sont
« blacklistées » à cause de défaillances de
pilotes
Peu de projets actuellement
57. FLASH N’EST PAS MORT
JEUX 3D
VIDÉOS AVEC DRM OU PUB
3D FLASH
APPLICATIONS LOURDES
VIDÉO & SON
HTML5
SITES MOBILES
SITES WEB APPLICATIFS
HTML
SITES ECOMMERCE & B2B
58. HTML5
Un « buzzword » qui prend tout son sens tant
les nouveautés sont nombreuses
Une norme basée sur l’usage
Aucune limite du HTML5 ne semble
insurmontable
De nouvelles possibilités pour des interfaces
innovantes
Une voie grande ouverte vers l’applicatif
Le HTML5 est en perpétuelle évolution
« Le HTML5 n’est pas encore prêt, ne le sera jamais (et c’est une bonne
chose) »
(Christian Heilmann / Yahoo)
59. LES CHALLENGES
Des développeurs sensibilisés et qui ont
l’expérience du support
Motion design
3D
Des IDE utilisables et plus performants
Système de timeline
Génération propre de CSS multi-navigateurs (préfixes)
Frameworks HTML5 à tester et éprouver
Joshfire
…
63. LE SUPPORT DU HTML5 DANS LE MONDE
Très bon
Très bon support
support 50.81
62.02
Bon support
26.48
Bon support
26.48 Mauvais
Mauvais Support
Support 22.71
11.5
FRANCE MONDE
« Votre responsabilité est de ne plus développer pour IE6 »
(Daniel Glazman / W3C)