SlideShare une entreprise Scribd logo
1  sur  221
Télécharger pour lire hors ligne
22/03/2016
1
Formation JavaScript, les fondamentaux alphorm.com™©
Les fondamentaux
JavaScript,
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
22/03/2016
2
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
• Présentation du formateur
• Les autres formations sur Alphorm
• Qu'est-ce que JavaScript
• Le plan de formation
• Présentation des outils
• Les publics concernés
22/03/2016
2
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
• Présentation du formateur
• Les autres formations sur Alphorm
• Qu'est-ce que JavaScript
• Le plan de formation
• Présentation des outils
• Les publics concernés
22/03/2016
4
Formation JavaScript, les fondamentaux alphorm.com™©
Les autres formations sur Alphorm
22/03/2016
5
Formation JavaScript, les fondamentaux alphorm.com™©
JavaScript ?
• Langage créé en 1995
• Issu d'un langage de développement coté serveur (LiveScript)
• Un partenariat Netscape/Sun donnera son nom définitif : JavaScript
• Soumis a L’Ecma (organisme de standardisation) en 1996
• JavasScript devient un langage à part entière 1997
• Concrètement :
▪ JavaScript va nous permettre de manipuler une page HTML directement
dans le navigateur Web de l'utilisateur
22/03/2016
6
Formation JavaScript, les fondamentaux alphorm.com™©
Cursus formations JavaScript
JavaScript,
les fondamentaux
DART
Tests
Unitaires
JavaScript,
Avancé
CoffeeScript
Tests
fonctionnels
TypeScript
AngularJS 2,
les fondamentaux
AngularJS 2,
Avancé
22/03/2016
7
Formation JavaScript, les fondamentaux alphorm.com™©
Le plan de formation
1. Introduction au développement Web
2. Les bases du langage
3. Les pièges du langage
4. Introduction à la programmation orienté objet
5. Javascript dans le navigateur
6. Javascript et la communication avec le serveur
22/03/2016
8
Formation JavaScript, les fondamentaux alphorm.com™©
Présentation des outils
Les éditeurs
• SublimeText
• Atom
• Microsoft Visual Studio Code
• NotePad++
Les navigateurs
• Chrome
• Firefox
• Internet Explorer
22/03/2016
9
Formation JavaScript, les fondamentaux alphorm.com™©
Les publics concernés
Les développeurs et chefs de projets qui souhaite connaître le
fonctionnement de JavaScript.
22/03/2016
10
Formation JavaScript, les fondamentaux alphorm.com™©
JavaScript
C’est parti !
22/03/2016
11
Formation JavaScript, les fondamentaux alphorm.com™©
Etat de l’art des
architectures Web
Introduction au développement Web
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
22/03/2016
12
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
• Le Web et son évolution et l’impact de JavaScript
• Le protocole HTTP et son utilisation
• L’architecture REST
22/03/2016
13
Formation JavaScript, les fondamentaux alphorm.com™©
Le Web 1.0 -> Le Web 2.0 -> ...
22/03/2016
14
Formation JavaScript, les fondamentaux alphorm.com™©
Le Web 1.0 -> Le Web 2.0
22/03/2016
15
Formation JavaScript, les fondamentaux alphorm.com™©
Le protocole HTTP
Modèle OSI
7-Application
6-Présentation
5-Session
4-Transport
2-Liaison
3-Réseau
1-Physique
Ethernet
IP
HTTP/...
TCP UDP
22/03/2016
16
Formation JavaScript, les fondamentaux alphorm.com™©
Le protocole HTTP : Un échange HTTP 1/2
Navigateur Web Serveur Web
Request
Response
22/03/2016
17
Formation JavaScript, les fondamentaux alphorm.com™©
Le protocole HTTP : Un échange HTTP 2/2
Navigateur Web Serveur Web
GET index.html
<html>
...
</html>
22/03/2016
18
Formation JavaScript, les fondamentaux alphorm.com™©
Le protocole HTTP : Les méthodes
GET Demander une ressource
POST Transmettre des données à une ressource
PUT Remplacer ou ajouter une ressource
DELETE Supprimer une ressource
HEAD Demander des informations sur la ressource
OPTIONS Connaître les options de communications d’une ressource
CONNECT utiliser un proxy comme tunnel de communication
TRACE permet d’effectuer des tests
PATCH modification partielle d’une ressource
22/03/2016
19
Formation JavaScript, les fondamentaux alphorm.com™©
• L’architecture REST permet d’exploiter les méthodes HTTP associées à
une URL...
• Lorsqu’un navigateur récupère (GET) une page (la ressource) et
l’affiche on peut dire qu’il va récupérer la représentation courante de
l’état de la ressource.
• Exemple : considérons cette URL : www.bibliotheque.fr/livres
▪ GET sur www.bibliotheque.fr/livres/1 va retourner le livre dont l’id est 1.
▪ DELETE sur www.bibliotheque.fr/livres/1 va effacer le livre dont l’id est 1.
▪ POST sur www.bibliotheque.fr/livres/ permet de créer un nouveau livre
▪ PUT sur www.bibliotheque.fr/livres/1 permet de modifier le livre dont l’id est 1.
REST : Representational State Transfer
22/03/2016
20
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
• L’importance de JavaScript dans les nouvelles pratiques du
développement web.
• Le fonctionnement du protocole HTTP
• La notion de web service avec l’architecture REST
22/03/2016
21
Formation JavaScript, les fondamentaux alphorm.com™©
Installation de l’environnement
de développement
Introduction au développement Web
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
22/03/2016
22
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
• Les outils nécessaires au développement JavaScript
• Node package manager (npm)
• L’éditeur Atom
• Les extensions d’Atom
▪ Emmet
▪ JSHint
• L’exécution
▪ browser-sync
22/03/2016
23
Formation JavaScript, les fondamentaux alphorm.com™©
Les Outils pour coder en JavaScript
• Télécharger des outils et bibliothèques
• Coder
• Améliorer la productivité
• Tester son code
22/03/2016
24
Formation JavaScript, les fondamentaux alphorm.com™©
Node Package Manager
• Node Package Manager est un outil intégré dans Node.js® qui
permet le téléchargement de bibliothèques et d’outils nécessaires au
développement JavaScript.
• Pour information, Node.js® est une plate-forme de développement
logiciel JavaScript.
22/03/2016
25
Formation JavaScript, les fondamentaux alphorm.com™©
Formation NodeJS sur Alphorm
• http://www.alphorm.com/tutoriel/formation-en-ligne-nodejs-les-
fondamentaux
22/03/2016
26
Formation JavaScript, les fondamentaux alphorm.com™©
L’éditeur
• Il existe différents outils permettant de coder en JavaScript.
• Un simple NotePad suffirait mais ne nous rendrait pas suffisamment
productif.
• Il existe plusieurs outils appropriés :
• SublimeText
• Visual Studio Code
• NotePad++
• ...
• Nous utiliserons Atom (https://atom.io/) pour cette formation.
• Il est riche d'une grande communauté et il est possible de l'enrichir
avec de nombreuses extensions.
22/03/2016
27
Formation JavaScript, les fondamentaux alphorm.com™©
Tester son code
• Nous avons besoins d’un serveur Web pour tester nos TPs
• C’est le rôle de BrowserSync (https://www.browsersync.io/)
22/03/2016
28
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
• Les éditeurs pour coder
• Les modules supplémentaires pour faciliter le développement
• Les outils pour démarrer très rapidement un serveur web minimum
22/03/2016
29
Formation JavaScript, les fondamentaux alphorm.com™©
Exemple HelloWorld
Introduction au développement Web
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
22/03/2016
30
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Tester et valider notre environnement de dèveloppement
22/03/2016
31
Formation JavaScript, les fondamentaux alphorm.com™©
HelloWorld
22/03/2016
32
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•Nous avons testé et validé notre environnement de dèveloppement
22/03/2016
33
Formation JavaScript, les fondamentaux alphorm.com™©
Les variables
et leurs types
Les bases du langage
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
22/03/2016
34
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
• Notion de variable
• Déclarer une variable
• Initialiser une variable
• Les contraintes de nommage
• Les opérateurs
• Les types primitifs et l’opérateur typeof
22/03/2016
35
Formation JavaScript, les fondamentaux alphorm.com™©
Notion de variable
• Utilisées pour stocker des valeurs
• Deux étapes pour les utiliser :
▪ Déclarer la variable
▪ Initialiser la variable
22/03/2016
36
Formation JavaScript, les fondamentaux alphorm.com™©
Déclarer une variable
• L’instruction var
22/03/2016
37
Formation JavaScript, les fondamentaux alphorm.com™©
Initialiser une variable
• Il y a 2 possibilités :
▪ Déclarer la variable et l’initialiser en 2 étapes :
▪ Déclarer la variable et l’initialiser en même temps :
22/03/2016
38
Formation JavaScript, les fondamentaux alphorm.com™©
Les contraintes de nommages
• Les variables sont “case sensitive”
• C’est à dire :
▪ a et A sont deux variables différentes !
• Il est recommandé d’utiliser le plus possible la touche de “complétion”
de votre éditeur ( touche TAB).
• Elle doivent commencer par une lettre
22/03/2016
39
Formation JavaScript, les fondamentaux alphorm.com™©
Les opérateurs
• Les opérateurs arithmétiques
+ Addition
- Soustraction
* Multiplication
/ Division
% Modulo
++ Incrément
-- Décrément
22/03/2016
40
Formation JavaScript, les fondamentaux alphorm.com™©
• En JavaScript les variables sont typées
• Il y a 5 types primitifs
▪ Number : entier ou flottant
▪ String : chaine de caractères
▪ Boolean : (true ou false)
▪ Undefined : quand la variable que vous souhaitez utiliser n’existe pas
▪ Null : type particulier n’ayant q’une seule valeur : null
• Comment connaître le type d’une variable : l’opérateur typeof.
Les types de variables et l’opérateur typeof
22/03/2016
41
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•Les variables et les pièges de la déclaration
•Les opérateurs et leurs fonctionnements
•Les types 5 primitifs l’utilisation de l’opérateur typeof
22/03/2016
42
Formation JavaScript, les fondamentaux alphorm.com™©
Les bases du langage
Les tableaux
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
22/03/2016
43
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
• Notion de tableau
• Déclarer et initialiser un tableau
• Accéder aux éléments d’un tableau
• Les opérations sur les tableaux
22/03/2016
44
Formation JavaScript, les fondamentaux alphorm.com™©
• Un tableau est une variable qui contient une liste de valeur
• Représentation d’un tableau :
Notion de tableau
0 Une valeur
1 Une autre valeur
2 Encore une autre valeur
22/03/2016
45
Formation JavaScript, les fondamentaux alphorm.com™©
• Déclaration d’un tableau vide
• Déclaration d’un tableau avec des valeurs
Déclarer et initialiser un tableau
22/03/2016
46
Formation JavaScript, les fondamentaux alphorm.com™©
• Les éléments d’un tableau sont accessibles par un index.
• Cet index est un nombre entier avec pour valeur initiale 0.
• En reprenant cet exemple :
• On en déduit la structure du tableau et la façon d’accéder aux éléments :
Accéder aux éléments d’un tableau
0 1
1 2
2 3
22/03/2016
47
Formation JavaScript, les fondamentaux alphorm.com™©
• Modification de la valeur située à l’index 2.
• Ajout d’une valeur à l’index 3.
• Ajout d’une valeur à l’index 6 (!)
Modifier ou Ajouter une valeur
22/03/2016
3
Formation JavaScript, les fondamentaux alphorm.com™©
Présentation du formateur
Frédéric GAURAT
Développeur et formateur indépendant
• Compétences
▪ Web Front : HTML5/CSS3, JavaScript, Angular
▪ Web Back : PHP, Symfony, CakePHP, JEE
▪ Mobile : Android, Cordova/PhoneGap/Ionic
• Mes références
▪ Site : www.eolem.com
▪ Profil Alphorm : http://www.alphorm.com/formateur/frederic-gaurat
22/03/2016
3
Formation JavaScript, les fondamentaux alphorm.com™©
Présentation du formateur
Frédéric GAURAT
Développeur et formateur indépendant
• Compétences
▪ Web Front : HTML5/CSS3, JavaScript, Angular
▪ Web Back : PHP, Symfony, CakePHP, JEE
▪ Mobile : Android, Cordova/PhoneGap/Ionic
• Mes références
▪ Site : www.eolem.com
▪ Profil Alphorm : http://www.alphorm.com/formateur/frederic-gaurat
22/03/2016
50
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
• Les tableaux sont des variables qui stockent des données
• Les éléments d’un tableau sont indexés
• Les index commencent à 0 et s’incrémentent lors de l’ajout d’éléments
dans le tableau
• On accède à un élément en utilisant la notation avec crochet et son
index: a[0]
• Un tableau peut contenir différents types de données, même d’autres
tableaux
22/03/2016
51
Formation JavaScript, les fondamentaux alphorm.com™©
Les conditions
Les bases du langage
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
22/03/2016
52
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Notion de bloc de code
•Structure d’une condition if
•Structure d’une condition if - else
•Structure d’une condition if - else if - else
•La notation ternaire
•Le Switch
22/03/2016
53
Formation JavaScript, les fondamentaux alphorm.com™©
Notion de bloc de code
•Un bloc de code est un ensemble d’instructions encadré par des
accolades
•Tout le code du bloc est exécuté au moment où le bloc est sollicité
22/03/2016
54
Formation JavaScript, les fondamentaux alphorm.com™©
Notion de comparaison
•Une comparaison renvoie toujours une valeur booléenne
•Elle est constituée :
▪d'un opérateur de comparaison
▪d'un opérateur logique
▪de n'importe quelle valeur pouvant être convertie en booléen
22/03/2016
55
Formation JavaScript, les fondamentaux alphorm.com™©
Les opérateurs
•Logiques :
▪ !(NOT)
▪ &&(AND)
▪|| (OR)
•Comparaisons :
▪ == (EQUAL)
▪ === (STRICT EQUALITY)
▪ < (LESS THAN)
▪ > (GREATER THAN),…
22/03/2016
56
Formation JavaScript, les fondamentaux alphorm.com™©
Structure d’une condition if
22/03/2016
57
Formation JavaScript, les fondamentaux alphorm.com™©
Structure d’une condition if - else
22/03/2016
58
Formation JavaScript, les fondamentaux alphorm.com™©
Structure d’une condition if - else if - else
22/03/2016
59
Formation JavaScript, les fondamentaux alphorm.com™©
Exemple d’utilisation
•TP : Comment tester l’existence d’une variable
22/03/2016
60
Formation JavaScript, les fondamentaux alphorm.com™©
La notation ternaire
•Ce code peut être simplifié :
•Par :
22/03/2016
61
Formation JavaScript, les fondamentaux alphorm.com™©
Le switch
22/03/2016
62
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•Les blocs de code
•La structure d'une condition
•Les différents tests
•La notation ternaire pour simplifier le code
•La simplification des tests complexes avec le switch
22/03/2016
63
Formation JavaScript, les fondamentaux alphorm.com™©
Les boucles
Les bases du langage
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
22/03/2016
64
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•La boucle while
•La boucle do…while
•La boucle for
•La boucle for…in
•La boucle for...of
22/03/2016
65
Formation JavaScript, les fondamentaux alphorm.com™©
La boucle while
22/03/2016
66
Formation JavaScript, les fondamentaux alphorm.com™©
La boucle do…while
22/03/2016
67
Formation JavaScript, les fondamentaux alphorm.com™©
La boucle for
22/03/2016
68
Formation JavaScript, les fondamentaux alphorm.com™©
La boucle for…in
22/03/2016
4
Formation JavaScript, les fondamentaux alphorm.com™©
Les autres formations sur Alphorm
22/03/2016
70
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•La structure des boucles en JavaScript
•Une introduction à l’ECMAScript 6
22/03/2016
71
Formation JavaScript, les fondamentaux alphorm.com™©
Les fonctions
Les bases du langage
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
22/03/2016
72
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Notion de fonction
•Appeler des fonctions et passer des paramètres
•Quelques fonctions du langage
•Portée des variables
•Considérations importantes sur les fonctions
22/03/2016
73
Formation JavaScript, les fondamentaux alphorm.com™©
Notion de fonction
•Les fonctions sont des blocs de code réutilisables
•Une fonction renvoie toujours une valeur (return) !
22/03/2016
74
Formation JavaScript, les fondamentaux alphorm.com™©
Appeler des fonctions et passer des paramètres 1/2
22/03/2016
75
Formation JavaScript, les fondamentaux alphorm.com™©
2/2
•Tous les paramètres sont disponibles dans une variable spéciale :
arguments
22/03/2016
76
Formation JavaScript, les fondamentaux alphorm.com™©
Quelques fonctions du langage
•parseInt() : renvoie un entier à partir d’une chaine de caractères
•parseFloat() : renvoie un flottant à partir d’une chaine de caractères
•isNaN() : teste si le paramètre n’est pas un nombre
•isFinite() : teste si le paramètre n’est pas Infinity
22/03/2016
77
Formation JavaScript, les fondamentaux alphorm.com™©
Portée des variables
•La portée d’une variable n’est pas définie par un bloc de code !
•La portée d’une variable est définie par une fonction
•Une variable doit être déclarée avec var
22/03/2016
78
Formation JavaScript, les fondamentaux alphorm.com™©
Considérations importantes sur les fonctions 1/2
•Les fonctions sont des données, elles sont typées !
•On peut en déduire cette notation
22/03/2016
79
Formation JavaScript, les fondamentaux alphorm.com™©
Considérations importantes sur les fonctions 2/2
•Les fonctions ont 3 caractéristiques :
1. Elles contiennent du code
2. Elles sont exécutables
3. Elles se comportent comme des variables
22/03/2016
80
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•Les fonctions et leurs implémentations
•Découverte et utilisation de quelques fonctions du langage
•Lien entre fonction et portée de variable
•Caractéristiques des fonctions
22/03/2016
81
Formation JavaScript, les fondamentaux alphorm.com™©
Gérer les erreurs
Les bases du langage
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
22/03/2016
82
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Les Exceptions
•La structure try…catch
•La structure try…finally
•La structure try…catch…finally
•Lancer une exception avec throw
22/03/2016
83
Formation JavaScript, les fondamentaux alphorm.com™©
Les Exceptions
•Les exceptions sont la représentation d’un comportement
exceptionnel
•Elles interrompent le flot d'exécution normal de votre application
•Elles évitent la scrutation d’une erreur
22/03/2016
84
Formation JavaScript, les fondamentaux alphorm.com™©
La console
•L’API console fournit par les navigateurs offre plus de possibilités que le
simple console.log("…");
▪console.info() : affiche un message d’information
▪console.error() : affiche une erreur
▪console.warn() : affiche un message de warning
▪…
22/03/2016
85
Formation JavaScript, les fondamentaux alphorm.com™©
La structure try…catch
•Provoquons une erreur, ici la variable ma_variable n’existe pas.
•Interceptons cette erreur
•Le bloc try exécute du code susceptible de provoquer une erreur
•Le bloc catch intercepte cette erreur si elle a lieu
22/03/2016
86
Formation JavaScript, les fondamentaux alphorm.com™©
La structure try…finally
•Le bloc finally est exécuté quelque soit le résultat de l’exécution du bloc
try (erreur ou pas)
•Utile pour initialiser la valeur d’une variable pour la suite de l’exécution
22/03/2016
87
Formation JavaScript, les fondamentaux alphorm.com™©
La structure try…catch…finally
•C’est la forme la plus complète pour gérer des exceptions
22/03/2016
88
Formation JavaScript, les fondamentaux alphorm.com™©
Lancer une exception avec throw
•Il est possible de lancer ses propres exceptions
22/03/2016
89
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•Le mécanisme de gestion des erreurs en JavaScript
•Un aperçu de l’API console proposée par les navigateurs
22/03/2016
90
Formation JavaScript, les fondamentaux alphorm.com™©
Notion de « Hoisting »
Les pièges du langage
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
22/03/2016
91
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Qu’est ce que le hoisting (traduction : une remontée)
•Le hoisting et la déclaration de variable
•Le hoisting et l’initialisation de variable
22/03/2016
92
Formation JavaScript, les fondamentaux alphorm.com™©
Qu’est ce que le hoisting
•En JavaScript, les déclarations de variables sont traitées avant tout !
22/03/2016
93
Formation JavaScript, les fondamentaux alphorm.com™©
Le hoisting et la déclaration de variable
•Rappel : 2 étapes pour utiliser une variable :
1. Déclaration
2. Initialisation
• Nous le savons maintenant : les déclarations sont remontées (hoisted)
22/03/2016
94
Formation JavaScript, les fondamentaux alphorm.com™©
Le hoisting et l’initialisation de variable
•En revanche les initialisations, elles, ne sont pas remontées :
• NaN ! b est bien déclarée (par hoisting) mais pas initialisé -> Undefined
22/03/2016
5
Formation JavaScript, les fondamentaux alphorm.com™©
JavaScript ?
• Langage créé en 1995
• Issu d'un langage de développement coté serveur (LiveScript)
• Un partenariat Netscape/Sun donnera son nom définitif : JavaScript
• Soumis a L’Ecma (organisme de standardisation) en 1996
• JavasScript devient un langage à part entière 1997
• Concrètement :
▪ JavaScript va nous permettre de manipuler une page HTML directement
dans le navigateur Web de l'utilisateur
22/03/2016
5
Formation JavaScript, les fondamentaux alphorm.com™©
JavaScript ?
• Langage créé en 1995
• Issu d'un langage de développement coté serveur (LiveScript)
• Un partenariat Netscape/Sun donnera son nom définitif : JavaScript
• Soumis a L’Ecma (organisme de standardisation) en 1996
• JavasScript devient un langage à part entière 1997
• Concrètement :
▪ JavaScript va nous permettre de manipuler une page HTML directement
dans le navigateur Web de l'utilisateur
22/03/2016
5
Formation JavaScript, les fondamentaux alphorm.com™©
JavaScript ?
• Langage créé en 1995
• Issu d'un langage de développement coté serveur (LiveScript)
• Un partenariat Netscape/Sun donnera son nom définitif : JavaScript
• Soumis a L’Ecma (organisme de standardisation) en 1996
• JavasScript devient un langage à part entière 1997
• Concrètement :
▪ JavaScript va nous permettre de manipuler une page HTML directement
dans le navigateur Web de l'utilisateur
22/03/2016
5
Formation JavaScript, les fondamentaux alphorm.com™©
JavaScript ?
• Langage créé en 1995
• Issu d'un langage de développement coté serveur (LiveScript)
• Un partenariat Netscape/Sun donnera son nom définitif : JavaScript
• Soumis a L’Ecma (organisme de standardisation) en 1996
• JavasScript devient un langage à part entière 1997
• Concrètement :
▪ JavaScript va nous permettre de manipuler une page HTML directement
dans le navigateur Web de l'utilisateur
22/03/2016
5
Formation JavaScript, les fondamentaux alphorm.com™©
JavaScript ?
• Langage créé en 1995
• Issu d'un langage de développement coté serveur (LiveScript)
• Un partenariat Netscape/Sun donnera son nom définitif : JavaScript
• Soumis a L’Ecma (organisme de standardisation) en 1996
• JavasScript devient un langage à part entière 1997
• Concrètement :
▪ JavaScript va nous permettre de manipuler une page HTML directement
dans le navigateur Web de l'utilisateur
22/03/2016
100
Formation JavaScript, les fondamentaux alphorm.com™©
Les objets en JavaScript
Key Value
nom DURAND
prenom Robert
22/03/2016
101
Formation JavaScript, les fondamentaux alphorm.com™©
Tableau indexé et tableau associatif
•Deux sortes de tableaux :
1. Indexé -> les clefs sont des entiers
2. Associatif -> les clefs sont des chaines de caractères
• JavaScript utilise les objets pour implémenter les tableaux associatifs
22/03/2016
102
Formation JavaScript, les fondamentaux alphorm.com™©
Structure d’un objet
•Les propriétés et les méthodes
22/03/2016
103
Formation JavaScript, les fondamentaux alphorm.com™©
Utilisation d’un objet
22/03/2016
104
Formation JavaScript, les fondamentaux alphorm.com™©
Création différé d’un objet
•JavaScript est un langage dynamique
•Il permet la modification d’un objet après sa création !
22/03/2016
105
Formation JavaScript, les fondamentaux alphorm.com™©
La valeur this
•this : « cet objet » ou l’objet courant
•Ici on affiche la propriété nom de l’objet courant
22/03/2016
106
Formation JavaScript, les fondamentaux alphorm.com™©
Notion de constructeur 1/2
•Utiliser une function pour créer un objet
22/03/2016
107
Formation JavaScript, les fondamentaux alphorm.com™©
Notion de constructeur 2/2
•Utiliser une function et passer des paramètres pour créer un objet
22/03/2016
108
Formation JavaScript, les fondamentaux alphorm.com™©
L’opérateur instanceof
•Type primitif -> typeof
•Objet -> instanceof
•L’opérateur instanceof teste le constructeur de l’objet
22/03/2016
109
Formation JavaScript, les fondamentaux alphorm.com™©
L’objet Object
•Object est l’objet de base implémenté par l’ensemble des objets
JavaScript.
•Autrement dit tous les objets JavaScript héritent de Object
•Ils bénéficient des méthodes de Object :
▪toString()
▪valueOf()
22/03/2016
110
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•Les objets en JavaScript
•La construction d’objet
•L’utilisation d’objet
•Tester l’instance d’un objet
22/03/2016
111
Formation JavaScript, les fondamentaux alphorm.com™©
Notions de prototype
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
Introduction à la POO
22/03/2016
112
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Qu’est ce qu’un prototype?
•Ajouter des propriétés à un prototype
•Distinguer les propriétés d’un objet et celles de son prototype
•Améliorer les objets JavaScript (Array,…)
22/03/2016
113
Formation JavaScript, les fondamentaux alphorm.com™©
Qu’est ce qu’un prototype
•Rappel de Wikipedia :
▪Javascript est un langage orienté objet à prototype, c’est-à-dire que les bases
du langage et ses principales interfaces sont fournies par des objets qui ne
sont pas des instances de classes, mais qui sont chacun équipés de
constructeurs permettant de créer leurs propriétés, et notamment une
propriété de prototypage qui permet d’en créer des objets héritiers
personnalisés.
22/03/2016
114
Formation JavaScript, les fondamentaux alphorm.com™©
Qu’est ce qu’un prototype
•On le sait, les functions sont des objets
•Elles ont des propriétés
•Une de ces propriétés est : prototype
•Il est possible d’ajouter des propriétés et des méthodes à partir du
prototype
22/03/2016
115
Formation JavaScript, les fondamentaux alphorm.com™©
Ajouter des propriétés à un prototype
22/03/2016
116
Formation JavaScript, les fondamentaux alphorm.com™©
Ajouter des propriétés à un prototype
•En Javascript les objets sont passés par référence.
•C’est-à-dire qu’il y a un prototype pour tous les objets du même
constructeur.
22/03/2016
117
Formation JavaScript, les fondamentaux alphorm.com™©
Distinguer les propriétés d’un objet et celles de son
prototype
•Dans notre exemple
22/03/2016
118
Formation JavaScript, les fondamentaux alphorm.com™©
Améliorer les objets JavaScript (Array,…)
22/03/2016
119
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•La notion de prototype et le fonctionnement précis des objets
•La modification de prototype
•La modification d’objet du langage
22/03/2016
120
Formation JavaScript, les fondamentaux alphorm.com™©
Notions de
design patterns
Introduction à la POO
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
22/03/2016
121
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Les Design Patterns : un problème, une solution
•Le pattern Module
•Le pattern Singleton
22/03/2016
122
Formation JavaScript, les fondamentaux alphorm.com™©
solution
•Le Gof book (Gang of four)
22/03/2016
6
Formation JavaScript, les fondamentaux alphorm.com™©
Cursus formations JavaScript
JavaScript,
les fondamentaux
DART
Tests
Unitaires
JavaScript,
Avancé
CoffeeScript
Tests
fonctionnels
TypeScript
AngularJS 2,
les fondamentaux
AngularJS 2,
Avancé
22/03/2016
6
Formation JavaScript, les fondamentaux alphorm.com™©
Cursus formations JavaScript
JavaScript,
les fondamentaux
DART
Tests
Unitaires
JavaScript,
Avancé
CoffeeScript
Tests
fonctionnels
TypeScript
AngularJS 2,
les fondamentaux
AngularJS 2,
Avancé
22/03/2016
125
Formation JavaScript, les fondamentaux alphorm.com™©
Le pattern Module – l’implémentation
22/03/2016
126
Formation JavaScript, les fondamentaux alphorm.com™©
Le pattern Singleton
•Le pattern Singleton permet de récupérer seulement un objet à partir
d’un constructeur.
22/03/2016
127
Formation JavaScript, les fondamentaux alphorm.com™©
Le pattern Singleton
22/03/2016
128
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•Une brève introduction au design patterns
•Le pattern Module
•Le pattern Singleton
22/03/2016
129
Formation JavaScript, les fondamentaux alphorm.com™©
Les objets disponibles
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
Javascript dans le navigateur
22/03/2016
130
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Les objets existants dans le navigateur (The Browser Object Model)
•Utilisation des principaux objets
22/03/2016
131
Formation JavaScript, les fondamentaux alphorm.com™©
Les objets existants dans le navigateur (The Browser Object
Model)
22/03/2016
132
Formation JavaScript, les fondamentaux alphorm.com™©
L’objet Window
•L’objet Window représente la fenêtre du navigateur
22/03/2016
133
Formation JavaScript, les fondamentaux alphorm.com™©
L’objet Form et ses enfants
22/03/2016
134
Formation JavaScript, les fondamentaux alphorm.com™©
L’objet Document
•Document Object Model
22/03/2016
135
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•Les 2 modèles d’objets présents dans un navigateur le BOM et le DOM
22/03/2016
136
Formation JavaScript, les fondamentaux alphorm.com™©
Le cycle de vie
d’une page web
Javascript dans le navigateur
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
Javascript dans le navigateur
22/03/2016
137
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Comprendre le fonctionnement de JavaScript dans une page Web.
•Exécuter du code au chargement de la page
22/03/2016
138
Formation JavaScript, les fondamentaux alphorm.com™©
Exécution du code JavaScript
22/03/2016
139
Formation JavaScript, les fondamentaux alphorm.com™©
Exécution du code JavaScript
22/03/2016
140
Formation JavaScript, les fondamentaux alphorm.com™©
Analyses des 2 exemples
•Dans le premier exemple : l’alert bloque l’affichage du titre
•Dans le second exemple : le titre est affiché et l’alert s’affiche ensuite
•Conclusion le code d’une page Web est exécuté de façon séquentielle
•Or, nous souhaitons exécuter notre code quand la page est prête, c’est-
à-dire quand elle est chargée.
22/03/2016
141
Formation JavaScript, les fondamentaux alphorm.com™©
Exécution au chargement de la page
22/03/2016
142
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•Le fonctionnement du navigateur
•Exécuté du code au moment du chargement
22/03/2016
143
Formation JavaScript, les fondamentaux alphorm.com™©
Notion et utilisation
des évènements
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
Javascript dans le navigateur
22/03/2016
144
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Notion d’évènement
•Les principaux évènements en JavaScript
22/03/2016
145
Formation JavaScript, les fondamentaux alphorm.com™©
Notion d’évènement
•Les évènements vont permettre de réagir à des actions
faites par l’utilisateur ou des évolutions de la page.
22/03/2016
146
Formation JavaScript, les fondamentaux alphorm.com™©
Le principaux évènements
Event Description
onchange Un élément HTML a changé
onclick Un utilisateur clique sur un élément HTML
onmouseover Un utilisateur survol un élément HTML avec la souris
onmouseout Un utilisateur quitte un élément HTML avec la souris
onkeydown Un utilisateur appui sur un touche du clavier
onload Le navigateur a fini le chargement de la page
22/03/2016
147
Formation JavaScript, les fondamentaux alphorm.com™©
Principes de fonctionnement
•Un évènement est un objet
▪Il a des propriétés et des méthodes
•Le bouillonnement d’évènements
Div 1
Div 2
Div 3
button
onclick
onclick
onclick
onclick
22/03/2016
148
Formation JavaScript, les fondamentaux alphorm.com™©
onchange
22/03/2016
7
Formation JavaScript, les fondamentaux alphorm.com™©
Le plan de formation
1. Introduction au développement Web
2. Les bases du langage
3. Les pièges du langage
4. Introduction à la programmation orienté objet
5. Javascript dans le navigateur
6. Javascript et la communication avec le serveur
22/03/2016
150
Formation JavaScript, les fondamentaux alphorm.com™©
JavaScript non-intrusif
•Il ne faut pas faire référence à du JavaScript dans une page web
•WebDesigner et Développeur ne sont pas forcément les mêmes
personnes !
22/03/2016
151
Formation JavaScript, les fondamentaux alphorm.com™©
onchange non-intrusif
22/03/2016
152
Formation JavaScript, les fondamentaux alphorm.com™©
onclick non-intrusif
22/03/2016
153
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•Les évènements JavaScript
•Le bouillonnement d’évènements
•Coder les principaux évènements
•Implémenter les bonnes pratiques
22/03/2016
154
Formation JavaScript, les fondamentaux alphorm.com™©
Manipuler
les formulaires
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
Javascript dans le navigateur
22/03/2016
155
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Les formulaires
•Les éléments de formulaire
•La validation de formulaire
22/03/2016
156
Formation JavaScript, les fondamentaux alphorm.com™©
Les formulaires
•Les formulaires sont des objets :
▪Propriétés : action, method,…
▪Méthodes : submit(), reset()
22/03/2016
157
Formation JavaScript, les fondamentaux alphorm.com™©
Les éléments de formulaires
•Il y en a peu :
▪Input (text,file,date,…)
▪Checkbox
▪Radio
▪Select
▪Textarea
▪Button
22/03/2016
158
Formation JavaScript, les fondamentaux alphorm.com™©
Les éléments de formulaires
•Ils sont accessibles de différentes façons :
22/03/2016
159
Formation JavaScript, les fondamentaux alphorm.com™©
Validation de formulaire
•Valider un formulaire c’est empêcher son envoi s’il n’est pas correct
•On implémente la méthode onsubmit qui doit renvoyer un booléen
22/03/2016
160
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•Les formulaires et leurs fonctionnement
•Les éléments de formulaire
•La validation
22/03/2016
161
Formation JavaScript, les fondamentaux alphorm.com™©
Manipuler une page
web avec le DOM
Javascript dans le navigateur
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
22/03/2016
162
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Approfondissement de la notion de DOM
•Récupération des éléments par différentes méthodes
22/03/2016
163
Formation JavaScript, les fondamentaux alphorm.com™©
Le DOM
•Le DOM est une API de manipulation de document (balisé)
•Normalisé par le W3C
•Implémenter dans tous les langages
22/03/2016
164
Formation JavaScript, les fondamentaux alphorm.com™©
Récupération d’éléments
•Considérons cet extrait de page
22/03/2016
165
Formation JavaScript, les fondamentaux alphorm.com™©
Récupération d’éléments par id
22/03/2016
166
Formation JavaScript, les fondamentaux alphorm.com™©
Récupération d’éléments par tag
22/03/2016
167
Formation JavaScript, les fondamentaux alphorm.com™©
class
22/03/2016
8
Formation JavaScript, les fondamentaux alphorm.com™©
Présentation des outils
Les éditeurs
• SublimeText
• Atom
• Microsoft Visual Studio Code
• NotePad++
Les navigateurs
• Chrome
• Firefox
• Internet Explorer
22/03/2016
169
Formation JavaScript, les fondamentaux alphorm.com™©
Récupération d’éléments par notation CSS
22/03/2016
170
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•Le Document Object Model
•Les différents moyens de récupérer des éléments dans une page
22/03/2016
171
Formation JavaScript, les fondamentaux alphorm.com™©
Manipuler
les styles CSS
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
Javascript dans le navigateur
22/03/2016
172
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Manipuler les styles CSS en JavaScript
•Afficher/Cacher des éléments
22/03/2016
173
Formation JavaScript, les fondamentaux alphorm.com™©
Rappels sur les notations
•Camel case : backgroundColor
•Train case : background-color
22/03/2016
174
Formation JavaScript, les fondamentaux alphorm.com™©
Modifier un style CSS
22/03/2016
175
Formation JavaScript, les fondamentaux alphorm.com™©
Afficher/Cacher des éléments
22/03/2016
176
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•Les notations CSS -> JavaScript
•Modifier un style CSS
•Afficher et Masquer un élément en passant par un évènement
22/03/2016
177
Formation JavaScript, les fondamentaux alphorm.com™©
Présentation d’Ajax et JSON
Javascript et la communication
avec le serveur
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
22/03/2016
178
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Découvrir la technologie Ajax
•Découvrir JSON
22/03/2016
179
Formation JavaScript, les fondamentaux alphorm.com™©
Découvrir la technologie Ajax
•Était l’acronyme de Asynchronous JavaScript and XML
•Maintenant on parle de technologie Ajax
22/03/2016
180
Formation JavaScript, les fondamentaux alphorm.com™©
Découvrir la technologie Ajax
•Le navigateur ne charge plus complètement une page
•Il récupère les données en JavaScript
•Il modifie la page en conséquence
22/03/2016
181
Formation JavaScript, les fondamentaux alphorm.com™©
Utiliser Ajax 1/3
•Faire une requête Ajax
•La requête est de type GET
•Vers la ressource « data.json »
•Elle est asynchrone
22/03/2016
182
Formation JavaScript, les fondamentaux alphorm.com™©
Utiliser Ajax 2/3
•Attendre la réponse du serveur
22/03/2016
9
Formation JavaScript, les fondamentaux alphorm.com™©
Les publics concernés
Les développeurs et chefs de projets qui souhaite connaître le
fonctionnement de JavaScript.
22/03/2016
9
Formation JavaScript, les fondamentaux alphorm.com™©
Les publics concernés
Les développeurs et chefs de projets qui souhaite connaître le
fonctionnement de JavaScript.
22/03/2016
185
Formation JavaScript, les fondamentaux alphorm.com™©
Utiliser JSON
•Il suffit d’évaluer une chaine contenant du JSON pour obtenir l’objet JS
22/03/2016
186
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•L’architecture Ajax
•L’utilisation d’Ajax en Javascript
•Le format JSON
22/03/2016
187
Formation JavaScript, les fondamentaux alphorm.com™©
Soumettre un formulaire
en Ajax
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
Javascript et la communication
avec le serveur
22/03/2016
188
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Utiliser Ajax pour envoyer un formulaire au serveur
22/03/2016
189
Formation JavaScript, les fondamentaux alphorm.com™©
Envoyer un formulaire en Ajax 1/2
•Récupérer les données et les transformer en JSON
22/03/2016
190
Formation JavaScript, les fondamentaux alphorm.com™©
Envoyer un formulaire en Ajax 2/2
•Les envoyer au serveur
22/03/2016
191
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•L’envoi d’un formulaire en Ajax
22/03/2016
192
Formation JavaScript, les fondamentaux alphorm.com™©
Présentation des
services web Restful
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
Javascript et la communication
avec le serveur
22/03/2016
193
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Rappel de la définition d’un service Web
•L’architecture REST
22/03/2016
194
Formation JavaScript, les fondamentaux alphorm.com™©
Qu'est-ce qu'un service Web
•D’après Wikipedia :
▪Un service web est un programme informatique de la famille des
technologies web
▪Il permet la communication et l'échange de données
22/03/2016
195
Formation JavaScript, les fondamentaux alphorm.com™©
Le protocole HTTP : Les méthodes
GET Demander une ressource
POST Transmettre des données à une ressource
PUT Remplacer ou ajouter une ressource
DELETE Supprimer une ressource
HEAD Demander des informations sur la ressource
OPTIONS Connaître les options de communications d’une ressource
CONNECT utiliser un proxy comme tunnel de communication
TRACE permet d’effectuer des tests
PATCH modification partielle d’une ressource
22/03/2016
196
Formation JavaScript, les fondamentaux alphorm.com™©
• L’architecture REST permet d’exploiter les méthodes HTTP associées à
une URL...
• Lorsqu’un navigateur récupère (GET) une page (la ressource) et
l’affiche on peut dire qu’il va récupérer la représentation courante de
l’état de la ressource.
• Exemple : considérons cette URL : www.bibliotheque.fr/livres
▪ GET sur www.bibliotheque.fr/livres/1 va retourner le livre dont l’id est 1.
▪ DELETE sur www.bibliotheque.fr/livres/1 va effacer le livre dont l’id est 1.
▪ POST sur www.bibliotheque.fr/livres/ permet de créer un nouveau livre
▪ PUT sur www.bibliotheque.fr/livres/1 permet de modifier le livre dont l’id est 1.
REST : Representational State Transfer
22/03/2016
197
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•La définition d’un service Web
•L’architecture REST
22/03/2016
198
Formation JavaScript, les fondamentaux alphorm.com™©
Consommer des services web
Restful avec JavaScript : CREATE
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
Javascript et la communication
avec le serveur
22/03/2016
199
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Développer une application CRUD
•Simuler une API REST
22/03/2016
200
Formation JavaScript, les fondamentaux alphorm.com™©
Développer une application CRUD
•Créer une application simple pour gérer une liste de client
1. Create : Un formulaire
2. Read : Une table qui affichera les données
3. Update : un formulaire avec les données pré-rempli accessible à partir de la table
4. Delete : un bouton de suppression sera disponible dans la table
22/03/2016
201
Formation JavaScript, les fondamentaux alphorm.com™©
Simuler une API REST
•Présentation de Deployd
•Installation de Deployd : http://deployd.com/
•Mise en place de l’API
22/03/2016
202
Formation JavaScript, les fondamentaux alphorm.com™©
Create : Un formulaire
•Construire le formulaire
•Coder la création du client
22/03/2016
203
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•La structure d’une application simple
•L’installation de deployd pour simuler une API REST
•Le développement du formulaire de création d’un client
22/03/2016
204
Formation JavaScript, les fondamentaux alphorm.com™©
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
Javascript et la communication
avec le serveur
Consommer des services web
Restful avec JavaScript : READ
22/03/2016
205
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Développer la partie d’affichage de nos clients
22/03/2016
206
Formation JavaScript, les fondamentaux alphorm.com™©
Développer une application CRUD
•Create : Une formulaire
•Read : Une table qui affichera les données
•Update : un formulaire avec les données pré-rempli accessible à partir de la table
•Delete : un bouton de suppression sera disponible dans la table
22/03/2016
207
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•Le développement de la table qui affichera les clients
stockés dans le serveur
22/03/2016
208
Formation JavaScript, les fondamentaux alphorm.com™©
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
Javascript et la communication
avec le serveur
Consommer des services web
Restful avec JavaScript : UPDATE
22/03/2016
209
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Gérer la mise à jours de nos clients
22/03/2016
210
Formation JavaScript, les fondamentaux alphorm.com™©
Développer une application CRUD
•Create : Une formulaire
•Read : Une table qui affichera les données
•Update : un formulaire avec les données pré-rempli accessible à partir de la table
•Delete : un bouton de suppression sera disponible dans la table
22/03/2016
211
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•La mise à jours d’un client dans notre application
22/03/2016
212
Formation JavaScript, les fondamentaux alphorm.com™©
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
Javascript et la communication
avec le serveur
Consommer des services web
Restful avec JavaScript : DELETE
22/03/2016
213
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Gérer la suppression d’un client
22/03/2016
214
Formation JavaScript, les fondamentaux alphorm.com™©
Développer une application CRUD
•Create : Une formulaire
•Read : Une table qui affichera les données
•Update : un formulaire avec les données pré-rempli accessible à partir de la table
•Delete : un bouton de suppression sera disponible dans la table
22/03/2016
215
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert
•La suppression d’un client
22/03/2016
216
Formation JavaScript, les fondamentaux alphorm.com™©
Conclusion
JavaScript Les Fondamentaux
Site : http://www.alphorm.com
Blog : http://blog.alphorm.com
Frédéric GAURAT
Développeur et Formateur
Consultant indépendant
22/03/2016
217
Formation JavaScript, les fondamentaux alphorm.com™©
Plan
•Ce qui a été couvert
•Ce qui reste à aborder
22/03/2016
218
Formation JavaScript, les fondamentaux alphorm.com™©
Ce qu’on a couvert dans cette formation
•Introduction au développement Web
▪ Etat de l’art des architectures web
▪ Installation de l’environnement de développement
▪ Les bases du langage
▪ Les variables et leurs types, les tableaux,les
conditions, les boucles, les fonctions,les erreurs
•Les pièges du langage
▪ Notion de « Hoisting »
•Introduction à la programmation orienté objet
▪ Notions d’objet (les classes, l’héritage)
▪ Notions de prototype
▪ Notions de design patterns
•Javascript dans le navigateur
▪ Les objets disponibles
▪ Le cycle de vie d’une page web
•Notion et utilisation des évènements
▪ Manipuler les formulaires, les pages web avec le
DOM, les styles
•Javascript et la communication avec le serveur
▪ Présentation d’Ajax et JSON
▪ Soumettre un formulaire en Ajax
▪ Présentation des services web Restful
▪ Consommer des services web Restful avec Javascript :
CREATE,READ,UPDATE,DELETE
22/03/2016
219
Formation JavaScript, les fondamentaux alphorm.com™©
Cursus formations JavaScript
JavaScript,
les fondamentaux
DART
Tests
Unitaires
JavaScript,
Avancé
CoffeeScript
Tests
fonctionnels
TypeScript
AngularJS 2,
les fondamentaux
AngularJS 2,
Avancé
22/03/2016
220
Formation JavaScript, les fondamentaux alphorm.com™©
La formation Javascript avancé
•Utilisation avancée des Fonctions
▪ Les différents types de fonction (anonymes,
immédiates, internes)
▪ Les scopes et les closures
•Programmation Orienté Objet en JavaScript
▪ Rappel sur les prototypes
▪ Implémentation des constructeurs
▪ Implémentation de l’encapsulation
▪ L’héritage en JavaScript
▪ Utilisation du « this »
▪ Implémentation de Design Patterns
•Programmation asynchrones
▪ Le callback hell
▪ Les promesses
•Les tasks runner
▪ Les tâches de base (Qualité,Obfuscation,…)
▪ Présentation de Grunt
▪ Présentation de Gulp
▪ Présentation de Brunch
•Programmation Modulaire
▪ Organiser son code et le rendre performant :
Asynchronous Module Definition (AMD)
▪ Utilisation de RequireJS
•Le futur de JavaScript
▪ CoffeeScript, Dart,TypeScript
▪ La spécification ECMAScript 6
22/03/2016
221
Formation JavaScript, les fondamentaux alphorm.com™©
A bientôt !
▪ Site : www.eolem.com
▪ Profil Alphorm : http://www.alphorm.com/formateur/frederic-gaurat

Contenu connexe

Tendances

alphorm.com - Formation XenSources
alphorm.com - Formation XenSourcesalphorm.com - Formation XenSources
alphorm.com - Formation XenSourcesAlphorm
 
Alphorm.com Support de la Formation VMmware vSphere 6, La gestion du stockage
Alphorm.com Support de la Formation VMmware vSphere 6, La gestion du stockageAlphorm.com Support de la Formation VMmware vSphere 6, La gestion du stockage
Alphorm.com Support de la Formation VMmware vSphere 6, La gestion du stockageAlphorm
 
Alphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateurAlphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateurAlphorm
 
Alphorm.com-Formation windows phone 8.1
Alphorm.com-Formation windows phone 8.1Alphorm.com-Formation windows phone 8.1
Alphorm.com-Formation windows phone 8.1Alphorm
 
Alphorm.com Support de la Formation Azure Iaas avancé 2
Alphorm.com Support de la Formation Azure Iaas avancé 2Alphorm.com Support de la Formation Azure Iaas avancé 2
Alphorm.com Support de la Formation Azure Iaas avancé 2Alphorm
 
Alphorm.com Formation jQuery
Alphorm.com Formation jQueryAlphorm.com Formation jQuery
Alphorm.com Formation jQueryAlphorm
 
alphorm.com - Formation HTML5, CSS 3 et JavaScript (70-480)
alphorm.com - Formation HTML5, CSS 3 et JavaScript (70-480)alphorm.com - Formation HTML5, CSS 3 et JavaScript (70-480)
alphorm.com - Formation HTML5, CSS 3 et JavaScript (70-480)Alphorm
 
alphorm.com - Formation Développez des applications Web avec ASP.NET MVC 4(70...
alphorm.com - Formation Développez des applications Web avec ASP.NET MVC 4(70...alphorm.com - Formation Développez des applications Web avec ASP.NET MVC 4(70...
alphorm.com - Formation Développez des applications Web avec ASP.NET MVC 4(70...Alphorm
 
alphorm.com - Formation Microsoft PowerPoint 2013 (77-422)
alphorm.com - Formation Microsoft PowerPoint 2013 (77-422)alphorm.com - Formation Microsoft PowerPoint 2013 (77-422)
alphorm.com - Formation Microsoft PowerPoint 2013 (77-422)Alphorm
 
Alphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautésAlphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautésAlphorm
 
Alphorm.com Formation JavaFX
Alphorm.com Formation JavaFXAlphorm.com Formation JavaFX
Alphorm.com Formation JavaFXAlphorm
 
Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs Alphorm
 
Alphorm.com Support de la Formation CATIA V5 , les fondamentaux
Alphorm.com Support de la Formation CATIA V5 , les fondamentauxAlphorm.com Support de la Formation CATIA V5 , les fondamentaux
Alphorm.com Support de la Formation CATIA V5 , les fondamentauxAlphorm
 
Alphorm.com Formation Windev 20 Pefectionnement
Alphorm.com Formation Windev 20 Pefectionnement Alphorm.com Formation Windev 20 Pefectionnement
Alphorm.com Formation Windev 20 Pefectionnement Alphorm
 
Support de la formation Android 5 , Avancé
Support de la formation Android 5 , Avancé Support de la formation Android 5 , Avancé
Support de la formation Android 5 , Avancé Alphorm
 
Alphorm.com Formation Le Language C
Alphorm.com  Formation Le Language C Alphorm.com  Formation Le Language C
Alphorm.com Formation Le Language C Alphorm
 
Alphorm.com - Formation programmer en Visual Basic .NET
Alphorm.com - Formation programmer en Visual Basic .NETAlphorm.com - Formation programmer en Visual Basic .NET
Alphorm.com - Formation programmer en Visual Basic .NETAlphorm
 
Alphorm.com support de la formation windows 10 administration des services av...
Alphorm.com support de la formation windows 10 administration des services av...Alphorm.com support de la formation windows 10 administration des services av...
Alphorm.com support de la formation windows 10 administration des services av...Alphorm
 
alphorm.com - Formation Microsoft Hyper-V 2012
alphorm.com - Formation Microsoft Hyper-V 2012alphorm.com - Formation Microsoft Hyper-V 2012
alphorm.com - Formation Microsoft Hyper-V 2012Alphorm
 
Alphorm.com support de la formation programmer en C# 6
Alphorm.com support de la formation programmer en C# 6Alphorm.com support de la formation programmer en C# 6
Alphorm.com support de la formation programmer en C# 6Alphorm
 

Tendances (20)

alphorm.com - Formation XenSources
alphorm.com - Formation XenSourcesalphorm.com - Formation XenSources
alphorm.com - Formation XenSources
 
Alphorm.com Support de la Formation VMmware vSphere 6, La gestion du stockage
Alphorm.com Support de la Formation VMmware vSphere 6, La gestion du stockageAlphorm.com Support de la Formation VMmware vSphere 6, La gestion du stockage
Alphorm.com Support de la Formation VMmware vSphere 6, La gestion du stockage
 
Alphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateurAlphorm.com support de la formation Drupal 8 webmaster configurateur
Alphorm.com support de la formation Drupal 8 webmaster configurateur
 
Alphorm.com-Formation windows phone 8.1
Alphorm.com-Formation windows phone 8.1Alphorm.com-Formation windows phone 8.1
Alphorm.com-Formation windows phone 8.1
 
Alphorm.com Support de la Formation Azure Iaas avancé 2
Alphorm.com Support de la Formation Azure Iaas avancé 2Alphorm.com Support de la Formation Azure Iaas avancé 2
Alphorm.com Support de la Formation Azure Iaas avancé 2
 
Alphorm.com Formation jQuery
Alphorm.com Formation jQueryAlphorm.com Formation jQuery
Alphorm.com Formation jQuery
 
alphorm.com - Formation HTML5, CSS 3 et JavaScript (70-480)
alphorm.com - Formation HTML5, CSS 3 et JavaScript (70-480)alphorm.com - Formation HTML5, CSS 3 et JavaScript (70-480)
alphorm.com - Formation HTML5, CSS 3 et JavaScript (70-480)
 
alphorm.com - Formation Développez des applications Web avec ASP.NET MVC 4(70...
alphorm.com - Formation Développez des applications Web avec ASP.NET MVC 4(70...alphorm.com - Formation Développez des applications Web avec ASP.NET MVC 4(70...
alphorm.com - Formation Développez des applications Web avec ASP.NET MVC 4(70...
 
alphorm.com - Formation Microsoft PowerPoint 2013 (77-422)
alphorm.com - Formation Microsoft PowerPoint 2013 (77-422)alphorm.com - Formation Microsoft PowerPoint 2013 (77-422)
alphorm.com - Formation Microsoft PowerPoint 2013 (77-422)
 
Alphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautésAlphorm.com Java 8: les nouveautés
Alphorm.com Java 8: les nouveautés
 
Alphorm.com Formation JavaFX
Alphorm.com Formation JavaFXAlphorm.com Formation JavaFX
Alphorm.com Formation JavaFX
 
Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs Alphorm.com Formation Drupal 7 pour les utilisateurs
Alphorm.com Formation Drupal 7 pour les utilisateurs
 
Alphorm.com Support de la Formation CATIA V5 , les fondamentaux
Alphorm.com Support de la Formation CATIA V5 , les fondamentauxAlphorm.com Support de la Formation CATIA V5 , les fondamentaux
Alphorm.com Support de la Formation CATIA V5 , les fondamentaux
 
Alphorm.com Formation Windev 20 Pefectionnement
Alphorm.com Formation Windev 20 Pefectionnement Alphorm.com Formation Windev 20 Pefectionnement
Alphorm.com Formation Windev 20 Pefectionnement
 
Support de la formation Android 5 , Avancé
Support de la formation Android 5 , Avancé Support de la formation Android 5 , Avancé
Support de la formation Android 5 , Avancé
 
Alphorm.com Formation Le Language C
Alphorm.com  Formation Le Language C Alphorm.com  Formation Le Language C
Alphorm.com Formation Le Language C
 
Alphorm.com - Formation programmer en Visual Basic .NET
Alphorm.com - Formation programmer en Visual Basic .NETAlphorm.com - Formation programmer en Visual Basic .NET
Alphorm.com - Formation programmer en Visual Basic .NET
 
Alphorm.com support de la formation windows 10 administration des services av...
Alphorm.com support de la formation windows 10 administration des services av...Alphorm.com support de la formation windows 10 administration des services av...
Alphorm.com support de la formation windows 10 administration des services av...
 
alphorm.com - Formation Microsoft Hyper-V 2012
alphorm.com - Formation Microsoft Hyper-V 2012alphorm.com - Formation Microsoft Hyper-V 2012
alphorm.com - Formation Microsoft Hyper-V 2012
 
Alphorm.com support de la formation programmer en C# 6
Alphorm.com support de la formation programmer en C# 6Alphorm.com support de la formation programmer en C# 6
Alphorm.com support de la formation programmer en C# 6
 

En vedette

Alphorm.com Formation TypeScript
Alphorm.com Formation TypeScriptAlphorm.com Formation TypeScript
Alphorm.com Formation TypeScriptAlphorm
 
Alphorm.com Formation Angular : Avancé
Alphorm.com Formation Angular : AvancéAlphorm.com Formation Angular : Avancé
Alphorm.com Formation Angular : AvancéAlphorm
 
alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)
alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)
alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)Alphorm
 
Alphorm.com Formation Angular - Les fondamentaux
Alphorm.com Formation Angular - Les fondamentauxAlphorm.com Formation Angular - Les fondamentaux
Alphorm.com Formation Angular - Les fondamentauxAlphorm
 
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...Alphorm
 
Alphorm.com Formation Scripting Bash avancé pour GNU/Linux
Alphorm.com   Formation Scripting Bash avancé pour GNU/LinuxAlphorm.com   Formation Scripting Bash avancé pour GNU/Linux
Alphorm.com Formation Scripting Bash avancé pour GNU/LinuxAlphorm
 
Alphorm.com Support de la Formation Les Sciences Forensiques : L’investigati...
Alphorm.com Support de la Formation Les Sciences Forensiques  : L’investigati...Alphorm.com Support de la Formation Les Sciences Forensiques  : L’investigati...
Alphorm.com Support de la Formation Les Sciences Forensiques : L’investigati...Alphorm
 
Alphorm.com Support de la Formation Adobe-Illustrator CC , Découverte du vect...
Alphorm.com Support de la Formation Adobe-Illustrator CC , Découverte du vect...Alphorm.com Support de la Formation Adobe-Illustrator CC , Découverte du vect...
Alphorm.com Support de la Formation Adobe-Illustrator CC , Découverte du vect...Alphorm
 
Alphorm.com Formation Docker (2/2) - Administration Avancée
Alphorm.com Formation Docker (2/2) - Administration Avancée Alphorm.com Formation Docker (2/2) - Administration Avancée
Alphorm.com Formation Docker (2/2) - Administration Avancée Alphorm
 
Alphorm.com Formation Excel 2016 Expert I - partie 1
Alphorm.com Formation Excel 2016 Expert I - partie 1Alphorm.com Formation Excel 2016 Expert I - partie 1
Alphorm.com Formation Excel 2016 Expert I - partie 1Alphorm
 
Alphorm.com support Formation OneNote 2016 Prise de notes professionnelles
Alphorm.com support Formation OneNote 2016 Prise de notes professionnellesAlphorm.com support Formation OneNote 2016 Prise de notes professionnelles
Alphorm.com support Formation OneNote 2016 Prise de notes professionnellesAlphorm
 
Alphorm.com Formation MOS Excel 2013(77-420)
Alphorm.com Formation MOS Excel 2013(77-420)Alphorm.com Formation MOS Excel 2013(77-420)
Alphorm.com Formation MOS Excel 2013(77-420)Alphorm
 
Alphorm.com Support de la Formation PHP MySQL
Alphorm.com Support de la Formation PHP MySQLAlphorm.com Support de la Formation PHP MySQL
Alphorm.com Support de la Formation PHP MySQLAlphorm
 
alphorm.com - Formation SQL Server 2012 (70-462)
alphorm.com - Formation SQL Server 2012 (70-462)alphorm.com - Formation SQL Server 2012 (70-462)
alphorm.com - Formation SQL Server 2012 (70-462)Alphorm
 
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentaux
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentauxAlphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentaux
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentauxAlphorm
 
Alphorm.com support AutoCAD 2016, atelier mécanique
Alphorm.com support AutoCAD 2016, atelier mécanique Alphorm.com support AutoCAD 2016, atelier mécanique
Alphorm.com support AutoCAD 2016, atelier mécanique Alphorm
 
Alphorm.com support Formation AutoCAD 2016 atelier architectural-ss
Alphorm.com support Formation AutoCAD 2016 atelier architectural-ssAlphorm.com support Formation AutoCAD 2016 atelier architectural-ss
Alphorm.com support Formation AutoCAD 2016 atelier architectural-ssAlphorm
 
Alphorm.com Support de la formation AutoCAD 2016, perfectionnement
Alphorm.com Support de la formation AutoCAD 2016, perfectionnementAlphorm.com Support de la formation AutoCAD 2016, perfectionnement
Alphorm.com Support de la formation AutoCAD 2016, perfectionnementAlphorm
 
Alphorm.com Support de la Formation Inventor 2017 les fondamentaux
Alphorm.com Support de la Formation  Inventor 2017 les fondamentaux Alphorm.com Support de la Formation  Inventor 2017 les fondamentaux
Alphorm.com Support de la Formation Inventor 2017 les fondamentaux Alphorm
 
Alphorm.com Support Formation AutoCAD 2016 3D
Alphorm.com Support Formation AutoCAD 2016 3DAlphorm.com Support Formation AutoCAD 2016 3D
Alphorm.com Support Formation AutoCAD 2016 3DAlphorm
 

En vedette (20)

Alphorm.com Formation TypeScript
Alphorm.com Formation TypeScriptAlphorm.com Formation TypeScript
Alphorm.com Formation TypeScript
 
Alphorm.com Formation Angular : Avancé
Alphorm.com Formation Angular : AvancéAlphorm.com Formation Angular : Avancé
Alphorm.com Formation Angular : Avancé
 
alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)
alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)
alphorm.com - Formation Oracle Database 11g DBA 1 (1Z0-052)
 
Alphorm.com Formation Angular - Les fondamentaux
Alphorm.com Formation Angular - Les fondamentauxAlphorm.com Formation Angular - Les fondamentaux
Alphorm.com Formation Angular - Les fondamentaux
 
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
Alphorm.com Formation Windows Presentation Foundation avec Visual Studio 2013...
 
Alphorm.com Formation Scripting Bash avancé pour GNU/Linux
Alphorm.com   Formation Scripting Bash avancé pour GNU/LinuxAlphorm.com   Formation Scripting Bash avancé pour GNU/Linux
Alphorm.com Formation Scripting Bash avancé pour GNU/Linux
 
Alphorm.com Support de la Formation Les Sciences Forensiques : L’investigati...
Alphorm.com Support de la Formation Les Sciences Forensiques  : L’investigati...Alphorm.com Support de la Formation Les Sciences Forensiques  : L’investigati...
Alphorm.com Support de la Formation Les Sciences Forensiques : L’investigati...
 
Alphorm.com Support de la Formation Adobe-Illustrator CC , Découverte du vect...
Alphorm.com Support de la Formation Adobe-Illustrator CC , Découverte du vect...Alphorm.com Support de la Formation Adobe-Illustrator CC , Découverte du vect...
Alphorm.com Support de la Formation Adobe-Illustrator CC , Découverte du vect...
 
Alphorm.com Formation Docker (2/2) - Administration Avancée
Alphorm.com Formation Docker (2/2) - Administration Avancée Alphorm.com Formation Docker (2/2) - Administration Avancée
Alphorm.com Formation Docker (2/2) - Administration Avancée
 
Alphorm.com Formation Excel 2016 Expert I - partie 1
Alphorm.com Formation Excel 2016 Expert I - partie 1Alphorm.com Formation Excel 2016 Expert I - partie 1
Alphorm.com Formation Excel 2016 Expert I - partie 1
 
Alphorm.com support Formation OneNote 2016 Prise de notes professionnelles
Alphorm.com support Formation OneNote 2016 Prise de notes professionnellesAlphorm.com support Formation OneNote 2016 Prise de notes professionnelles
Alphorm.com support Formation OneNote 2016 Prise de notes professionnelles
 
Alphorm.com Formation MOS Excel 2013(77-420)
Alphorm.com Formation MOS Excel 2013(77-420)Alphorm.com Formation MOS Excel 2013(77-420)
Alphorm.com Formation MOS Excel 2013(77-420)
 
Alphorm.com Support de la Formation PHP MySQL
Alphorm.com Support de la Formation PHP MySQLAlphorm.com Support de la Formation PHP MySQL
Alphorm.com Support de la Formation PHP MySQL
 
alphorm.com - Formation SQL Server 2012 (70-462)
alphorm.com - Formation SQL Server 2012 (70-462)alphorm.com - Formation SQL Server 2012 (70-462)
alphorm.com - Formation SQL Server 2012 (70-462)
 
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentaux
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentauxAlphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentaux
Alphorm.com Formation ETL Talend Open Studio (1/2) - Les fondamentaux
 
Alphorm.com support AutoCAD 2016, atelier mécanique
Alphorm.com support AutoCAD 2016, atelier mécanique Alphorm.com support AutoCAD 2016, atelier mécanique
Alphorm.com support AutoCAD 2016, atelier mécanique
 
Alphorm.com support Formation AutoCAD 2016 atelier architectural-ss
Alphorm.com support Formation AutoCAD 2016 atelier architectural-ssAlphorm.com support Formation AutoCAD 2016 atelier architectural-ss
Alphorm.com support Formation AutoCAD 2016 atelier architectural-ss
 
Alphorm.com Support de la formation AutoCAD 2016, perfectionnement
Alphorm.com Support de la formation AutoCAD 2016, perfectionnementAlphorm.com Support de la formation AutoCAD 2016, perfectionnement
Alphorm.com Support de la formation AutoCAD 2016, perfectionnement
 
Alphorm.com Support de la Formation Inventor 2017 les fondamentaux
Alphorm.com Support de la Formation  Inventor 2017 les fondamentaux Alphorm.com Support de la Formation  Inventor 2017 les fondamentaux
Alphorm.com Support de la Formation Inventor 2017 les fondamentaux
 
Alphorm.com Support Formation AutoCAD 2016 3D
Alphorm.com Support Formation AutoCAD 2016 3DAlphorm.com Support Formation AutoCAD 2016 3D
Alphorm.com Support Formation AutoCAD 2016 3D
 

Similaire à Alphorm.com Support de la formation JavaScript les fondamentaux

Alphorm.com Support de la Formation Hyper-v 2016
Alphorm.com Support de la Formation Hyper-v 2016Alphorm.com Support de la Formation Hyper-v 2016
Alphorm.com Support de la Formation Hyper-v 2016Alphorm
 
Alphorm.com Support de la Formation Windows Containers
Alphorm.com Support de la Formation Windows ContainersAlphorm.com Support de la Formation Windows Containers
Alphorm.com Support de la Formation Windows ContainersAlphorm
 
Alphorm.com Support de la Formation LPIC-1 version 4 ss
Alphorm.com Support de la Formation LPIC-1 version 4 ssAlphorm.com Support de la Formation LPIC-1 version 4 ss
Alphorm.com Support de la Formation LPIC-1 version 4 ssAlphorm
 
présentation sur la gestion des projets.pdf
présentation sur la gestion des projets.pdfprésentation sur la gestion des projets.pdf
présentation sur la gestion des projets.pdfghiz-
 
Alphorm.com Support de la Formation Exchange 2016 Installation et Configuration
Alphorm.com Support de la Formation Exchange 2016 Installation et ConfigurationAlphorm.com Support de la Formation Exchange 2016 Installation et Configuration
Alphorm.com Support de la Formation Exchange 2016 Installation et ConfigurationAlphorm
 
Alphorm.com Formation PCSoft(version20) GDS et Centres de contrôle
Alphorm.com Formation PCSoft(version20) GDS et Centres de contrôleAlphorm.com Formation PCSoft(version20) GDS et Centres de contrôle
Alphorm.com Formation PCSoft(version20) GDS et Centres de contrôleAlphorm
 
Alphorm.com Support Formation Android 6, Expert
Alphorm.com Support Formation Android 6, ExpertAlphorm.com Support Formation Android 6, Expert
Alphorm.com Support Formation Android 6, ExpertAlphorm
 
Alphorm.com Support de la Formation Oracle VM Administration
Alphorm.com Support de la Formation Oracle VM AdministrationAlphorm.com Support de la Formation Oracle VM Administration
Alphorm.com Support de la Formation Oracle VM AdministrationAlphorm
 
Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)guicara
 
Alphorm.com Support Formation Sophos UTM les fonctionnalités avancées
Alphorm.com Support Formation Sophos UTM les fonctionnalités avancéesAlphorm.com Support Formation Sophos UTM les fonctionnalités avancées
Alphorm.com Support Formation Sophos UTM les fonctionnalités avancéesAlphorm
 
Alphorm.com Support de la formation Hacking et Sécurité Metasploit
Alphorm.com Support de la formation Hacking et Sécurité MetasploitAlphorm.com Support de la formation Hacking et Sécurité Metasploit
Alphorm.com Support de la formation Hacking et Sécurité MetasploitAlphorm
 
20090113 04 - Avancement du projet de recherche en qualimétrie Squale
20090113 04 - Avancement du projet de recherche en qualimétrie Squale20090113 04 - Avancement du projet de recherche en qualimétrie Squale
20090113 04 - Avancement du projet de recherche en qualimétrie SqualeLeClubQualiteLogicielle
 
Devoxx java script-1280-720
Devoxx java script-1280-720Devoxx java script-1280-720
Devoxx java script-1280-720Romain Linsolas
 
Alphorm.com support de la formation ms azure pour les développeurs
Alphorm.com support de la formation ms azure pour les développeursAlphorm.com support de la formation ms azure pour les développeurs
Alphorm.com support de la formation ms azure pour les développeursAlphorm
 
Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux Alphorm
 
Alphorm.com Support de la Formation VMware vSphere 6, Les machines virtuelles
Alphorm.com Support de la Formation VMware vSphere 6, Les machines virtuellesAlphorm.com Support de la Formation VMware vSphere 6, Les machines virtuelles
Alphorm.com Support de la Formation VMware vSphere 6, Les machines virtuellesAlphorm
 
Alphorm.com Formation Exchange 2016, Configuration Avancée
Alphorm.com Formation Exchange 2016, Configuration AvancéeAlphorm.com Formation Exchange 2016, Configuration Avancée
Alphorm.com Formation Exchange 2016, Configuration AvancéeAlphorm
 
Atelier mooc enseigner le langage c en ligne
Atelier   mooc enseigner le langage c en ligneAtelier   mooc enseigner le langage c en ligne
Atelier mooc enseigner le langage c en ligneElla Hamonic
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesOxalide
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceLudovic Piot
 

Similaire à Alphorm.com Support de la formation JavaScript les fondamentaux (20)

Alphorm.com Support de la Formation Hyper-v 2016
Alphorm.com Support de la Formation Hyper-v 2016Alphorm.com Support de la Formation Hyper-v 2016
Alphorm.com Support de la Formation Hyper-v 2016
 
Alphorm.com Support de la Formation Windows Containers
Alphorm.com Support de la Formation Windows ContainersAlphorm.com Support de la Formation Windows Containers
Alphorm.com Support de la Formation Windows Containers
 
Alphorm.com Support de la Formation LPIC-1 version 4 ss
Alphorm.com Support de la Formation LPIC-1 version 4 ssAlphorm.com Support de la Formation LPIC-1 version 4 ss
Alphorm.com Support de la Formation LPIC-1 version 4 ss
 
présentation sur la gestion des projets.pdf
présentation sur la gestion des projets.pdfprésentation sur la gestion des projets.pdf
présentation sur la gestion des projets.pdf
 
Alphorm.com Support de la Formation Exchange 2016 Installation et Configuration
Alphorm.com Support de la Formation Exchange 2016 Installation et ConfigurationAlphorm.com Support de la Formation Exchange 2016 Installation et Configuration
Alphorm.com Support de la Formation Exchange 2016 Installation et Configuration
 
Alphorm.com Formation PCSoft(version20) GDS et Centres de contrôle
Alphorm.com Formation PCSoft(version20) GDS et Centres de contrôleAlphorm.com Formation PCSoft(version20) GDS et Centres de contrôle
Alphorm.com Formation PCSoft(version20) GDS et Centres de contrôle
 
Alphorm.com Support Formation Android 6, Expert
Alphorm.com Support Formation Android 6, ExpertAlphorm.com Support Formation Android 6, Expert
Alphorm.com Support Formation Android 6, Expert
 
Alphorm.com Support de la Formation Oracle VM Administration
Alphorm.com Support de la Formation Oracle VM AdministrationAlphorm.com Support de la Formation Oracle VM Administration
Alphorm.com Support de la Formation Oracle VM Administration
 
Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)Formation JavaScript full-stack (JS, jQuery, Node.js...)
Formation JavaScript full-stack (JS, jQuery, Node.js...)
 
Alphorm.com Support Formation Sophos UTM les fonctionnalités avancées
Alphorm.com Support Formation Sophos UTM les fonctionnalités avancéesAlphorm.com Support Formation Sophos UTM les fonctionnalités avancées
Alphorm.com Support Formation Sophos UTM les fonctionnalités avancées
 
Alphorm.com Support de la formation Hacking et Sécurité Metasploit
Alphorm.com Support de la formation Hacking et Sécurité MetasploitAlphorm.com Support de la formation Hacking et Sécurité Metasploit
Alphorm.com Support de la formation Hacking et Sécurité Metasploit
 
20090113 04 - Avancement du projet de recherche en qualimétrie Squale
20090113 04 - Avancement du projet de recherche en qualimétrie Squale20090113 04 - Avancement du projet de recherche en qualimétrie Squale
20090113 04 - Avancement du projet de recherche en qualimétrie Squale
 
Devoxx java script-1280-720
Devoxx java script-1280-720Devoxx java script-1280-720
Devoxx java script-1280-720
 
Alphorm.com support de la formation ms azure pour les développeurs
Alphorm.com support de la formation ms azure pour les développeursAlphorm.com support de la formation ms azure pour les développeurs
Alphorm.com support de la formation ms azure pour les développeurs
 
Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux
 
Alphorm.com Support de la Formation VMware vSphere 6, Les machines virtuelles
Alphorm.com Support de la Formation VMware vSphere 6, Les machines virtuellesAlphorm.com Support de la Formation VMware vSphere 6, Les machines virtuelles
Alphorm.com Support de la Formation VMware vSphere 6, Les machines virtuelles
 
Alphorm.com Formation Exchange 2016, Configuration Avancée
Alphorm.com Formation Exchange 2016, Configuration AvancéeAlphorm.com Formation Exchange 2016, Configuration Avancée
Alphorm.com Formation Exchange 2016, Configuration Avancée
 
Atelier mooc enseigner le langage c en ligne
Atelier   mooc enseigner le langage c en ligneAtelier   mooc enseigner le langage c en ligne
Atelier mooc enseigner le langage c en ligne
 
Morning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slidesMorning tech #2 - Démarche performance slides
Morning tech #2 - Démarche performance slides
 
Oxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performanceOxalide Morning tech #2 - démarche performance
Oxalide Morning tech #2 - démarche performance
 

Plus de Alphorm

Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...Alphorm
 
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...Alphorm
 
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : SécuritéAlphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : SécuritéAlphorm
 
Alphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Vue JS 3 : Créer une application de A à ZAlphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Vue JS 3 : Créer une application de A à ZAlphorm
 
Alphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
Alphorm.com Formation Blockchain : Maîtriser la Conception d'ArchitecturesAlphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
Alphorm.com Formation Blockchain : Maîtriser la Conception d'ArchitecturesAlphorm
 
Alphorm.com Formation Sage : Gestion Commerciale
Alphorm.com Formation Sage : Gestion CommercialeAlphorm.com Formation Sage : Gestion Commerciale
Alphorm.com Formation Sage : Gestion CommercialeAlphorm
 
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objetAlphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objetAlphorm
 
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord InteractifAlphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord InteractifAlphorm
 
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style IsométriqueAlphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style IsométriqueAlphorm
 
Alphorm.com Formation VMware vSphere 7 : La Mise à Niveau
Alphorm.com Formation VMware vSphere 7 : La Mise à NiveauAlphorm.com Formation VMware vSphere 7 : La Mise à Niveau
Alphorm.com Formation VMware vSphere 7 : La Mise à NiveauAlphorm
 
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...Alphorm
 
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes MobilesAlphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes MobilesAlphorm
 
Alphorm.com Formation PHP 8 : Les bases de la POO
Alphorm.com Formation PHP 8 : Les bases de la POOAlphorm.com Formation PHP 8 : Les bases de la POO
Alphorm.com Formation PHP 8 : Les bases de la POOAlphorm
 
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...Alphorm
 
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...Alphorm
 
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...Alphorm
 
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...Alphorm
 
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBootAlphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBootAlphorm
 
Alphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Active Directory 2022 : Multi Sites et ServicesAlphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Active Directory 2022 : Multi Sites et ServicesAlphorm
 
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition APIAlphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition APIAlphorm
 

Plus de Alphorm (20)

Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
Alphorm.com Formation Microsoft 365 (MS-500) : Administrateur Sécurité - Prot...
 
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
Alphorm.com Formation Google Sheets : Créer un Tableau de Bord Collaboratif a...
 
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : SécuritéAlphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
Alphorm.com Formation CCNP ENCOR 350-401 (6of8) : Sécurité
 
Alphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Vue JS 3 : Créer une application de A à ZAlphorm.com Formation Vue JS 3 : Créer une application de A à Z
Alphorm.com Formation Vue JS 3 : Créer une application de A à Z
 
Alphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
Alphorm.com Formation Blockchain : Maîtriser la Conception d'ArchitecturesAlphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
Alphorm.com Formation Blockchain : Maîtriser la Conception d'Architectures
 
Alphorm.com Formation Sage : Gestion Commerciale
Alphorm.com Formation Sage : Gestion CommercialeAlphorm.com Formation Sage : Gestion Commerciale
Alphorm.com Formation Sage : Gestion Commerciale
 
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objetAlphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
Alphorm.com Formation PHP 8 (2/6) : L'héritage en orienté objet
 
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord InteractifAlphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
Alphorm.com Formation Excel 2019 : Concevoir un Tableau de Bord Interactif
 
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style IsométriqueAlphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
Alphorm.com Formation Maya 3D : Créer un Design d'intérieur au Style Isométrique
 
Alphorm.com Formation VMware vSphere 7 : La Mise à Niveau
Alphorm.com Formation VMware vSphere 7 : La Mise à NiveauAlphorm.com Formation VMware vSphere 7 : La Mise à Niveau
Alphorm.com Formation VMware vSphere 7 : La Mise à Niveau
 
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
Alphorm.com Formation Apprendre les bonnes pratiques de CSS avec BEM : OOCSS ...
 
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes MobilesAlphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
Alphorm.com Formation Unity : Monétiser votre jeu 3D sur les plateformes Mobiles
 
Alphorm.com Formation PHP 8 : Les bases de la POO
Alphorm.com Formation PHP 8 : Les bases de la POOAlphorm.com Formation PHP 8 : Les bases de la POO
Alphorm.com Formation PHP 8 : Les bases de la POO
 
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
Alphorm.com Formation Power BI : Transformation de Données avec DAX et Power ...
 
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
Alphorm.com Formation Techniques de Blue Teaming : L'Essentiel pour l'Analyst...
 
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
Alphorm.com Formation Améliorer le développement avec CSS-in-JS _ Styled Comp...
 
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
Alphorm.com Formation Unity (6/7) : Maitriser l'Intelligence Artificielle de ...
 
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBootAlphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
Alphorm.com Formation Architecture Microservices : Jenkins et SpringBoot
 
Alphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Active Directory 2022 : Multi Sites et ServicesAlphorm.com Formation Active Directory 2022 : Multi Sites et Services
Alphorm.com Formation Active Directory 2022 : Multi Sites et Services
 
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition APIAlphorm.com Formation Vue JS 3 : Exploiter la Composition API
Alphorm.com Formation Vue JS 3 : Exploiter la Composition API
 

Alphorm.com Support de la formation JavaScript les fondamentaux

  • 1. 22/03/2016 1 Formation JavaScript, les fondamentaux alphorm.com™© Les fondamentaux JavaScript, Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant
  • 2. 22/03/2016 2 Formation JavaScript, les fondamentaux alphorm.com™© Plan • Présentation du formateur • Les autres formations sur Alphorm • Qu'est-ce que JavaScript • Le plan de formation • Présentation des outils • Les publics concernés
  • 3. 22/03/2016 2 Formation JavaScript, les fondamentaux alphorm.com™© Plan • Présentation du formateur • Les autres formations sur Alphorm • Qu'est-ce que JavaScript • Le plan de formation • Présentation des outils • Les publics concernés
  • 4. 22/03/2016 4 Formation JavaScript, les fondamentaux alphorm.com™© Les autres formations sur Alphorm
  • 5. 22/03/2016 5 Formation JavaScript, les fondamentaux alphorm.com™© JavaScript ? • Langage créé en 1995 • Issu d'un langage de développement coté serveur (LiveScript) • Un partenariat Netscape/Sun donnera son nom définitif : JavaScript • Soumis a L’Ecma (organisme de standardisation) en 1996 • JavasScript devient un langage à part entière 1997 • Concrètement : ▪ JavaScript va nous permettre de manipuler une page HTML directement dans le navigateur Web de l'utilisateur
  • 6. 22/03/2016 6 Formation JavaScript, les fondamentaux alphorm.com™© Cursus formations JavaScript JavaScript, les fondamentaux DART Tests Unitaires JavaScript, Avancé CoffeeScript Tests fonctionnels TypeScript AngularJS 2, les fondamentaux AngularJS 2, Avancé
  • 7. 22/03/2016 7 Formation JavaScript, les fondamentaux alphorm.com™© Le plan de formation 1. Introduction au développement Web 2. Les bases du langage 3. Les pièges du langage 4. Introduction à la programmation orienté objet 5. Javascript dans le navigateur 6. Javascript et la communication avec le serveur
  • 8. 22/03/2016 8 Formation JavaScript, les fondamentaux alphorm.com™© Présentation des outils Les éditeurs • SublimeText • Atom • Microsoft Visual Studio Code • NotePad++ Les navigateurs • Chrome • Firefox • Internet Explorer
  • 9. 22/03/2016 9 Formation JavaScript, les fondamentaux alphorm.com™© Les publics concernés Les développeurs et chefs de projets qui souhaite connaître le fonctionnement de JavaScript.
  • 10. 22/03/2016 10 Formation JavaScript, les fondamentaux alphorm.com™© JavaScript C’est parti !
  • 11. 22/03/2016 11 Formation JavaScript, les fondamentaux alphorm.com™© Etat de l’art des architectures Web Introduction au développement Web Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant
  • 12. 22/03/2016 12 Formation JavaScript, les fondamentaux alphorm.com™© Plan • Le Web et son évolution et l’impact de JavaScript • Le protocole HTTP et son utilisation • L’architecture REST
  • 13. 22/03/2016 13 Formation JavaScript, les fondamentaux alphorm.com™© Le Web 1.0 -> Le Web 2.0 -> ...
  • 14. 22/03/2016 14 Formation JavaScript, les fondamentaux alphorm.com™© Le Web 1.0 -> Le Web 2.0
  • 15. 22/03/2016 15 Formation JavaScript, les fondamentaux alphorm.com™© Le protocole HTTP Modèle OSI 7-Application 6-Présentation 5-Session 4-Transport 2-Liaison 3-Réseau 1-Physique Ethernet IP HTTP/... TCP UDP
  • 16. 22/03/2016 16 Formation JavaScript, les fondamentaux alphorm.com™© Le protocole HTTP : Un échange HTTP 1/2 Navigateur Web Serveur Web Request Response
  • 17. 22/03/2016 17 Formation JavaScript, les fondamentaux alphorm.com™© Le protocole HTTP : Un échange HTTP 2/2 Navigateur Web Serveur Web GET index.html <html> ... </html>
  • 18. 22/03/2016 18 Formation JavaScript, les fondamentaux alphorm.com™© Le protocole HTTP : Les méthodes GET Demander une ressource POST Transmettre des données à une ressource PUT Remplacer ou ajouter une ressource DELETE Supprimer une ressource HEAD Demander des informations sur la ressource OPTIONS Connaître les options de communications d’une ressource CONNECT utiliser un proxy comme tunnel de communication TRACE permet d’effectuer des tests PATCH modification partielle d’une ressource
  • 19. 22/03/2016 19 Formation JavaScript, les fondamentaux alphorm.com™© • L’architecture REST permet d’exploiter les méthodes HTTP associées à une URL... • Lorsqu’un navigateur récupère (GET) une page (la ressource) et l’affiche on peut dire qu’il va récupérer la représentation courante de l’état de la ressource. • Exemple : considérons cette URL : www.bibliotheque.fr/livres ▪ GET sur www.bibliotheque.fr/livres/1 va retourner le livre dont l’id est 1. ▪ DELETE sur www.bibliotheque.fr/livres/1 va effacer le livre dont l’id est 1. ▪ POST sur www.bibliotheque.fr/livres/ permet de créer un nouveau livre ▪ PUT sur www.bibliotheque.fr/livres/1 permet de modifier le livre dont l’id est 1. REST : Representational State Transfer
  • 20. 22/03/2016 20 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert • L’importance de JavaScript dans les nouvelles pratiques du développement web. • Le fonctionnement du protocole HTTP • La notion de web service avec l’architecture REST
  • 21. 22/03/2016 21 Formation JavaScript, les fondamentaux alphorm.com™© Installation de l’environnement de développement Introduction au développement Web Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant
  • 22. 22/03/2016 22 Formation JavaScript, les fondamentaux alphorm.com™© Plan • Les outils nécessaires au développement JavaScript • Node package manager (npm) • L’éditeur Atom • Les extensions d’Atom ▪ Emmet ▪ JSHint • L’exécution ▪ browser-sync
  • 23. 22/03/2016 23 Formation JavaScript, les fondamentaux alphorm.com™© Les Outils pour coder en JavaScript • Télécharger des outils et bibliothèques • Coder • Améliorer la productivité • Tester son code
  • 24. 22/03/2016 24 Formation JavaScript, les fondamentaux alphorm.com™© Node Package Manager • Node Package Manager est un outil intégré dans Node.js® qui permet le téléchargement de bibliothèques et d’outils nécessaires au développement JavaScript. • Pour information, Node.js® est une plate-forme de développement logiciel JavaScript.
  • 25. 22/03/2016 25 Formation JavaScript, les fondamentaux alphorm.com™© Formation NodeJS sur Alphorm • http://www.alphorm.com/tutoriel/formation-en-ligne-nodejs-les- fondamentaux
  • 26. 22/03/2016 26 Formation JavaScript, les fondamentaux alphorm.com™© L’éditeur • Il existe différents outils permettant de coder en JavaScript. • Un simple NotePad suffirait mais ne nous rendrait pas suffisamment productif. • Il existe plusieurs outils appropriés : • SublimeText • Visual Studio Code • NotePad++ • ... • Nous utiliserons Atom (https://atom.io/) pour cette formation. • Il est riche d'une grande communauté et il est possible de l'enrichir avec de nombreuses extensions.
  • 27. 22/03/2016 27 Formation JavaScript, les fondamentaux alphorm.com™© Tester son code • Nous avons besoins d’un serveur Web pour tester nos TPs • C’est le rôle de BrowserSync (https://www.browsersync.io/)
  • 28. 22/03/2016 28 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert • Les éditeurs pour coder • Les modules supplémentaires pour faciliter le développement • Les outils pour démarrer très rapidement un serveur web minimum
  • 29. 22/03/2016 29 Formation JavaScript, les fondamentaux alphorm.com™© Exemple HelloWorld Introduction au développement Web Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant
  • 30. 22/03/2016 30 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Tester et valider notre environnement de dèveloppement
  • 31. 22/03/2016 31 Formation JavaScript, les fondamentaux alphorm.com™© HelloWorld
  • 32. 22/03/2016 32 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •Nous avons testé et validé notre environnement de dèveloppement
  • 33. 22/03/2016 33 Formation JavaScript, les fondamentaux alphorm.com™© Les variables et leurs types Les bases du langage Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant
  • 34. 22/03/2016 34 Formation JavaScript, les fondamentaux alphorm.com™© Plan • Notion de variable • Déclarer une variable • Initialiser une variable • Les contraintes de nommage • Les opérateurs • Les types primitifs et l’opérateur typeof
  • 35. 22/03/2016 35 Formation JavaScript, les fondamentaux alphorm.com™© Notion de variable • Utilisées pour stocker des valeurs • Deux étapes pour les utiliser : ▪ Déclarer la variable ▪ Initialiser la variable
  • 36. 22/03/2016 36 Formation JavaScript, les fondamentaux alphorm.com™© Déclarer une variable • L’instruction var
  • 37. 22/03/2016 37 Formation JavaScript, les fondamentaux alphorm.com™© Initialiser une variable • Il y a 2 possibilités : ▪ Déclarer la variable et l’initialiser en 2 étapes : ▪ Déclarer la variable et l’initialiser en même temps :
  • 38. 22/03/2016 38 Formation JavaScript, les fondamentaux alphorm.com™© Les contraintes de nommages • Les variables sont “case sensitive” • C’est à dire : ▪ a et A sont deux variables différentes ! • Il est recommandé d’utiliser le plus possible la touche de “complétion” de votre éditeur ( touche TAB). • Elle doivent commencer par une lettre
  • 39. 22/03/2016 39 Formation JavaScript, les fondamentaux alphorm.com™© Les opérateurs • Les opérateurs arithmétiques + Addition - Soustraction * Multiplication / Division % Modulo ++ Incrément -- Décrément
  • 40. 22/03/2016 40 Formation JavaScript, les fondamentaux alphorm.com™© • En JavaScript les variables sont typées • Il y a 5 types primitifs ▪ Number : entier ou flottant ▪ String : chaine de caractères ▪ Boolean : (true ou false) ▪ Undefined : quand la variable que vous souhaitez utiliser n’existe pas ▪ Null : type particulier n’ayant q’une seule valeur : null • Comment connaître le type d’une variable : l’opérateur typeof. Les types de variables et l’opérateur typeof
  • 41. 22/03/2016 41 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •Les variables et les pièges de la déclaration •Les opérateurs et leurs fonctionnements •Les types 5 primitifs l’utilisation de l’opérateur typeof
  • 42. 22/03/2016 42 Formation JavaScript, les fondamentaux alphorm.com™© Les bases du langage Les tableaux Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant
  • 43. 22/03/2016 43 Formation JavaScript, les fondamentaux alphorm.com™© Plan • Notion de tableau • Déclarer et initialiser un tableau • Accéder aux éléments d’un tableau • Les opérations sur les tableaux
  • 44. 22/03/2016 44 Formation JavaScript, les fondamentaux alphorm.com™© • Un tableau est une variable qui contient une liste de valeur • Représentation d’un tableau : Notion de tableau 0 Une valeur 1 Une autre valeur 2 Encore une autre valeur
  • 45. 22/03/2016 45 Formation JavaScript, les fondamentaux alphorm.com™© • Déclaration d’un tableau vide • Déclaration d’un tableau avec des valeurs Déclarer et initialiser un tableau
  • 46. 22/03/2016 46 Formation JavaScript, les fondamentaux alphorm.com™© • Les éléments d’un tableau sont accessibles par un index. • Cet index est un nombre entier avec pour valeur initiale 0. • En reprenant cet exemple : • On en déduit la structure du tableau et la façon d’accéder aux éléments : Accéder aux éléments d’un tableau 0 1 1 2 2 3
  • 47. 22/03/2016 47 Formation JavaScript, les fondamentaux alphorm.com™© • Modification de la valeur située à l’index 2. • Ajout d’une valeur à l’index 3. • Ajout d’une valeur à l’index 6 (!) Modifier ou Ajouter une valeur
  • 48. 22/03/2016 3 Formation JavaScript, les fondamentaux alphorm.com™© Présentation du formateur Frédéric GAURAT Développeur et formateur indépendant • Compétences ▪ Web Front : HTML5/CSS3, JavaScript, Angular ▪ Web Back : PHP, Symfony, CakePHP, JEE ▪ Mobile : Android, Cordova/PhoneGap/Ionic • Mes références ▪ Site : www.eolem.com ▪ Profil Alphorm : http://www.alphorm.com/formateur/frederic-gaurat
  • 49. 22/03/2016 3 Formation JavaScript, les fondamentaux alphorm.com™© Présentation du formateur Frédéric GAURAT Développeur et formateur indépendant • Compétences ▪ Web Front : HTML5/CSS3, JavaScript, Angular ▪ Web Back : PHP, Symfony, CakePHP, JEE ▪ Mobile : Android, Cordova/PhoneGap/Ionic • Mes références ▪ Site : www.eolem.com ▪ Profil Alphorm : http://www.alphorm.com/formateur/frederic-gaurat
  • 50. 22/03/2016 50 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert • Les tableaux sont des variables qui stockent des données • Les éléments d’un tableau sont indexés • Les index commencent à 0 et s’incrémentent lors de l’ajout d’éléments dans le tableau • On accède à un élément en utilisant la notation avec crochet et son index: a[0] • Un tableau peut contenir différents types de données, même d’autres tableaux
  • 51. 22/03/2016 51 Formation JavaScript, les fondamentaux alphorm.com™© Les conditions Les bases du langage Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant
  • 52. 22/03/2016 52 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Notion de bloc de code •Structure d’une condition if •Structure d’une condition if - else •Structure d’une condition if - else if - else •La notation ternaire •Le Switch
  • 53. 22/03/2016 53 Formation JavaScript, les fondamentaux alphorm.com™© Notion de bloc de code •Un bloc de code est un ensemble d’instructions encadré par des accolades •Tout le code du bloc est exécuté au moment où le bloc est sollicité
  • 54. 22/03/2016 54 Formation JavaScript, les fondamentaux alphorm.com™© Notion de comparaison •Une comparaison renvoie toujours une valeur booléenne •Elle est constituée : ▪d'un opérateur de comparaison ▪d'un opérateur logique ▪de n'importe quelle valeur pouvant être convertie en booléen
  • 55. 22/03/2016 55 Formation JavaScript, les fondamentaux alphorm.com™© Les opérateurs •Logiques : ▪ !(NOT) ▪ &&(AND) ▪|| (OR) •Comparaisons : ▪ == (EQUAL) ▪ === (STRICT EQUALITY) ▪ < (LESS THAN) ▪ > (GREATER THAN),…
  • 56. 22/03/2016 56 Formation JavaScript, les fondamentaux alphorm.com™© Structure d’une condition if
  • 57. 22/03/2016 57 Formation JavaScript, les fondamentaux alphorm.com™© Structure d’une condition if - else
  • 58. 22/03/2016 58 Formation JavaScript, les fondamentaux alphorm.com™© Structure d’une condition if - else if - else
  • 59. 22/03/2016 59 Formation JavaScript, les fondamentaux alphorm.com™© Exemple d’utilisation •TP : Comment tester l’existence d’une variable
  • 60. 22/03/2016 60 Formation JavaScript, les fondamentaux alphorm.com™© La notation ternaire •Ce code peut être simplifié : •Par :
  • 61. 22/03/2016 61 Formation JavaScript, les fondamentaux alphorm.com™© Le switch
  • 62. 22/03/2016 62 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •Les blocs de code •La structure d'une condition •Les différents tests •La notation ternaire pour simplifier le code •La simplification des tests complexes avec le switch
  • 63. 22/03/2016 63 Formation JavaScript, les fondamentaux alphorm.com™© Les boucles Les bases du langage Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant
  • 64. 22/03/2016 64 Formation JavaScript, les fondamentaux alphorm.com™© Plan •La boucle while •La boucle do…while •La boucle for •La boucle for…in •La boucle for...of
  • 65. 22/03/2016 65 Formation JavaScript, les fondamentaux alphorm.com™© La boucle while
  • 66. 22/03/2016 66 Formation JavaScript, les fondamentaux alphorm.com™© La boucle do…while
  • 67. 22/03/2016 67 Formation JavaScript, les fondamentaux alphorm.com™© La boucle for
  • 68. 22/03/2016 68 Formation JavaScript, les fondamentaux alphorm.com™© La boucle for…in
  • 69. 22/03/2016 4 Formation JavaScript, les fondamentaux alphorm.com™© Les autres formations sur Alphorm
  • 70. 22/03/2016 70 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •La structure des boucles en JavaScript •Une introduction à l’ECMAScript 6
  • 71. 22/03/2016 71 Formation JavaScript, les fondamentaux alphorm.com™© Les fonctions Les bases du langage Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant
  • 72. 22/03/2016 72 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Notion de fonction •Appeler des fonctions et passer des paramètres •Quelques fonctions du langage •Portée des variables •Considérations importantes sur les fonctions
  • 73. 22/03/2016 73 Formation JavaScript, les fondamentaux alphorm.com™© Notion de fonction •Les fonctions sont des blocs de code réutilisables •Une fonction renvoie toujours une valeur (return) !
  • 74. 22/03/2016 74 Formation JavaScript, les fondamentaux alphorm.com™© Appeler des fonctions et passer des paramètres 1/2
  • 75. 22/03/2016 75 Formation JavaScript, les fondamentaux alphorm.com™© 2/2 •Tous les paramètres sont disponibles dans une variable spéciale : arguments
  • 76. 22/03/2016 76 Formation JavaScript, les fondamentaux alphorm.com™© Quelques fonctions du langage •parseInt() : renvoie un entier à partir d’une chaine de caractères •parseFloat() : renvoie un flottant à partir d’une chaine de caractères •isNaN() : teste si le paramètre n’est pas un nombre •isFinite() : teste si le paramètre n’est pas Infinity
  • 77. 22/03/2016 77 Formation JavaScript, les fondamentaux alphorm.com™© Portée des variables •La portée d’une variable n’est pas définie par un bloc de code ! •La portée d’une variable est définie par une fonction •Une variable doit être déclarée avec var
  • 78. 22/03/2016 78 Formation JavaScript, les fondamentaux alphorm.com™© Considérations importantes sur les fonctions 1/2 •Les fonctions sont des données, elles sont typées ! •On peut en déduire cette notation
  • 79. 22/03/2016 79 Formation JavaScript, les fondamentaux alphorm.com™© Considérations importantes sur les fonctions 2/2 •Les fonctions ont 3 caractéristiques : 1. Elles contiennent du code 2. Elles sont exécutables 3. Elles se comportent comme des variables
  • 80. 22/03/2016 80 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •Les fonctions et leurs implémentations •Découverte et utilisation de quelques fonctions du langage •Lien entre fonction et portée de variable •Caractéristiques des fonctions
  • 81. 22/03/2016 81 Formation JavaScript, les fondamentaux alphorm.com™© Gérer les erreurs Les bases du langage Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant
  • 82. 22/03/2016 82 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Les Exceptions •La structure try…catch •La structure try…finally •La structure try…catch…finally •Lancer une exception avec throw
  • 83. 22/03/2016 83 Formation JavaScript, les fondamentaux alphorm.com™© Les Exceptions •Les exceptions sont la représentation d’un comportement exceptionnel •Elles interrompent le flot d'exécution normal de votre application •Elles évitent la scrutation d’une erreur
  • 84. 22/03/2016 84 Formation JavaScript, les fondamentaux alphorm.com™© La console •L’API console fournit par les navigateurs offre plus de possibilités que le simple console.log("…"); ▪console.info() : affiche un message d’information ▪console.error() : affiche une erreur ▪console.warn() : affiche un message de warning ▪…
  • 85. 22/03/2016 85 Formation JavaScript, les fondamentaux alphorm.com™© La structure try…catch •Provoquons une erreur, ici la variable ma_variable n’existe pas. •Interceptons cette erreur •Le bloc try exécute du code susceptible de provoquer une erreur •Le bloc catch intercepte cette erreur si elle a lieu
  • 86. 22/03/2016 86 Formation JavaScript, les fondamentaux alphorm.com™© La structure try…finally •Le bloc finally est exécuté quelque soit le résultat de l’exécution du bloc try (erreur ou pas) •Utile pour initialiser la valeur d’une variable pour la suite de l’exécution
  • 87. 22/03/2016 87 Formation JavaScript, les fondamentaux alphorm.com™© La structure try…catch…finally •C’est la forme la plus complète pour gérer des exceptions
  • 88. 22/03/2016 88 Formation JavaScript, les fondamentaux alphorm.com™© Lancer une exception avec throw •Il est possible de lancer ses propres exceptions
  • 89. 22/03/2016 89 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •Le mécanisme de gestion des erreurs en JavaScript •Un aperçu de l’API console proposée par les navigateurs
  • 90. 22/03/2016 90 Formation JavaScript, les fondamentaux alphorm.com™© Notion de « Hoisting » Les pièges du langage Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant
  • 91. 22/03/2016 91 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Qu’est ce que le hoisting (traduction : une remontée) •Le hoisting et la déclaration de variable •Le hoisting et l’initialisation de variable
  • 92. 22/03/2016 92 Formation JavaScript, les fondamentaux alphorm.com™© Qu’est ce que le hoisting •En JavaScript, les déclarations de variables sont traitées avant tout !
  • 93. 22/03/2016 93 Formation JavaScript, les fondamentaux alphorm.com™© Le hoisting et la déclaration de variable •Rappel : 2 étapes pour utiliser une variable : 1. Déclaration 2. Initialisation • Nous le savons maintenant : les déclarations sont remontées (hoisted)
  • 94. 22/03/2016 94 Formation JavaScript, les fondamentaux alphorm.com™© Le hoisting et l’initialisation de variable •En revanche les initialisations, elles, ne sont pas remontées : • NaN ! b est bien déclarée (par hoisting) mais pas initialisé -> Undefined
  • 95. 22/03/2016 5 Formation JavaScript, les fondamentaux alphorm.com™© JavaScript ? • Langage créé en 1995 • Issu d'un langage de développement coté serveur (LiveScript) • Un partenariat Netscape/Sun donnera son nom définitif : JavaScript • Soumis a L’Ecma (organisme de standardisation) en 1996 • JavasScript devient un langage à part entière 1997 • Concrètement : ▪ JavaScript va nous permettre de manipuler une page HTML directement dans le navigateur Web de l'utilisateur
  • 96. 22/03/2016 5 Formation JavaScript, les fondamentaux alphorm.com™© JavaScript ? • Langage créé en 1995 • Issu d'un langage de développement coté serveur (LiveScript) • Un partenariat Netscape/Sun donnera son nom définitif : JavaScript • Soumis a L’Ecma (organisme de standardisation) en 1996 • JavasScript devient un langage à part entière 1997 • Concrètement : ▪ JavaScript va nous permettre de manipuler une page HTML directement dans le navigateur Web de l'utilisateur
  • 97. 22/03/2016 5 Formation JavaScript, les fondamentaux alphorm.com™© JavaScript ? • Langage créé en 1995 • Issu d'un langage de développement coté serveur (LiveScript) • Un partenariat Netscape/Sun donnera son nom définitif : JavaScript • Soumis a L’Ecma (organisme de standardisation) en 1996 • JavasScript devient un langage à part entière 1997 • Concrètement : ▪ JavaScript va nous permettre de manipuler une page HTML directement dans le navigateur Web de l'utilisateur
  • 98. 22/03/2016 5 Formation JavaScript, les fondamentaux alphorm.com™© JavaScript ? • Langage créé en 1995 • Issu d'un langage de développement coté serveur (LiveScript) • Un partenariat Netscape/Sun donnera son nom définitif : JavaScript • Soumis a L’Ecma (organisme de standardisation) en 1996 • JavasScript devient un langage à part entière 1997 • Concrètement : ▪ JavaScript va nous permettre de manipuler une page HTML directement dans le navigateur Web de l'utilisateur
  • 99. 22/03/2016 5 Formation JavaScript, les fondamentaux alphorm.com™© JavaScript ? • Langage créé en 1995 • Issu d'un langage de développement coté serveur (LiveScript) • Un partenariat Netscape/Sun donnera son nom définitif : JavaScript • Soumis a L’Ecma (organisme de standardisation) en 1996 • JavasScript devient un langage à part entière 1997 • Concrètement : ▪ JavaScript va nous permettre de manipuler une page HTML directement dans le navigateur Web de l'utilisateur
  • 100. 22/03/2016 100 Formation JavaScript, les fondamentaux alphorm.com™© Les objets en JavaScript Key Value nom DURAND prenom Robert
  • 101. 22/03/2016 101 Formation JavaScript, les fondamentaux alphorm.com™© Tableau indexé et tableau associatif •Deux sortes de tableaux : 1. Indexé -> les clefs sont des entiers 2. Associatif -> les clefs sont des chaines de caractères • JavaScript utilise les objets pour implémenter les tableaux associatifs
  • 102. 22/03/2016 102 Formation JavaScript, les fondamentaux alphorm.com™© Structure d’un objet •Les propriétés et les méthodes
  • 103. 22/03/2016 103 Formation JavaScript, les fondamentaux alphorm.com™© Utilisation d’un objet
  • 104. 22/03/2016 104 Formation JavaScript, les fondamentaux alphorm.com™© Création différé d’un objet •JavaScript est un langage dynamique •Il permet la modification d’un objet après sa création !
  • 105. 22/03/2016 105 Formation JavaScript, les fondamentaux alphorm.com™© La valeur this •this : « cet objet » ou l’objet courant •Ici on affiche la propriété nom de l’objet courant
  • 106. 22/03/2016 106 Formation JavaScript, les fondamentaux alphorm.com™© Notion de constructeur 1/2 •Utiliser une function pour créer un objet
  • 107. 22/03/2016 107 Formation JavaScript, les fondamentaux alphorm.com™© Notion de constructeur 2/2 •Utiliser une function et passer des paramètres pour créer un objet
  • 108. 22/03/2016 108 Formation JavaScript, les fondamentaux alphorm.com™© L’opérateur instanceof •Type primitif -> typeof •Objet -> instanceof •L’opérateur instanceof teste le constructeur de l’objet
  • 109. 22/03/2016 109 Formation JavaScript, les fondamentaux alphorm.com™© L’objet Object •Object est l’objet de base implémenté par l’ensemble des objets JavaScript. •Autrement dit tous les objets JavaScript héritent de Object •Ils bénéficient des méthodes de Object : ▪toString() ▪valueOf()
  • 110. 22/03/2016 110 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •Les objets en JavaScript •La construction d’objet •L’utilisation d’objet •Tester l’instance d’un objet
  • 111. 22/03/2016 111 Formation JavaScript, les fondamentaux alphorm.com™© Notions de prototype Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant Introduction à la POO
  • 112. 22/03/2016 112 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Qu’est ce qu’un prototype? •Ajouter des propriétés à un prototype •Distinguer les propriétés d’un objet et celles de son prototype •Améliorer les objets JavaScript (Array,…)
  • 113. 22/03/2016 113 Formation JavaScript, les fondamentaux alphorm.com™© Qu’est ce qu’un prototype •Rappel de Wikipedia : ▪Javascript est un langage orienté objet à prototype, c’est-à-dire que les bases du langage et ses principales interfaces sont fournies par des objets qui ne sont pas des instances de classes, mais qui sont chacun équipés de constructeurs permettant de créer leurs propriétés, et notamment une propriété de prototypage qui permet d’en créer des objets héritiers personnalisés.
  • 114. 22/03/2016 114 Formation JavaScript, les fondamentaux alphorm.com™© Qu’est ce qu’un prototype •On le sait, les functions sont des objets •Elles ont des propriétés •Une de ces propriétés est : prototype •Il est possible d’ajouter des propriétés et des méthodes à partir du prototype
  • 115. 22/03/2016 115 Formation JavaScript, les fondamentaux alphorm.com™© Ajouter des propriétés à un prototype
  • 116. 22/03/2016 116 Formation JavaScript, les fondamentaux alphorm.com™© Ajouter des propriétés à un prototype •En Javascript les objets sont passés par référence. •C’est-à-dire qu’il y a un prototype pour tous les objets du même constructeur.
  • 117. 22/03/2016 117 Formation JavaScript, les fondamentaux alphorm.com™© Distinguer les propriétés d’un objet et celles de son prototype •Dans notre exemple
  • 118. 22/03/2016 118 Formation JavaScript, les fondamentaux alphorm.com™© Améliorer les objets JavaScript (Array,…)
  • 119. 22/03/2016 119 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •La notion de prototype et le fonctionnement précis des objets •La modification de prototype •La modification d’objet du langage
  • 120. 22/03/2016 120 Formation JavaScript, les fondamentaux alphorm.com™© Notions de design patterns Introduction à la POO Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant
  • 121. 22/03/2016 121 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Les Design Patterns : un problème, une solution •Le pattern Module •Le pattern Singleton
  • 122. 22/03/2016 122 Formation JavaScript, les fondamentaux alphorm.com™© solution •Le Gof book (Gang of four)
  • 123. 22/03/2016 6 Formation JavaScript, les fondamentaux alphorm.com™© Cursus formations JavaScript JavaScript, les fondamentaux DART Tests Unitaires JavaScript, Avancé CoffeeScript Tests fonctionnels TypeScript AngularJS 2, les fondamentaux AngularJS 2, Avancé
  • 124. 22/03/2016 6 Formation JavaScript, les fondamentaux alphorm.com™© Cursus formations JavaScript JavaScript, les fondamentaux DART Tests Unitaires JavaScript, Avancé CoffeeScript Tests fonctionnels TypeScript AngularJS 2, les fondamentaux AngularJS 2, Avancé
  • 125. 22/03/2016 125 Formation JavaScript, les fondamentaux alphorm.com™© Le pattern Module – l’implémentation
  • 126. 22/03/2016 126 Formation JavaScript, les fondamentaux alphorm.com™© Le pattern Singleton •Le pattern Singleton permet de récupérer seulement un objet à partir d’un constructeur.
  • 127. 22/03/2016 127 Formation JavaScript, les fondamentaux alphorm.com™© Le pattern Singleton
  • 128. 22/03/2016 128 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •Une brève introduction au design patterns •Le pattern Module •Le pattern Singleton
  • 129. 22/03/2016 129 Formation JavaScript, les fondamentaux alphorm.com™© Les objets disponibles Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant Javascript dans le navigateur
  • 130. 22/03/2016 130 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Les objets existants dans le navigateur (The Browser Object Model) •Utilisation des principaux objets
  • 131. 22/03/2016 131 Formation JavaScript, les fondamentaux alphorm.com™© Les objets existants dans le navigateur (The Browser Object Model)
  • 132. 22/03/2016 132 Formation JavaScript, les fondamentaux alphorm.com™© L’objet Window •L’objet Window représente la fenêtre du navigateur
  • 133. 22/03/2016 133 Formation JavaScript, les fondamentaux alphorm.com™© L’objet Form et ses enfants
  • 134. 22/03/2016 134 Formation JavaScript, les fondamentaux alphorm.com™© L’objet Document •Document Object Model
  • 135. 22/03/2016 135 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •Les 2 modèles d’objets présents dans un navigateur le BOM et le DOM
  • 136. 22/03/2016 136 Formation JavaScript, les fondamentaux alphorm.com™© Le cycle de vie d’une page web Javascript dans le navigateur Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant Javascript dans le navigateur
  • 137. 22/03/2016 137 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Comprendre le fonctionnement de JavaScript dans une page Web. •Exécuter du code au chargement de la page
  • 138. 22/03/2016 138 Formation JavaScript, les fondamentaux alphorm.com™© Exécution du code JavaScript
  • 139. 22/03/2016 139 Formation JavaScript, les fondamentaux alphorm.com™© Exécution du code JavaScript
  • 140. 22/03/2016 140 Formation JavaScript, les fondamentaux alphorm.com™© Analyses des 2 exemples •Dans le premier exemple : l’alert bloque l’affichage du titre •Dans le second exemple : le titre est affiché et l’alert s’affiche ensuite •Conclusion le code d’une page Web est exécuté de façon séquentielle •Or, nous souhaitons exécuter notre code quand la page est prête, c’est- à-dire quand elle est chargée.
  • 141. 22/03/2016 141 Formation JavaScript, les fondamentaux alphorm.com™© Exécution au chargement de la page
  • 142. 22/03/2016 142 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •Le fonctionnement du navigateur •Exécuté du code au moment du chargement
  • 143. 22/03/2016 143 Formation JavaScript, les fondamentaux alphorm.com™© Notion et utilisation des évènements Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant Javascript dans le navigateur
  • 144. 22/03/2016 144 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Notion d’évènement •Les principaux évènements en JavaScript
  • 145. 22/03/2016 145 Formation JavaScript, les fondamentaux alphorm.com™© Notion d’évènement •Les évènements vont permettre de réagir à des actions faites par l’utilisateur ou des évolutions de la page.
  • 146. 22/03/2016 146 Formation JavaScript, les fondamentaux alphorm.com™© Le principaux évènements Event Description onchange Un élément HTML a changé onclick Un utilisateur clique sur un élément HTML onmouseover Un utilisateur survol un élément HTML avec la souris onmouseout Un utilisateur quitte un élément HTML avec la souris onkeydown Un utilisateur appui sur un touche du clavier onload Le navigateur a fini le chargement de la page
  • 147. 22/03/2016 147 Formation JavaScript, les fondamentaux alphorm.com™© Principes de fonctionnement •Un évènement est un objet ▪Il a des propriétés et des méthodes •Le bouillonnement d’évènements Div 1 Div 2 Div 3 button onclick onclick onclick onclick
  • 148. 22/03/2016 148 Formation JavaScript, les fondamentaux alphorm.com™© onchange
  • 149. 22/03/2016 7 Formation JavaScript, les fondamentaux alphorm.com™© Le plan de formation 1. Introduction au développement Web 2. Les bases du langage 3. Les pièges du langage 4. Introduction à la programmation orienté objet 5. Javascript dans le navigateur 6. Javascript et la communication avec le serveur
  • 150. 22/03/2016 150 Formation JavaScript, les fondamentaux alphorm.com™© JavaScript non-intrusif •Il ne faut pas faire référence à du JavaScript dans une page web •WebDesigner et Développeur ne sont pas forcément les mêmes personnes !
  • 151. 22/03/2016 151 Formation JavaScript, les fondamentaux alphorm.com™© onchange non-intrusif
  • 152. 22/03/2016 152 Formation JavaScript, les fondamentaux alphorm.com™© onclick non-intrusif
  • 153. 22/03/2016 153 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •Les évènements JavaScript •Le bouillonnement d’évènements •Coder les principaux évènements •Implémenter les bonnes pratiques
  • 154. 22/03/2016 154 Formation JavaScript, les fondamentaux alphorm.com™© Manipuler les formulaires Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant Javascript dans le navigateur
  • 155. 22/03/2016 155 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Les formulaires •Les éléments de formulaire •La validation de formulaire
  • 156. 22/03/2016 156 Formation JavaScript, les fondamentaux alphorm.com™© Les formulaires •Les formulaires sont des objets : ▪Propriétés : action, method,… ▪Méthodes : submit(), reset()
  • 157. 22/03/2016 157 Formation JavaScript, les fondamentaux alphorm.com™© Les éléments de formulaires •Il y en a peu : ▪Input (text,file,date,…) ▪Checkbox ▪Radio ▪Select ▪Textarea ▪Button
  • 158. 22/03/2016 158 Formation JavaScript, les fondamentaux alphorm.com™© Les éléments de formulaires •Ils sont accessibles de différentes façons :
  • 159. 22/03/2016 159 Formation JavaScript, les fondamentaux alphorm.com™© Validation de formulaire •Valider un formulaire c’est empêcher son envoi s’il n’est pas correct •On implémente la méthode onsubmit qui doit renvoyer un booléen
  • 160. 22/03/2016 160 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •Les formulaires et leurs fonctionnement •Les éléments de formulaire •La validation
  • 161. 22/03/2016 161 Formation JavaScript, les fondamentaux alphorm.com™© Manipuler une page web avec le DOM Javascript dans le navigateur Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant
  • 162. 22/03/2016 162 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Approfondissement de la notion de DOM •Récupération des éléments par différentes méthodes
  • 163. 22/03/2016 163 Formation JavaScript, les fondamentaux alphorm.com™© Le DOM •Le DOM est une API de manipulation de document (balisé) •Normalisé par le W3C •Implémenter dans tous les langages
  • 164. 22/03/2016 164 Formation JavaScript, les fondamentaux alphorm.com™© Récupération d’éléments •Considérons cet extrait de page
  • 165. 22/03/2016 165 Formation JavaScript, les fondamentaux alphorm.com™© Récupération d’éléments par id
  • 166. 22/03/2016 166 Formation JavaScript, les fondamentaux alphorm.com™© Récupération d’éléments par tag
  • 167. 22/03/2016 167 Formation JavaScript, les fondamentaux alphorm.com™© class
  • 168. 22/03/2016 8 Formation JavaScript, les fondamentaux alphorm.com™© Présentation des outils Les éditeurs • SublimeText • Atom • Microsoft Visual Studio Code • NotePad++ Les navigateurs • Chrome • Firefox • Internet Explorer
  • 169. 22/03/2016 169 Formation JavaScript, les fondamentaux alphorm.com™© Récupération d’éléments par notation CSS
  • 170. 22/03/2016 170 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •Le Document Object Model •Les différents moyens de récupérer des éléments dans une page
  • 171. 22/03/2016 171 Formation JavaScript, les fondamentaux alphorm.com™© Manipuler les styles CSS Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant Javascript dans le navigateur
  • 172. 22/03/2016 172 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Manipuler les styles CSS en JavaScript •Afficher/Cacher des éléments
  • 173. 22/03/2016 173 Formation JavaScript, les fondamentaux alphorm.com™© Rappels sur les notations •Camel case : backgroundColor •Train case : background-color
  • 174. 22/03/2016 174 Formation JavaScript, les fondamentaux alphorm.com™© Modifier un style CSS
  • 175. 22/03/2016 175 Formation JavaScript, les fondamentaux alphorm.com™© Afficher/Cacher des éléments
  • 176. 22/03/2016 176 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •Les notations CSS -> JavaScript •Modifier un style CSS •Afficher et Masquer un élément en passant par un évènement
  • 177. 22/03/2016 177 Formation JavaScript, les fondamentaux alphorm.com™© Présentation d’Ajax et JSON Javascript et la communication avec le serveur Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant
  • 178. 22/03/2016 178 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Découvrir la technologie Ajax •Découvrir JSON
  • 179. 22/03/2016 179 Formation JavaScript, les fondamentaux alphorm.com™© Découvrir la technologie Ajax •Était l’acronyme de Asynchronous JavaScript and XML •Maintenant on parle de technologie Ajax
  • 180. 22/03/2016 180 Formation JavaScript, les fondamentaux alphorm.com™© Découvrir la technologie Ajax •Le navigateur ne charge plus complètement une page •Il récupère les données en JavaScript •Il modifie la page en conséquence
  • 181. 22/03/2016 181 Formation JavaScript, les fondamentaux alphorm.com™© Utiliser Ajax 1/3 •Faire une requête Ajax •La requête est de type GET •Vers la ressource « data.json » •Elle est asynchrone
  • 182. 22/03/2016 182 Formation JavaScript, les fondamentaux alphorm.com™© Utiliser Ajax 2/3 •Attendre la réponse du serveur
  • 183. 22/03/2016 9 Formation JavaScript, les fondamentaux alphorm.com™© Les publics concernés Les développeurs et chefs de projets qui souhaite connaître le fonctionnement de JavaScript.
  • 184. 22/03/2016 9 Formation JavaScript, les fondamentaux alphorm.com™© Les publics concernés Les développeurs et chefs de projets qui souhaite connaître le fonctionnement de JavaScript.
  • 185. 22/03/2016 185 Formation JavaScript, les fondamentaux alphorm.com™© Utiliser JSON •Il suffit d’évaluer une chaine contenant du JSON pour obtenir l’objet JS
  • 186. 22/03/2016 186 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •L’architecture Ajax •L’utilisation d’Ajax en Javascript •Le format JSON
  • 187. 22/03/2016 187 Formation JavaScript, les fondamentaux alphorm.com™© Soumettre un formulaire en Ajax Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant Javascript et la communication avec le serveur
  • 188. 22/03/2016 188 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Utiliser Ajax pour envoyer un formulaire au serveur
  • 189. 22/03/2016 189 Formation JavaScript, les fondamentaux alphorm.com™© Envoyer un formulaire en Ajax 1/2 •Récupérer les données et les transformer en JSON
  • 190. 22/03/2016 190 Formation JavaScript, les fondamentaux alphorm.com™© Envoyer un formulaire en Ajax 2/2 •Les envoyer au serveur
  • 191. 22/03/2016 191 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •L’envoi d’un formulaire en Ajax
  • 192. 22/03/2016 192 Formation JavaScript, les fondamentaux alphorm.com™© Présentation des services web Restful Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant Javascript et la communication avec le serveur
  • 193. 22/03/2016 193 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Rappel de la définition d’un service Web •L’architecture REST
  • 194. 22/03/2016 194 Formation JavaScript, les fondamentaux alphorm.com™© Qu'est-ce qu'un service Web •D’après Wikipedia : ▪Un service web est un programme informatique de la famille des technologies web ▪Il permet la communication et l'échange de données
  • 195. 22/03/2016 195 Formation JavaScript, les fondamentaux alphorm.com™© Le protocole HTTP : Les méthodes GET Demander une ressource POST Transmettre des données à une ressource PUT Remplacer ou ajouter une ressource DELETE Supprimer une ressource HEAD Demander des informations sur la ressource OPTIONS Connaître les options de communications d’une ressource CONNECT utiliser un proxy comme tunnel de communication TRACE permet d’effectuer des tests PATCH modification partielle d’une ressource
  • 196. 22/03/2016 196 Formation JavaScript, les fondamentaux alphorm.com™© • L’architecture REST permet d’exploiter les méthodes HTTP associées à une URL... • Lorsqu’un navigateur récupère (GET) une page (la ressource) et l’affiche on peut dire qu’il va récupérer la représentation courante de l’état de la ressource. • Exemple : considérons cette URL : www.bibliotheque.fr/livres ▪ GET sur www.bibliotheque.fr/livres/1 va retourner le livre dont l’id est 1. ▪ DELETE sur www.bibliotheque.fr/livres/1 va effacer le livre dont l’id est 1. ▪ POST sur www.bibliotheque.fr/livres/ permet de créer un nouveau livre ▪ PUT sur www.bibliotheque.fr/livres/1 permet de modifier le livre dont l’id est 1. REST : Representational State Transfer
  • 197. 22/03/2016 197 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •La définition d’un service Web •L’architecture REST
  • 198. 22/03/2016 198 Formation JavaScript, les fondamentaux alphorm.com™© Consommer des services web Restful avec JavaScript : CREATE Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant Javascript et la communication avec le serveur
  • 199. 22/03/2016 199 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Développer une application CRUD •Simuler une API REST
  • 200. 22/03/2016 200 Formation JavaScript, les fondamentaux alphorm.com™© Développer une application CRUD •Créer une application simple pour gérer une liste de client 1. Create : Un formulaire 2. Read : Une table qui affichera les données 3. Update : un formulaire avec les données pré-rempli accessible à partir de la table 4. Delete : un bouton de suppression sera disponible dans la table
  • 201. 22/03/2016 201 Formation JavaScript, les fondamentaux alphorm.com™© Simuler une API REST •Présentation de Deployd •Installation de Deployd : http://deployd.com/ •Mise en place de l’API
  • 202. 22/03/2016 202 Formation JavaScript, les fondamentaux alphorm.com™© Create : Un formulaire •Construire le formulaire •Coder la création du client
  • 203. 22/03/2016 203 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •La structure d’une application simple •L’installation de deployd pour simuler une API REST •Le développement du formulaire de création d’un client
  • 204. 22/03/2016 204 Formation JavaScript, les fondamentaux alphorm.com™© Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant Javascript et la communication avec le serveur Consommer des services web Restful avec JavaScript : READ
  • 205. 22/03/2016 205 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Développer la partie d’affichage de nos clients
  • 206. 22/03/2016 206 Formation JavaScript, les fondamentaux alphorm.com™© Développer une application CRUD •Create : Une formulaire •Read : Une table qui affichera les données •Update : un formulaire avec les données pré-rempli accessible à partir de la table •Delete : un bouton de suppression sera disponible dans la table
  • 207. 22/03/2016 207 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •Le développement de la table qui affichera les clients stockés dans le serveur
  • 208. 22/03/2016 208 Formation JavaScript, les fondamentaux alphorm.com™© Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant Javascript et la communication avec le serveur Consommer des services web Restful avec JavaScript : UPDATE
  • 209. 22/03/2016 209 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Gérer la mise à jours de nos clients
  • 210. 22/03/2016 210 Formation JavaScript, les fondamentaux alphorm.com™© Développer une application CRUD •Create : Une formulaire •Read : Une table qui affichera les données •Update : un formulaire avec les données pré-rempli accessible à partir de la table •Delete : un bouton de suppression sera disponible dans la table
  • 211. 22/03/2016 211 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •La mise à jours d’un client dans notre application
  • 212. 22/03/2016 212 Formation JavaScript, les fondamentaux alphorm.com™© Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant Javascript et la communication avec le serveur Consommer des services web Restful avec JavaScript : DELETE
  • 213. 22/03/2016 213 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Gérer la suppression d’un client
  • 214. 22/03/2016 214 Formation JavaScript, les fondamentaux alphorm.com™© Développer une application CRUD •Create : Une formulaire •Read : Une table qui affichera les données •Update : un formulaire avec les données pré-rempli accessible à partir de la table •Delete : un bouton de suppression sera disponible dans la table
  • 215. 22/03/2016 215 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert •La suppression d’un client
  • 216. 22/03/2016 216 Formation JavaScript, les fondamentaux alphorm.com™© Conclusion JavaScript Les Fondamentaux Site : http://www.alphorm.com Blog : http://blog.alphorm.com Frédéric GAURAT Développeur et Formateur Consultant indépendant
  • 217. 22/03/2016 217 Formation JavaScript, les fondamentaux alphorm.com™© Plan •Ce qui a été couvert •Ce qui reste à aborder
  • 218. 22/03/2016 218 Formation JavaScript, les fondamentaux alphorm.com™© Ce qu’on a couvert dans cette formation •Introduction au développement Web ▪ Etat de l’art des architectures web ▪ Installation de l’environnement de développement ▪ Les bases du langage ▪ Les variables et leurs types, les tableaux,les conditions, les boucles, les fonctions,les erreurs •Les pièges du langage ▪ Notion de « Hoisting » •Introduction à la programmation orienté objet ▪ Notions d’objet (les classes, l’héritage) ▪ Notions de prototype ▪ Notions de design patterns •Javascript dans le navigateur ▪ Les objets disponibles ▪ Le cycle de vie d’une page web •Notion et utilisation des évènements ▪ Manipuler les formulaires, les pages web avec le DOM, les styles •Javascript et la communication avec le serveur ▪ Présentation d’Ajax et JSON ▪ Soumettre un formulaire en Ajax ▪ Présentation des services web Restful ▪ Consommer des services web Restful avec Javascript : CREATE,READ,UPDATE,DELETE
  • 219. 22/03/2016 219 Formation JavaScript, les fondamentaux alphorm.com™© Cursus formations JavaScript JavaScript, les fondamentaux DART Tests Unitaires JavaScript, Avancé CoffeeScript Tests fonctionnels TypeScript AngularJS 2, les fondamentaux AngularJS 2, Avancé
  • 220. 22/03/2016 220 Formation JavaScript, les fondamentaux alphorm.com™© La formation Javascript avancé •Utilisation avancée des Fonctions ▪ Les différents types de fonction (anonymes, immédiates, internes) ▪ Les scopes et les closures •Programmation Orienté Objet en JavaScript ▪ Rappel sur les prototypes ▪ Implémentation des constructeurs ▪ Implémentation de l’encapsulation ▪ L’héritage en JavaScript ▪ Utilisation du « this » ▪ Implémentation de Design Patterns •Programmation asynchrones ▪ Le callback hell ▪ Les promesses •Les tasks runner ▪ Les tâches de base (Qualité,Obfuscation,…) ▪ Présentation de Grunt ▪ Présentation de Gulp ▪ Présentation de Brunch •Programmation Modulaire ▪ Organiser son code et le rendre performant : Asynchronous Module Definition (AMD) ▪ Utilisation de RequireJS •Le futur de JavaScript ▪ CoffeeScript, Dart,TypeScript ▪ La spécification ECMAScript 6
  • 221. 22/03/2016 221 Formation JavaScript, les fondamentaux alphorm.com™© A bientôt ! ▪ Site : www.eolem.com ▪ Profil Alphorm : http://www.alphorm.com/formateur/frederic-gaurat