Html5: Une Référence Pour Le Développeur Web [1st edition]
9782212129823, 2212129823
Présentation HTML5 intègre enfin dans sa conception l'architecture à trois piliers qu'est HTML pour la structu
233
23
5MB
French
Pages 680 pages
Year 2011
Report DMCA / Copyright
DOWNLOAD PDF FILE
Table of contents :
HTML 5......Page 1
Préface......Page 4
Avertissement et conventions......Page 7
Codes source......Page 8
À propos de l’auteur......Page 9
Remerciements......Page 10
Table des matières......Page 11
Chapitre 4......Page 12
Chapitre 6......Page 14
Chapitre 8......Page 15
Chapitre 11......Page 16
Chapitre 16......Page 17
Chapitre 20......Page 18
Annexe C......Page 19
Une brève histoire du Web et de ses standards......Page 21
Un successeur pour HTML 4 et XHTML......Page 22
Une maturation rigoureuse.........Page 28
… mais peu véloce......Page 29
Le rôle du WhatWG......Page 30
Les fondements de l’évolution......Page 31
En quoi consiste réellement HTML 5 ?......Page 32
Différences depuis HTML 4.01 et XHTML 1.x......Page 33
HTML 5 = HTML + JavaScript + CSS (3) ?......Page 34
Pourquoi des standards pour le Web ?......Page 35
HTML en seconde langue......Page 37
Rappel sur les balises......Page 39
Imbrications et types de contenu......Page 40
Structure générale d’un document HTML......Page 42
Attributs......Page 43
Les commentaires......Page 44
L’encodage des caractères......Page 45
Le type MIME......Page 46
Comment le navigateur détermine-t-il l’encodage des caractères et le type MIME ?......Page 47
Forme XHTML......Page 48
Du vrai XHTML 5......Page 49
Pour éditer......Page 52
Pour tester et déboguer......Page 53
Mozilla Firefox......Page 54
Google Chrome......Page 55
Opera......Page 56
Consoles JavaScript pour les API HTML 5......Page 57
La validation......Page 58
Rappels sur les styles CSS......Page 59
Rappels sur JavaScript......Page 62
Où placer ?......Page 63
Choisir un hébergeur web......Page 64
Choisir un langage serveur et un système de gestion de contenu......Page 65
Le protocole HTTP......Page 67
Requêtes et en-têtes......Page 68
Optimisations en vue des performances......Page 71
Navigateurs et support......Page 73
Panorama des navigateurs web et moteurs de rendu......Page 74
Prise en charge de HTML 5......Page 75
Modernizr......Page 76
html5shim (ou html5shiv)......Page 78
Frameworks HTML......Page 79
Éléments et attributs HTML 5......Page 83
Modèles de contenu......Page 85
Le doctype avant tout......Page 86
Rappel des précédents doctypes......Page 87
......Page 88
manifest......Page 89
......Page 90
......Page 92
......Page 93
......Page 94
......Page 95
......Page 96
......Page 97
media......Page 99
......Page 100
......Page 101
......Page 103
href et hreflang......Page 104
id et ancres......Page 106
target......Page 107
Liens et blocs......Page 108
Sections et titres......Page 109
Le cas Internet Explorer......Page 113
Le cas Internet Explorer sans JavaScript......Page 116
......Page 117
......Page 119
......Page 120
......Page 122
......Page 123
......Page 124
à ......Page 126
Hiérarchie des éléments de sections et outline......Page 128
......Page 132
Listes......Page 133
......Page 134
......Page 135
......Page 136
......Page 137
......Page 139
......Page 140
......Page 141
......Page 143
......Page 144
......Page 145
......Page 147
......Page 148
......Page 149
......Page 150
......Page 151
......Page 152
......Page 153
......Page 154
datetime......Page 155
pubdate......Page 156
......Page 157
......Page 158
......Page 159
......Page 160
......Page 161
......Page 162
......Page 163
......Page 164
......Page 165
......Page 166
......Page 167
Formats de compression d’images......Page 168
Bref comparatif visuel......Page 170
Usage des images en HTML......Page 171
src......Page 172
alt......Page 173
width, height......Page 175
ismap......Page 176
Liens sur images......Page 177
Positionnement des images......Page 178
......Page 179
......Page 181
......Page 183
......Page 186
......Page 187
width, height......Page 188
sandbox......Page 189
srcdoc......Page 190
......Page 191
Imbrications avec et éléments média......Page 193
......Page 194
Le cas de Flash......Page 196
......Page 197
......Page 198
......Page 199
......Page 200
......Page 203
......Page 204
......Page 206
......Page 207
......Page 209
......Page 210
......Page 211
......Page 213
type......Page 215
label......Page 216
......Page 217
......Page 219
......Page 222
Script externe à la page HTML......Page 224
......Page 225
Attributs HTML globaux......Page 226
accesskey......Page 227
class......Page 228
contextmenu......Page 229
contenteditable......Page 230
data-......Page 231
dir......Page 232
hidden......Page 233
id......Page 234
lang......Page 235
tabindex......Page 236
title......Page 238
spellcheck......Page 239
style......Page 240
Relations des liens......Page 241
nofollow......Page 242
noreferrer......Page 243
prefetch......Page 244
Attributs événements......Page 245
Les formulaires (Web Forms)......Page 251
et ses variantes......Page 253
text......Page 255
tel......Page 256
url......Page 258
email......Page 259
search......Page 260
hidden......Page 261
radio......Page 262
checkbox......Page 263
reset......Page 264
image......Page 265
file......Page 266
date......Page 269
datetime......Page 270
datetime-local......Page 271
month......Page 272
week......Page 273
range......Page 274
color......Page 275
......Page 276
......Page 277
......Page 278
......Page 279
......Page 280
......Page 281
......Page 282
......Page 284
......Page 286
......Page 288
......Page 290
......Page 292
......Page 293
......Page 294
Attributs communs pour les éléments de formulaire......Page 296
placeholder......Page 298
multiple......Page 299
min, max, step......Page 300
Une touche de style......Page 301
Prise en charge......Page 303
Les microformats (microdata)......Page 305
Principe des microformats : vers le Web sémantique......Page 306
Les prémices......Page 308
Microdata à la rescousse......Page 310
itemtype......Page 311
Vocabulaires......Page 312
itemprop......Page 314
itemid......Page 315
itemref......Page 316
API DOM Microdata......Page 317
document.getItems()......Page 318
itemType, itemRef, itemId......Page 319
itemValue......Page 320
Rich Snippets......Page 322
Audio et Vidéo......Page 325
Conteneurs, codecs, licences et support......Page 327
Theora......Page 329
H.264......Page 330
MP3 (Mpeg-1 Audio Layer 3)......Page 331
Vorbis......Page 332
Les balises media......Page 333
......Page 335
......Page 336
......Page 337
Attributs pour ......Page 338
poster......Page 339
preload......Page 340
Interface de contrôle et événements......Page 341
Surveiller les événements......Page 343
Créer une interface graphique personnalisée......Page 345
Détecter les erreurs de lecture......Page 350
Détection du support avec canPlayType()......Page 351
Solution de repli avec Flash et Java......Page 353
Plein écran......Page 354
Aller plus loin avec les API......Page 355
Prise en charge de et par les navigateurs : comment choisir ?......Page 356
Librairies et lecteurs......Page 358
Dessin avec Canvas......Page 359
L’élément ......Page 361
Coordonnées......Page 362
Formes géométriques......Page 364
Chemins......Page 365
beginPath() et closePath()......Page 366
moveTo() et lineTo()......Page 367
rect()......Page 368
arcTo()......Page 369
arc()......Page 370
bezierCurveTo()......Page 371
quadraticCurveTo()......Page 372
Styles de traits, remplissages et couleurs......Page 373
Dégradés......Page 374
Transformations et états du contexte......Page 376
save() et restore()......Page 378
Images......Page 380
Pixels......Page 382
Créer des pixels......Page 384
Lire des pixels......Page 385
Modifier des pixels......Page 387
Motifs et sprites......Page 390
Texte......Page 395
Ombrages......Page 397
Transparence générale......Page 399
Compositions......Page 400
Masques......Page 402
Contrôle clavier et souris......Page 405
Souris......Page 406
Clavier......Page 409
Animation et jeux......Page 411
Jeux......Page 414
Vidéo et audio......Page 415
Prise en charge......Page 417
Librairies......Page 419
Et la 3D ?......Page 420
Et le graphisme vectoriel (SVG) ?......Page 421
Création au format SVG......Page 422
Inclusion HTML......Page 423
Syntaxe......Page 425
Alternatives et librairies......Page 426
Géolocalisation......Page 427
Principe......Page 429
Les mains dans le code......Page 430
Déclencher la localisation......Page 431
Travailler avec la position et les coordonnées......Page 432
Gestion des erreurs......Page 433
Options supplémentaires......Page 434
Utiliser une carte......Page 436
Prise en charge de l’API Geolocation par les navigateurs......Page 438
Alternative avec geo-location-javascript......Page 439
Interactions avec les fichiers (File API)......Page 441
Principe......Page 442
Fonctionnement......Page 443
Événement onchange......Page 444
Recueillir les informations des fichiers sélectionnés......Page 445
Lire des fichiers avec FileReader......Page 446
Utiliser Canvas......Page 450
CreateObjectURL......Page 452
Upload simple avec PHP......Page 453
Upload avec XMLHttpRequest 2......Page 454
FormData......Page 456
Drag & Drop......Page 459
Prise en charge......Page 460
Gestion du glisser-déposer (Drag & Drop)......Page 461
Principe......Page 462
Événements et attributs mis en œuvre......Page 463
L’attribut draggable......Page 464
Un zeste de CSS......Page 465
Déposer !......Page 467
L’attribut dropzone......Page 468
L’événement dragover......Page 469
L’interface DataTransfer......Page 471
effectAllowed et dropEffect......Page 472
setData()......Page 473
L’événement drop et getData()......Page 474
Script complet......Page 476
Dépôt depuis le système (drag-in)......Page 478
En symbiose avec FileReader et Data URI......Page 480
Dépose d’éléments hors du navigateur (drag-out)......Page 484
Prise en charge du glisser-déposer......Page 486
Événements envoyés par le serveur (« push »)......Page 487
Push-toi, j’arrive......Page 488
Côté client (navigateur)......Page 489
Côté serveur......Page 490
Mise en place d’un flux continu......Page 491
Syntaxe des messages source......Page 495
data......Page 496
id......Page 497
event......Page 499
retry......Page 500
Utiliser JSON......Page 501
Prise en charge......Page 502
Échange d’informations entre documents (Web Messaging)......Page 503
Fonctionnement......Page 504
Vérification du contenu......Page 508
Données transférées et JSON......Page 509
Source et réponse......Page 511
Prise en charge......Page 514
Communication en temps réel (Web Sockets)......Page 515
phpwebsocket......Page 517
Personnalisation......Page 518
Évolution......Page 519
Côté navigateur......Page 520
Application HTML......Page 521
Envoyer des données......Page 524
Fermer la connexion......Page 525
Prise en charge......Page 527
Stockage des données locales (Web Storage)......Page 529
Local Storage......Page 531
Stockage, lecture, suppression......Page 532
Un compteur de visites avec localStorage......Page 534
Surveiller le dépassement de quota......Page 535
Un soupçon de JSON......Page 536
Stockage à intervalles réguliers......Page 539
Événements......Page 540
Alternatives à Web Storage......Page 541
Bases de données (Indexed Database & Web SQL Database)......Page 543
Philosophie......Page 545
Ouvrir une base et créer un catalogue......Page 547
Insérer des données dans une transaction......Page 550
Afficher le contenu......Page 552
Utiliser un index......Page 554
Perspectives......Page 556
Prise en charge......Page 557
Ouvrir une base......Page 558
Créer une table......Page 559
Exploiter les résultats......Page 560
Perspectives......Page 561
Prise en charge......Page 562
Applications web hors ligne......Page 563
Principe......Page 564
En ligne ou hors ligne ?......Page 565
Structure complète......Page 567
Liste des fichiers à mettre en cache (manifeste)......Page 568
Syntaxe pour le manifeste......Page 569
La section NETWORK......Page 570
La section FALLBACK......Page 571
Élaboration et test du cache sous Chrome et Firefox......Page 572
L’API Application cache......Page 574
Événements......Page 575
Méthodes......Page 577
Une application hors ligne......Page 578
Prise en charge......Page 580
Historique de navigation......Page 581
History......Page 582
Location......Page 583
Modification dynamique de l’historique......Page 584
pushState()......Page 585
The king of popstate......Page 586
Simulation......Page 587
Cas pratique......Page 588
Réécriture d’adresse......Page 594
Les ancres et l’événement hashchange......Page 595
Prise en charge......Page 596
JavaScript en (multi)tâche de fond : les Web Workers......Page 597
Principe......Page 599
Initialisation......Page 600
Communication......Page 601
Gestion des erreurs......Page 603
Fonctions complémentaires......Page 604
Blob à la rescousse......Page 605
Prise en charge......Page 606
JavaScript, le DOM et l’API Selectors......Page 607
Variables......Page 609
Types simples......Page 610
Objets......Page 611
Fonctions......Page 612
Boucles......Page 613
getElementById()......Page 614
Propriétés et méthodes DOM......Page 615
createElement()......Page 616
Méthodes pour formulaires......Page 617
Gestionnaires d’événements......Page 618
Prise en charge......Page 620
Quid des frameworks JavaScript et de Flash ?......Page 621
Perspectives d’avenir......Page 622
Fonctionnalités obsolètes......Page 625
Attributs......Page 626
Feuilles de style CSS......Page 629
Principe général......Page 631
Sélecteurs......Page 632
Propriétés......Page 633
Pseudo-classes et pseudo-éléments......Page 639
Règles @......Page 640
Media queries......Page 641
Accessibilité et ARIA......Page 643
Qu’est-ce que l’accessibilité du Web ?......Page 644
HTML sémantique......Page 647
WAI, WCAG et ARIA......Page 648
Les rôles et propriétés de WAI-ARIA......Page 651
Points de repère (landmark roles)......Page 652
Structure de document......Page 654
Composants graphiques (widgets)......Page 655
Propriétés et états avec les attributs aria-*......Page 658
Globaux......Page 659
Contrôles d’interface......Page 660
Il y a de la vie sur cette planète......Page 663
Relations......Page 665
Valider et tester......Page 667
L’aide de JavaScript......Page 669
C......Page 671
E......Page 672
H......Page 673
P......Page 674
Y......Page 675