Top Banner
Dynamisez vos sites web avec Javascript ! Par Johann Pardanaud (Nesk) et Sébastien de la Marck (Thunderseb) www.openclassrooms.com Licence Creative Commons 6 2.0 Dernière mise à jour le 9/12/2012
377
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • Dynamisez vos sitesweb avec Javascript !

    Par Johann Pardanaud (Nesk) et Sbastien de la Marck (Thunderseb)

    www.openclassrooms.com

    Licence Creative Commons 6 2.0Dernire mise jour le 9/12/2012

  • Sommaire 2Sommaire ........................................................................................................................................... 6Lire aussi ............................................................................................................................................ 8 Dynamisez vos sites web avec Javascript ! ....................................................................................... 9Partie 1 : Les bases du Javascript ......................................................................................................

    10Introduction au Javascript ............................................................................................................................................... 10Qu'est-ce que le Javascript ? .................................................................................................................................................................................... 10Qu'est-ce que c'est ? ................................................................................................................................................................................................. 11Le Javascript, le langage de scripts .......................................................................................................................................................................... 12Le Javascript, pas que le Web .................................................................................................................................................................................. 12Petit historique du langage ........................................................................................................................................................................................ 13L'ECMAScript et ses drivs ..................................................................................................................................................................................... 13Les versions du Javascript ........................................................................................................................................................................................ 13Un logo inconnu ........................................................................................................................................................................................................

    15Premiers pas en Javascript ............................................................................................................................................. 15Afficher une bote de dialogue ................................................................................................................................................................................... 15Le Hello World! .......................................................................................................................................................................................................... 16Les nouveauts ......................................................................................................................................................................................................... 16La bote de dialogue alert() ....................................................................................................................................................................................... 16La syntaxe du Javascript ........................................................................................................................................................................................... 16Les instructions ......................................................................................................................................................................................................... 17Les espaces .............................................................................................................................................................................................................. 18Les commentaires ..................................................................................................................................................................................................... 19Les fonctions ............................................................................................................................................................................................................. 19O placer le code dans la page ................................................................................................................................................................................ 20Le Javascript dans la page ................................................................................................................................................................................. 20Le Javascript externe ................................................................................................................................................................................................ 21Positionner l'lment ................................................................................................................................................................................... 22Quelques aides .........................................................................................................................................................................................................

    24Les variables ................................................................................................................................................................... 24Qu'est-ce qu'une variable ? ....................................................................................................................................................................................... 24Dclarer une variable ................................................................................................................................................................................................ 25Les types de variables ............................................................................................................................................................................................... 26Tester l'existence de variables avec typeof ............................................................................................................................................................... 27Les oprateurs arithmtiques .................................................................................................................................................................................... 27Quelques calculs simples .......................................................................................................................................................................................... 27Simplifier encore plus vos calculs ............................................................................................................................................................................. 28Initiation la concatnation et la conversion des types ......................................................................................................................................... 28La concatnation ....................................................................................................................................................................................................... 29Interagir avec l'utilisateur ........................................................................................................................................................................................... 30Convertir une chane de caractres en nombre ........................................................................................................................................................ 31Convertir un nombre en chane de caractres ..........................................................................................................................................................

    32Les conditions ................................................................................................................................................................. 32La base de toute condition : les boolens ................................................................................................................................................................. 32Les oprateurs de comparaison ................................................................................................................................................................................ 33Les oprateurs logiques ............................................................................................................................................................................................ 34Combiner les oprateurs ........................................................................................................................................................................................... 35La condition if else .............................................................................................................................................................................................. 35La structure if pour dire si .................................................................................................................................................................................... 36Petit intermde : la fonction confirm() ....................................................................................................................................................................... 36La structure else pour dire sinon ......................................................................................................................................................................... 37La structure else if pour dire sinon si .................................................................................................................................................................. 38La condition switch .............................................................................................................................................................................................. 40Les ternaires .............................................................................................................................................................................................................. 41Les conditions sur les variables ................................................................................................................................................................................ 41Tester l'existence de contenu d'une variable ............................................................................................................................................................. 42Le cas de l'oprateur OU .......................................................................................................................................................................................... 42Un petit exercice pour la forme ! ............................................................................................................................................................................... 42Prsentation de l'exercice ......................................................................................................................................................................................... 43Correction ..................................................................................................................................................................................................................

    44Les boucles ..................................................................................................................................................................... 45L'incrmentation ........................................................................................................................................................................................................ 45Le fonctionnement ..................................................................................................................................................................................................... 45L'ordre des oprateurs .............................................................................................................................................................................................. 46La boucle while .......................................................................................................................................................................................................... 47Rpter tant que .................................................................................................................................................................................................... 47Exemple pratique ...................................................................................................................................................................................................... 48Quelques amliorations ............................................................................................................................................................................................ 48La boucle do while ..................................................................................................................................................................................................... 49La boucle for .............................................................................................................................................................................................................. 49for, la boucle conue pour l'incrmentation ............................................................................................................................................................... 49Reprenons notre exemple .........................................................................................................................................................................................

    51Les fonctions ................................................................................................................................................................... 52Concevoir des fonctions ............................................................................................................................................................................................ 52Crer sa premire fonction ........................................................................................................................................................................................ 53Un exemple concret ..................................................................................................................................................................................................

    2/378

    www.openclassrooms.com

  • 54La porte des variables ............................................................................................................................................................................................. 54La porte des variables ............................................................................................................................................................................................. 55Les variables globales ............................................................................................................................................................................................... 55Les variables globales ? Avec modration ! .............................................................................................................................................................. 56Les arguments et les valeurs de retour ..................................................................................................................................................................... 56Les arguments .......................................................................................................................................................................................................... 60Les valeurs de retour ................................................................................................................................................................................................. 61Les fonctions anonymes ........................................................................................................................................................................................... 61Les fonctions anonymes : les bases ......................................................................................................................................................................... 62Retour sur l'utilisation des points-virgules ................................................................................................................................................................. 63Les fonctions anonymes : isoler son code ................................................................................................................................................................

    67Les objets et les tableaux ................................................................................................................................................ 67Introduction aux objets .............................................................................................................................................................................................. 67Que contiennent les objets ? ..................................................................................................................................................................................... 68Exemple d'utilisation .................................................................................................................................................................................................. 68Objets natifs dj rencontrs .................................................................................................................................................................................... 68Les tableaux .............................................................................................................................................................................................................. 69Les indices ................................................................................................................................................................................................................ 69Dclarer un tableau ................................................................................................................................................................................................... 70Rcuprer et modifier des valeurs ............................................................................................................................................................................ 70Oprations sur les tableaux ....................................................................................................................................................................................... 70Ajouter et supprimer des items ................................................................................................................................................................................. 71Chanes de caractres et tableaux ............................................................................................................................................................................ 71Parcourir un tableau .................................................................................................................................................................................................. 72Parcourir avec for ...................................................................................................................................................................................................... 72Attention la condition .............................................................................................................................................................................................. 73Les objets littraux .................................................................................................................................................................................................... 73La syntaxe d'un objet ................................................................................................................................................................................................ 74Accs aux items ........................................................................................................................................................................................................ 74Ajouter des items ...................................................................................................................................................................................................... 75Parcourir un objet avec for in .................................................................................................................................................................................... 75Utilisation des objets littraux .................................................................................................................................................................................... 76Exercice rcapitulatif ................................................................................................................................................................................................. 76nonc ...................................................................................................................................................................................................................... 76Correction ..................................................................................................................................................................................................................

    77TP : convertir un nombre en toutes lettres ...................................................................................................................... 78Prsentation de l'exercice ......................................................................................................................................................................................... 78La marche suivre .................................................................................................................................................................................................... 78L'orthographe des nombres ...................................................................................................................................................................................... 78Tester et convertir les nombres ................................................................................................................................................................................. 80Il est temps de se lancer ! ......................................................................................................................................................................................... 80Correction .................................................................................................................................................................................................................. 80Le corrig complet ..................................................................................................................................................................................................... 81Les explications ......................................................................................................................................................................................................... 88Conclusion ................................................................................................................................................................................................................

    88Partie 2 : Modeler vos pages Web .................................................................................................... 89Manipuler le code HTML (partie 1/2) ............................................................................................................................... 89Le Document Object Model ....................................................................................................................................................................................... 89Petit historique .......................................................................................................................................................................................................... 89L'objet window ........................................................................................................................................................................................................... 91Le document ............................................................................................................................................................................................................. 91Naviguer dans le document ...................................................................................................................................................................................... 91La structure DOM ...................................................................................................................................................................................................... 93Accder aux lments ............................................................................................................................................................................................... 94Accder aux lments grce aux technologies rcentes .......................................................................................................................................... 95L'hritage des proprits et des mthodes ............................................................................................................................................................... 96diter les lments HTML ......................................................................................................................................................................................... 96Les attributs ............................................................................................................................................................................................................... 98Le contenu : innerHTML ............................................................................................................................................................................................ 99innerText et textContent ............................................................................................................................................................................................ 99innerText ....................................................................................................................................................................................................................

    100textContent .............................................................................................................................................................................................................. 102Manipuler le code HTML (partie 2/2) ............................................................................................................................. 103Naviguer entre les nuds ....................................................................................................................................................................................... 103La proprit parentNode ......................................................................................................................................................................................... 103nodeType et nodeName .......................................................................................................................................................................................... 104Lister et parcourir des nuds enfants .................................................................................................................................................................... 107Attention aux nuds vides ...................................................................................................................................................................................... 108Crer et insrer des lments ................................................................................................................................................................................. 108Ajouter des lments HTML .................................................................................................................................................................................... 110Ajouter des nuds textuels ..................................................................................................................................................................................... 112Notions sur les rfrences ....................................................................................................................................................................................... 112Les rfrences ......................................................................................................................................................................................................... 113Cloner, remplacer, supprimer ............................................................................................................................................................................... 113Cloner un lment ................................................................................................................................................................................................... 114Remplacer un lment par un autre ........................................................................................................................................................................ 114Supprimer un lment ............................................................................................................................................................................................. 115Autres actions .......................................................................................................................................................................................................... 115Vrifier la prsence d'lments enfants .................................................................................................................................................................. 115Insrer la bonne place : insertBefore() ................................................................................................................................................................. 116Une bonne astuce : insertAfter() .............................................................................................................................................................................. 116Mini-TP : recrer une structure DOM .......................................................................................................................................................................

    Sommaire 3/378

    www.openclassrooms.com

  • 116Premier exercice ...................................................................................................................................................................................................... 118Deuxime exercice .................................................................................................................................................................................................. 120Troisime exercice .................................................................................................................................................................................................. 122Quatrime exercice ................................................................................................................................................................................................. 124Conclusion des TP ..................................................................................................................................................................................................

    125Les vnements ............................................................................................................................................................ 126Que sont les vnements ? .................................................................................................................................................................................... 126La thorie ................................................................................................................................................................................................................ 127La pratique .............................................................................................................................................................................................................. 129Les vnements au travers du DOM ....................................................................................................................................................................... 129Le DOM-0 ................................................................................................................................................................................................................ 130Le DOM-2 ................................................................................................................................................................................................................ 133Les phases de capture et de bouillonnement ......................................................................................................................................................... 134L'objet Event ............................................................................................................................................................................................................ 134Gnralits sur l'objet Event ................................................................................................................................................................................... 135Les fonctionnalits de l'objet Event ......................................................................................................................................................................... 141Rsoudre les problmes d'hritage des vnements ............................................................................................................................................. 141Le problme ............................................................................................................................................................................................................ 142La solution ...............................................................................................................................................................................................................

    146Les formulaires .............................................................................................................................................................. 146Les proprits .......................................................................................................................................................................................................... 146Une proprit classique : value ............................................................................................................................................................................... 146Les boolens avec disabled, checked et readonly .................................................................................................................................................. 147Les listes droulantes avec selectedIndex et options ............................................................................................................................................. 148Les mthodes et un retour sur quelques vnements ............................................................................................................................................ 148Les mthodes spcifiques l'lment ........................................................................................................................................................ 149La gestion du focus et de la slection ..................................................................................................................................................................... 149Explications sur l'vnement change ......................................................................................................................................................................

    151Manipuler le CSS .......................................................................................................................................................... 151diter les proprits CSS ........................................................................................................................................................................................ 151Quelques rappels sur le CSS .................................................................................................................................................................................. 151diter les styles CSS d'un lment ......................................................................................................................................................................... 153Rcuprer les proprits CSS ................................................................................................................................................................................. 153La fonction getComputedStyle() .............................................................................................................................................................................. 154Les proprits de type offset ................................................................................................................................................................................... 158Votre premier script interactif ! ................................................................................................................................................................................. 158Prsentation de l'exercice ....................................................................................................................................................................................... 159Correction ................................................................................................................................................................................................................

    163TP : un formulaire interactif ........................................................................................................................................... 164Prsentation de l'exercice ....................................................................................................................................................................................... 165Correction ................................................................................................................................................................................................................ 165Le corrig au grand complet : HTML, CSS et Javascript ........................................................................................................................................ 171Les explications .......................................................................................................................................................................................................

    176Partie 3 : Les objets : conception et utilisation ................................................................................ 177Les objets ...................................................................................................................................................................... 177Petite problmatique ............................................................................................................................................................................................... 178Objet constructeur ................................................................................................................................................................................................... 180Ajouter des mthodes ............................................................................................................................................................................................. 180Ajouter une mthode ............................................................................................................................................................................................... 182Ajouter des mthodes aux objets natifs .................................................................................................................................................................. 182Ajout de mthodes .................................................................................................................................................................................................. 184Remplacer des mthodes ....................................................................................................................................................................................... 184Limitations ............................................................................................................................................................................................................... 184Les namespaces ..................................................................................................................................................................................................... 185Dfinir un namespace ............................................................................................................................................................................................. 185Un style de code ...................................................................................................................................................................................................... 186L'emploi de this ....................................................................................................................................................................................................... 187Vrifier l'unicit du namespace ............................................................................................................................................................................... 187Modifier le contexte d'une mthode ........................................................................................................................................................................

    190Les chanes de caractres ............................................................................................................................................ 190Les types primitifs ................................................................................................................................................................................................... 191L'objet String ........................................................................................................................................................................................................... 191Proprits ................................................................................................................................................................................................................ 192Mthodes ................................................................................................................................................................................................................. 192La casse et les caractres ...................................................................................................................................................................................... 192toLowerCase() et toUpperCase() ............................................................................................................................................................................ 193Accder aux caractres ........................................................................................................................................................................................... 194Supprimer les espaces avec trim() .......................................................................................................................................................................... 194Rechercher, couper et extraire ................................................................................................................................................................................ 194Connatre la position avec indexOf() et lastIndexOf() ............................................................................................................................................. 196Extraire une chane avec substring(), substr() et slice() .......................................................................................................................................... 197Couper une chane en un tableau avec split() ......................................................................................................................................................... 197Tester l'existence d'une chane de caractres .........................................................................................................................................................

    198Les expressions rgulires (1/2) ................................................................................................................................... 199Les regex en Javascript .......................................................................................................................................................................................... 199Utilisation ................................................................................................................................................................................................................. 200Recherches de mots ............................................................................................................................................................................................... 201Dbut et fin de chane ............................................................................................................................................................................................. 202Les caractres et leurs classes ............................................................................................................................................................................... 202Les intervalles de caractres .................................................................................................................................................................................. 203Trouver un caractre quelconque ...........................................................................................................................................................................

    Sommaire 4/378

    www.openclassrooms.com

  • 203Les quantificateurs .................................................................................................................................................................................................. 203Les trois symboles quantificateurs .......................................................................................................................................................................... 204Les accolades ......................................................................................................................................................................................................... 204Les mtacaractres ................................................................................................................................................................................................. 205Les mtacaractres au sein des classes ................................................................................................................................................................ 205Types gnriques et assertions ............................................................................................................................................................................... 205Les types gnriques .............................................................................................................................................................................................. 206Les assertions .........................................................................................................................................................................................................

    207Les expressions rgulires (partie 2/2) ......................................................................................................................... 208Construire une regex ............................................................................................................................................................................................... 209L'objet RegExp ........................................................................................................................................................................................................ 209Mthodes ................................................................................................................................................................................................................. 210Proprits ................................................................................................................................................................................................................ 210Les parenthses ...................................................................................................................................................................................................... 210Les parenthses capturantes .................................................................................................................................................................................. 211Les parenthses non capturantes ........................................................................................................................................................................... 211Les recherches non-greedy ..................................................................................................................................................................................... 213Rechercher et remplacer ......................................................................................................................................................................................... 213L'option g ................................................................................................................................................................................................................. 213Rechercher et capturer ............................................................................................................................................................................................ 215Utiliser une fonction pour le remplacement ............................................................................................................................................................. 216Autres recherches ................................................................................................................................................................................................... 216Rechercher la position d'une occurrence ................................................................................................................................................................ 216Rcuprer toutes les occurrences .......................................................................................................................................................................... 217Couper avec une regex ...........................................................................................................................................................................................

    218Les donnes numriques .............................................................................................................................................. 218L'objet Number ........................................................................................................................................................................................................ 218L'objet Math ............................................................................................................................................................................................................. 219Les proprits .......................................................................................................................................................................................................... 219Les mthodes .......................................................................................................................................................................................................... 221Les inclassables ...................................................................................................................................................................................................... 221Les fonctions de conversion .................................................................................................................................................................................... 222Les fonctions de contrle ........................................................................................................................................................................................

    224La gestion du temps ...................................................................................................................................................... 225Le systme de datation ........................................................................................................................................................................................... 225Introduction aux systmes de datation .................................................................................................................................................................... 225L'objet Date ............................................................................................................................................................................................................. 227Mise en pratique : calculer le temps d'excution d'un script ................................................................................................................................... 227Les fonctions temporelles ....................................................................................................................................................................................... 228Utiliser setTimeout() et setInterval() ........................................................................................................................................................................ 229Annuler une action temporelle ................................................................................................................................................................................ 230Mise en pratique : les animations ! ..........................................................................................................................................................................

    231Les tableaux .................................................................................................................................................................. 232L'objet Array ............................................................................................................................................................................................................. 232Le constructeur ........................................................................................................................................................................................................ 232Les proprits .......................................................................................................................................................................................................... 233Les mthodes .......................................................................................................................................................................................................... 233Concatner deux tableaux ...................................................................................................................................................................................... 234Parcourir un tableau ................................................................................................................................................................................................ 235Rechercher un lment dans un tableau ................................................................................................................................................................ 235Trier un tableau ....................................................................................................................................................................................................... 238Extraire une partie d'un tableau .............................................................................................................................................................................. 238Remplacer une partie d'un tableau ......................................................................................................................................................................... 239Tester l'existence d'un tableau ................................................................................................................................................................................ 239Les piles et les files ................................................................................................................................................................................................. 239Retour sur les mthodes tudies .......................................................................................................................................................................... 240Les piles .................................................................................................................................................................................................................. 240Les files ................................................................................................................................................................................................................... 241Quand les performances sont absentes : unshift() et shift() ...................................................................................................................................

    242Les images .................................................................................................................................................................... 243L'objet Image ........................................................................................................................................................................................................... 243Le constructeur ........................................................................................................................................................................................................ 243Proprits ................................................................................................................................................................................................................ 243vnements ............................................................................................................................................................................................................ 244Particularits ........................................................................................................................................................................................................... 244Mise en pratique ......................................................................................................................................................................................................

    248Les polyfills et les wrappers .......................................................................................................................................... 249Introduction aux polyfills .......................................................................................................................................................................................... 249La problmatique .................................................................................................................................................................................................... 249La solution ............................................................................................................................................................................................................... 249Quelques polyfills importants .................................................................................................................................................................................. 250Introduction aux wrappers ....................................................................................................................................................................................... 250La problmatique .................................................................................................................................................................................................... 250La solution ...............................................................................................................................................................................................................

    254Partie 4 : L'change de donnes avec l'AJAX ................................................................................. 255L'AJAX : qu'est-ce que c'est ? ....................................................................................................................................... 255Introduction au concept ........................................................................................................................................................................................... 255Prsentation ............................................................................................................................................................................................................ 255Fonctionnement ...................................................................................................................................................................................................... 255Les formats de donnes .......................................................................................................................................................................................... 256Prsentation ............................................................................................................................................................................................................

    Sommaire 5/378

    www.openclassrooms.com

  • 256Utilisation ................................................................................................................................................................................................................. 259XMLHttpRequest ........................................................................................................................................................... 259L'objet XMLHttpRequest ......................................................................................................................................................................................... 259Prsentation ............................................................................................................................................................................................................ 259XMLHttpRequest, versions 1 et 2 ............................................................................................................................................................................ 259Premire version : les bases ................................................................................................................................................................................... 259Prparation et envoi de la requte .......................................................................................................................................................................... 262Rception des donnes .......................................................................................................................................................................................... 265Mise en pratique ...................................................................................................................................................................................................... 267Rsoudre les problmes d'encodage ...................................................................................................................................................................... 267L'encodage pour les nuls ........................................................................................................................................................................................ 268L'AJAX et l'encodage des caractres ...................................................................................................................................................................... 271Deuxime version : usage avanc .......................................................................................................................................................................... 271Les requtes cross-domain ..................................................................................................................................................................................... 272Nouvelles proprits et mthodes ........................................................................................................................................................................... 275Quand les vnements s'affolent ............................................................................................................................................................................ 275L'objet FormData .....................................................................................................................................................................................................

    277Upload via une iframe ................................................................................................................................................... 278Manipulation des iframes ........................................................................................................................................................................................ 278Les iframes .............................................................................................................................................................................................................. 278Accder au contenu ................................................................................................................................................................................................ 278Chargement de contenu .......................................................................................................................................................................................... 279Charger une iframe ................................................................................................................................................................................................. 279Dtecter le chargement ........................................................................................................................................................................................... 281Rcuprer du contenu ............................................................................................................................................................................................. 281Rcuprer des donnes Javascript ......................................................................................................................................................................... 281Exemple complet ..................................................................................................................................................................................................... 282Le systme d'upload ............................................................................................................................................................................................... 283Le code ct serveur : upload.php ..........................................................................................................................................................................

    284Dynamic Script Loading (DSL) ...................................................................................................................................... 285Un concept simple ................................................................................................................................................................................................... 285Un premier exemple ................................................................................................................................................................................................ 286Avec des variables et du PHP ................................................................................................................................................................................. 286Le DSL et le format JSON ....................................................................................................................................................................................... 286Charger du JSON .................................................................................................................................................................................................... 287Petite astuce pour le PHP .......................................................................................................................................................................................

    288TP : un systme d'auto-compltion ............................................................................................................................... 289Prsentation de l'exercice ....................................................................................................................................................................................... 289Les technologies employer .................................................................................................................................................................................. 289Principe de l'auto-compltion .................................................................................................................................................................................. 289Conception .............................................................................................................................................................................................................. 291C'est vous ! ........................................................................................................................................................................................................... 292Correction ................................................................................................................................................................................................................ 292Le corrig complet ................................................................................................................................................................................................... 295Les explications ....................................................................................................................................................................................................... 302Ides d'amliorations ..............................................................................................................................................................................................

    303Partie 5 : Javascript et HTML5 ........................................................................................................ 304Qu'est-ce que le HTML5 ? ............................................................................................................................................ 304Rappel des faits ...................................................................................................................................................................................................... 304Accessibilit et smantique ..................................................................................................................................................................................... 304Applications Web et interactivit ............................................................................................................................................................................. 304Concurrencer Flash (et Silverlight) .......................................................................................................................................................................... 305Les API Javascript ................................................................................................................................................................................................... 305Anciennes API dsormais standardises ou amliores ........................................................................................................................................ 305Nouvelles API .......................................................................................................................................................................................................... 307Nouvelles API que nous allons tudier ....................................................................................................................................................................

    307L'audio et la vido ......................................................................................................................................................... 308L'audio ..................................................................................................................................................................................................................... 308Contrles simples .................................................................................................................................................................................................... 310Contrle du volume ................................................................................................................................................................................................. 310Barre de progression et timer .................................................................................................................................................................................. 311Amliorations ........................................................................................................................................................................................................... 311Afficher le temps coul .......................................................................................................................................................................................... 312Rendre la barre de progression cliquable ............................................................................................................................................................... 314La vido ...................................................................................................................................................................................................................

    315L'lment Canvas .......................................................................................................................................................... 316Premires manipulations ......................................................................................................................................................................................... 316Principe de fonctionnement ..................................................................................................................................................................................... 317Le fond et les contours ............................................................................................................................................................................................ 318Effacer ..................................................................................................................................................................................................................... 318Formes gomtriques ............................................................................................................................................................................................. 319Les chemins simples ............................................................................................................................................................................................... 319Les arcs ................................................................................................................................................................................................................... 321Les courbes de Bzier ............................................................................................................................................................................................ 322Images et textes ...................................................................................................................................................................................................... 322Les images .............................................................................................................................................................................................................. 325Le texte .................................................................................................................................................................................................................... 325Lignes et dgrads .................................................................................................................................................................................................. 325Les styles de lignes ................................................................................................................................................................................................. 326Les dgrads ........................................................................................................................................................................................................... 329Oprations ...............................................................................................................................................................................................................

    Sommaire 6/378

    www.openclassrooms.com

  • 329L'tat graphique ....................................................................................................................................................................................................... 329Les translations ....................................................................................................................................................................................................... 330Les rotations ............................................................................................................................................................................................................ 330Animations .............................................................................................................................................................................................................. 331Une question de framerate ................................................................................................................................................................................ 331Un exemple concret ................................................................................................................................................................................................

    334L'API File ....................................................................................................................................................................... 334Premire utilisation .................................................................................................................................................................................................. 335Les objets Blob et File ............................................................................................................................................................................................. 335L'objet Blob .............................................................................................................................................................................................................. 335L'objet File ............................................................................................................................................................................................................... 336Lire les fichiers ........................................................................................................................................................................................................ 338Mise en pratique ...................................................................................................................................................................................................... 341Upload de fichiers avec l'objet XMLHttpRequest ....................................................................................................................................................

    343Le Drag & Drop ............................................................................................................................................................. 344Aperu de l'API ........................................................................................................................................................................................................ 344Rendre un lment dplaable ............................................................................................................................................................................... 345Dfinir une zone de drop ................................................................................................................................................................................... 348Mise en pratique ......................................................................................................................................................................................................

    355Partie 6 : Annexe ............................................................................................................................. 356Dboguer votre code ..................................................................................................................................................... 356Le dbogage : qu'est-ce que c'est ? ........................................................................................................................................................................ 356Les bugs .................................................................................................................................................................................................................. 356Le dbogage ........................................................................................................................................................................................................... 357Les consoles d'erreurs ............................................................................................................................................................................................ 357Mozilla Firefox ......................................................................................................................................................................................................... 357Internet Explorer ...................................................................................................................................................................................................... 358Opera ..........