• Aide
  • Eurêkoi Eurêkoi

Livre

Apprendre à développer avec JavaScript : des bases à l'utilisation de frameworks

Résumé

Après des rappels et des apports en algorithmique, le chercheur explique le langage JavaScript, ses concepts, ses principes et ses fonctionnalités, à travers des exemples concrets réutilisables dans d'autres développements. Avec des chapitres relatifs aux principaux frameworks tels que Svelte et React. Avec des contenus supplémentaires accessibles en ligne.


  • Éditeur(s)
  • Date
    • C 2024
  • Notes
    • La couv. porte en plus : "En téléchargement : code source des exercices"
    • La 4e de couv. indique : sur www.editions-eni-fr : code source des exercices du livre
    • Contient un "flashcode" permettant d'accéder à un contenu via Internet
  • Langues
    • Français
  • Description matérielle
    • 1 vol. (800 p.) : ill. ; 22 cm
  • Collections
  • Sujet(s)
  • ISBN
    • 978-2-409-04650-6
  • Indice
  • Quatrième de couverture
    • Apprendre à développer avec JavaScript

      Des bases à l'utilisation de frameworks

      Ce livre sur l'apprentissage du langage JavaScript s'adresse à des lecteurs qui souhaitent maîtriser cette brique incontournable et omniprésente dans le développement de sites web (intranet, extranet, internet) et dans celui d'applications hybrides pour smartphones et tablettes. La maîtrise du langage JavaScript est un atout essentiel pour acquérir une expertise dans le domaine des technologies du Web 2.0.

      En prenant le parti que le lecteur n'a que des connaissances minimales en programmation, l'auteur débute par des rappels ou des apports en algorithmique puis explique les bases du langage JavaScript en détail. Les différents concepts, principes ou fonctionnalités sont mis en oeuvre au travers d'exemples concrets facilement réutilisables. Dans la mesure où le langage JavaScript interagit avec d'autres technologies web (ou langages) comme l'incontournable HTML, les feuilles de styles CSS, les langages de script orientés serveurs comme PHP, ce livre vous permettra aussi de faire vos premiers pas sur ces différentes technologies.

      Des chapitres proposent de découvrir les principaux frameworks JavaScript tels que Svelte et React qui facilitent le développement d'applications web. Le framework React Native (déclinaison de React) permettant de développer aisément des applications pour mobiles en approche hybride, déployables sur plateformes Android et iOS (iPhone et iPad) est aussi présenté.

      Dans cette cinquième édition, une partie sur Vue3.js vient compléter la liste des frameworks JavaScript orientés web. Un chapitre est dédié à des librairies logicielles JavaScript disponibles dans le domaine de l'intelligence artificielle telles que Math.js et TensorFlow.js.

      Tous les chapitres du livre intègrent de nombreux exemples largement commentés et en progression logique. Des éléments complémentaires sont en téléchargement sur le site . Vous y trouverez aussi des applications « bonus », non décrites dans le livre.


  • Tables des matières
      • Apprendre à développer avec JavaScript

      • Des bases à l'utilisation de frameworks 5e édition

      • Christian Vigouroux

      • Partie 1 : Présentation de JavaScript et programmation à partir d'algorithmes
      • Chapitre 1-1
      • Présentation du langage JavaScript
      • 1. Définition et rapide historique15
      • 2. Prérequis pour un apprentissage aisé du langage17
      • 3. Outillage nécessaire17
      • 4. Positionnement du JavaScript face à d'autres technologies de développement web (HTML, CSS, PHP...)18
      • Chapitre 1-2
      • Développement à partir d'algorithmes
      • 1. Présentation de la notion d'algorithme19
      • 2. Notion de variable20
      • 2.1 Présentation des notions de variable et de type20
      • 2.2 Types de base et opérations associées21
      • 2.3 Intérêt des types22
      • 2.4 Utilisation des variables dans des expressions24
      • 2.5 Tableau récapitulatif des opérateurs24
      • 3. Manipulation des variables25
      • 3.1 Nommage des variables25
      • 3.2 Affectation26
      • 3.3 Exercice n° 1 : Inversion du contenu de deux variables mémoire27
      • 3.4 Affichage des résultats28
      • 3.5 Exercice n° 2 : Surfaces de cercles30
      • 3.6 Saisie au clavier31
      • 3.7 Exercice n° 3 : Surface et volume d'une sphère32
      • 4. Fonctions prédéfinies32
      • 4.1 Exercice n° 4 : Affichage de la longueur d'un nom33
      • 4.2 Exercice n° 5 : Détermination des initiales34
      • 5. Traitements conditionnés36
      • 5.1 Exercice n° 6 : Polynôme du second degré38
      • 5.2 Exercice n° 7 : Libellé du mois en clair39
      • 5.3 Exercice n° 8 : Libellé du mois en clair (Suivant... Finsuivant)41
      • 6. Structures itératives42
      • 6.1 Principe des itérations42
      • 6.2 Structures itératives de base42
      • 6.3 Exercice n° 9 : Moyenne de 10 nombres45
      • 6.4 Exercice n° 10 : Moyenne d'une série de n nombres45
      • 6.5 Exercice n° 11 : Plus Grand Commun Diviseur par la méthode des divisions successives48
      • 6.6 Structure itérative Pour50
      • 6.7 Exercice n° 12 : Calcul de la moyenne de 10 nombres51
      • 6.8 Exercice n° 13 : Décompte du nombre de voyelles dans un mot52
      • 7. Tableaux à dimension unique54
      • 7.1 Exercice n° 14 : Décompte des nombres pairs dans un tableau55
      • 8. Tableaux à dimensions multiples56
      • 8.1 Exercice n° 15 : Mini-tableur56
      • 9. Procédures, fonctions et passage de paramètres58
      • 9.1 Les objectifs58
      • 9.2 Les procédures58
      • 9.3 Exercice n° 16 : Appel d'une procédure avec passage de paramètres59
      • 9.4 Les fonctions60
      • 9.5 Exercice n° 17 : Appel d'une fonction avec passage de paramètres61
      • Partie 2 : Bien débuter avec JavaScript
      • Chapitre 2-1
      • Bases du langage JavaScript
      • 1. Méthodologie d'apprentissage63
      • 2. Variables (déclaration et typage)64
      • 2.1 Exercice n° 2 : Surfaces de cercles64
      • 2.2 Exercice n° 3 : Surface et volume d'une sphère70
      • 2.3 Exercice n° 4 : Nombre de lettres d'un mot72
      • 2.4 Exercice n° 5 : Détermination des initiales73
      • Chapitre 2-2
      • Conditionnement des traitements
      • 1. Présentation de la syntaxe75
      • 2. Exemples77
      • 2.1 Exercice n° 6 : Polynôme du second degré77
      • 2.2 Exercice n° 8 : Impression du libellé d'un mois78
      • Chapitre 2-3
      • Traitements itératifs (boucles)
      • 1. Présentation de la syntaxe des boucles81
      • 2. Boucle while82
      • 2.1 Syntaxe82
      • 2.2 Exercice n° 9 : Moyenne de 10 nombres saisis au clavier82
      • 2.3 Exercice n° 10 : Moyenne d'une série de n nombres saisis au clavier83
      • 3. Boucle do while85
      • 3.1 Syntaxe85
      • 3.2 Exercice n° 11 : Moyenne d'une série de n nombres saisis au clavier85
      • 4. Boucle for86
      • 4.1 Syntaxe86
      • 4.2 Exercice n° 12 : Moyenne d'une série de 10 nombres saisis au clavier.87
      • 4.3 Exercice n° 13 : Décompte du nombre de voyelles dans un mot88
      • Chapitre 2-4
      • Tableaux
      • 1. Tableaux à dimension unique91
      • 1.1 Syntaxe91
      • 1.2 Exercice n° 14 : Décompte des nombres pairs dans un tableau92
      • 2. Tableaux à dimensions multiples94
      • 2.1 Syntaxe94
      • 2.2 Exercice n° 15 : Mini-tableur95
      • Chapitre 2-5
      • Procédures et fonctions
      • 1. Les procédures97
      • 1.1 Syntaxe98
      • 1.2 Exercice n° 16 : Appel d'une procédure avec passage de paramètres98
      • 2. Les fonctions100
      • 2.1 Syntaxe100
      • 2.2 Exercice n° 17 Appel d'une fonction avec passage de paramètres100
      • Partie 3 : Approche POO sous JavaScript
      • Chapitre 3-1
      • Approche « objet » en JavaScript
      • 1. Introduction103
      • 2. Programmation orientée objet au travers d'exemples103
      • 2.1 Séquence 1 : Déclaration des objets JavaScript en méthode « Inline »104
      • 2.2 Séquence 2 : Création des objets JavaScript par constructeur105
      • 2.3 Séquence 3 : Variables privées dans une instance d'objet106
      • 2.4 Séquence 4 : Passage de paramètre (s) à un constructeur107
      • 2.5 Séquence 5 : Non-partage des méthodes par les instances d'objets107
      • 2.6 Séquence 6 : Notion de prototype109
      • 2.7 Séquence 7 : Surcharge d'une méthode110
      • 2.8 Séquence 8 : Extension d'un prototype111
      • 2.9 Séquence 9 : Mécanisme de l'héritage112
      • 2.10 Séquence 10 : Limite de l'héritage de la séquence n° 9114
      • 2.11 Séquence 11 : Une seconde limite à notre héritage115
      • Chapitre 3-2
      • Objets de base de JavaScript
      • 1. Présentation117
      • 2. Les objets de base117
      • 2.1 Objet Array118
      • 2.2 Objet Date118
      • 2.3 Objet Math125
      • 2.4 Objet window128
      • 2.5 Objet navigator137
      • 2.6 Objet String139
      • Chapitre 3-3
      • Les nouveautés d'EcmaScript6
      • 1. Présentation générale145
      • 2. Apports au niveau de la Programmation Orientée Objet146
      • 2.1 Notion de prototype146
      • 2.2 Surcharge d'une méthode149
      • 2.3 Extension de prototype152
      • 2.4 Héritage154
      • 2.5 Premier exemple POO en EcmaScript 6158
      • 2.6 Héritage en EcmaScript161
      • 2.7 Méthodes getter, setter et static en EcmaScript 6164
      • 3. Fonctions fléchées (arrow functions)169
      • 3.1 Avantages des fonctions fléchées169
      • 3.2 Exemple169
      • 4. Structures Map, Set et boucle for of174
      • 4.1 Présentation générale174
      • 4.2 Exemple175
      • 5. Portée des variables (var ou let)183
      • 5.1 Présentation générale183
      • 5.2 Exemple183
      • 6. Promesses (promise)187
      • 6.1 Présentation générale187
      • 6.2 Exemple187
      • 7. Déstructuration191
      • 7.1 Présentation générale191
      • 7.2 Exemple191
      • Partie 4 : Gestion de formulaire et modèle DOM
      • Chapitre 4-1
      • Saisie de données via des formulaires
      • 1. Pilotage des contrôles de saisie via JavaScript195
      • 1.1 Contrôle de saisie sur un champ texte195
      • 1.2 Contrôle de numéricité d'une saisie dans un champ texte201
      • 1.3 Contrôle de caractères alphabétiques d'une saisie dans un champ texte204
      • 1.4 Contrôle de caractères alphabétiques et numériques d'une saisie dans un champ texte204
      • 1.5 Contrôle de longueur d'une saisie dans un champ texte205
      • 1.6 Contrôle de saisie sur une adresse e-mail206
      • 1.7 Contrôle d'un choix dans une liste déroulante (version simplifiée)206
      • 1.8 Contrôle d'un choix dans une liste déroulante (version étendue)209
      • 1.9 Contrôle d'un choix par bouton radio212
      • 1.10 Contrôle d'un choix par case à cocher216
      • Chapitre 4-2
      • Modèle DOM
      • 1. Introduction221
      • 1.1 Définition de DOM221
      • 1.2 Définition de l'arborescence222
      • 2. Apprentissage du modèle DOM224
      • 2.1 Script « Hello World ! »224
      • 2.2 Différence entre write et writeln225
      • 2.3 Gestion des liens hypertextes226
      • 2.4 Gestion des images228
      • 2.5 Gestion des formulaires et de leurs balises230
      • 2.6 Gestion des ancres232
      • 2.7 Gestion de la navigation entre pages web234
      • 2.8 Affichage de caractéristiques générales du document239
      • 2.9 Gestion des boutons dans les formulaires241
      • 2.10 Gestion des tableaux (balise HTML table)250
      • Chapitre 4-3
      • Exploration de flux XML via DOM
      • 1. Notion de flux XML279
      • 2. Exemples280
      • 2.1 Exemple 1 : Affichage d'un contenu d'e-mail codé en XML280
      • 2.2 Exemple 2 : Liste des marques des voitures (fichier voitures. xml)283
      • 2.3 Exemple 3 : Liste des marques des voitures avec une boucle285
      • 2.4 Exemple 4 : Liste des noeuds rattachés à la racine287
      • 2.5 Exemple 5 : Liste des champs (noeuds) de chaque voiture289
      • 2.6 Exemple 6 : Remplacement d'une valeur de noeud291
      • 2.7 Exemple 7 : Accès aux attributs292
      • 2.8 Exemple 8 : Accès à un noeud parent293
      • 2.9 Exemple 9 : Parcours arrière des noeuds294
      • 2.10 Exemple 10 : Remplacement systématique d'une valeur d'attribut295
      • 2.11 Exemple 11 : Conversion XML en HTML296
      • 2.12 Exemple 12 : Suppression d'un noeud dans un flux XML298
      • Partie 5 : Cookies et mécaniques de persistance
      • Chapitre 5-1
      • Gestion des cookies en JavaScript
      • 1. Notion de cookie303
      • 2. Ecriture d'un cookie304
      • 3. Lecture d'un cookie306
      • 4. Suppression d'un cookie308
      • Chapitre 5-2
      • Stockage local de données
      • 1. Présentation générale des solutions309
      • 1.1 Stockage par sessionS to rage310
      • 1.2 Stockage par localStorage310
      • 2. Mise en oeuvre du Web Storage au travers d'exemples311
      • 2.1 Exemple 1 : Stockage par localStorage de chaînes de caractères311
      • 2.2 Exemple 2 : Stockage dans le localStorage d'un objet JavaScript319
      • Chapitre 5-3
      • Stockage distant (Ajax - PHP - MySQL - XML)
      • 1. Présentation générale de la solution329
      • 2. Mise en oeuvre du stockage distant au travers d'exemples330
      • 2.1 Exemple 1 : Accès Ajax sur BDD MySQL (liste de l'ensemble des voitures)331
      • 2.2 Exemple 2 : Accès MySQL via Ajax352
      • Chapitre 5-4
      • Stockage distant (Ajax - PHP - MySQL - JSON)
      • 1. Présentation générale de la solution359
      • 2. Mise en oeuvre du stockage distant au travers d'exemples361
      • 2.1 Exemple 1 : Présentation du système de notation JSON361
      • 2.2 Exemple 2 : Lecture d'un fichier JSON via XMLHttpRequest365
      • 2.3 Exemple 3 : Lecture d'un fichier JSON via XMLHttpRequest et un script serveur en PHP371
      • 2.4 Exemple 4 : Lecture d'une table MySQL via XMLHttpRequest (serveur PHP et flux JSON)373
      • 2.5 Exemple 5 : Recodage de l'exemple 4 avec une liste déroulante378
      • Partie 6 : Géolocalisation, dessin et graphiques de gestion
      • Chapitre 6-1
      • Géolocalisation
      • 1. Principe de la géolocalisation383
      • 2. Exemples d'applications de géolocalisation384
      • 2.1 Exemple 1 : Affichage de la carte de l'Ouest de la France384
      • 2.2 Exemple 2 : Affichage de la carte de l'Ouest de la France (marqueur)390
      • 2.3 Exemple 3 : Affichage de la carte de l'Ouest de la France (marqueur et cercles de population)393
      • 2.4 Exemple 4 : Affichage de la carte de l'Ouest de la France (informations météorologiques)396
      • 2.5 Exemple 5 : Affichage de la carte de Rennes Centre-Sud (avec photo des sites importants)403
      • 2.6 Exemple 6 : Affichage de la carte de Rennes (Street View)404
      • Chapitre 6-2
      • Dessin (HTML5 CANVAS)
      • 1. Présentation de l'API HTML5 CANVAS409
      • 2. Exemples d'applications de l'élément <canvas>410
      • 2.1 Exemple 1 : Tracé d'un simple carré410
      • 2.2 Exemple 2 : Tracé d'une grille de TicTacToe413
      • 2.3 Améliorations possibles sur le jeu du TicTacToe420
      • Chapitre 6-3
      • Graphiques de gestion
      • 1. Différentes solutions de conception de graphiques de gestion421
      • 2. Exemples d'utilisation des API Google Charts421
      • 2.1 Exemple 1 : Tracé d'un histogramme422
      • 2.2 Exemple 2 : Tracé d'un graphique en secteurs427
      • 2.3 Exemple 3 : Tracé d'une carte429
      • Partie 7 : Frameworks JavaScript
      • Chapitre 7-1
      • Positionnement des frameworks JavaScript
      • 1. Présentation générale des frameworks JavaScript433
      • 1.1 Frameworks « front-end »433
      • 1.2 Frameworks « back-end »434
      • 1.3 Solutions de développement « hybride »434
      • 2. Les frameworks Node. js, Svelte, React et React Native435
      • Chapitre 7-2
      • Installation de Node. js
      • 1. Présentation du framework Node. js437
      • 2. Installation du framework Node. js438
      • Chapitre 7-3
      • Framework Svelte
      • 1. Présentation du framework Svelte447
      • 2. Site svelte. dev448
      • 3. Création locale d'un projet Svelte451
      • 4. Installation de Microsoft Visual Studio Code452
      • 5. Projets Svelte453
      • 5.1 « eni_svelte_01 » - Première application453
      • 5.2 « eni_svelte_02 » - Importance des commentaires459
      • 5.3 « eni_svelte_03 » - Mise en place d'une image.461
      • 5.4 « eni_svelte_04 » - Intégration de balises HTML463
      • 5.5 « eni_svelte_05 » - Un premier bouton465
      • 5.6 « eni_svelte_06 » - Le rôle du $ dans les formules467
      • 5.7 « eni_svelte_07 » - Champs de saisie469
      • 5.8 « eni_svelte_08 » - Saisie avec curseur472
      • 5.9 « eni_svelte_09 » - Cases à cocher474
      • 5.10 « eni_svelte_10 » - Boutons « radio »477
      • 5.11 « eni_svelte_l1 » -Liste480
      • 5.12 « eni_svelte_12 » -Liste et boutons « radio »482
      • 5.13 « eni_svelte_13 » -Boutons Svelte Materiality484
      • 5.14 « eni_svelte_14 » -Liste déroulante Svelte Materiality486
      • 5.15 « eni_svelte_15 » -Switches Svelte Materiality488
      • Chapitre 7-4
      • Framework React
      • 1. Présentation de React491
      • 2. Création locale d'un projet React492
      • 3. Projets React basiques493
      • 3.1 « eni_react_bases_01 »493
      • 3.2 « eni_react_bases_02 »499
      • 3.3 « eni_react_bases_03 »500
      • 3.4 « eni_react_bases_04 »503
      • 3.5 « eni_react_bases_05 »506
      • 3.6 « eni_react_bases_06 »510
      • 4. Les props React513
      • 4.1 « eni_react_props_01 »513
      • 4.2 « eni_react_props_02 »515
      • 4.3 « eni_react_props_03 »517
      • 5. Les librairies tierces pour React519
      • 5.1 « eni_react_material-ui_table_01 »520
      • 5.2 « eni_react_material-ui_table_02 »523
      • 5.3 « eni_react_material-ui_table_03 »526
      • 5.4 « eni_react_recharts_01 »529
      • 5.5 « eni_react_recharts_02 »533
      • 5.6 « eni_react_recharts_03 »536
      • 6. Lecture de fichiers JSON sous React539
      • 6.1 Différents types de flux JSON539
      • 6.2 « eni_react_lecture_json_local »540
      • 7. Interactions avec un serveur PHP-MySQL548
      • 7.1 « eni_react_php_mysql_01 »548
      • 7.2 « eni_react_php_mysql_02 »555
      • 7.3 « eni_react_php_mysql_03 »570
      • 7.4 « eni_react_php_mysql_04 »574
      • 7.5 « eni_react_php_mysql_05 »584
      • 8. La navigation sous React (routage)589
      • Chapitre 7-5
      • Framework React Native
      • 1. Approches de développement pour périphériques mobiles595
      • 1.1 Développements web, natif et hybride595
      • 1.1.1 Applications web596
      • 1.1.2 Applications natives596
      • 1.1.3 Applications hybrides597
      • 1.2 Les trois principales plateformes598
      • 1.2.1 Apple iOS598
      • 1.2.2 Android599
      • 1.2.3 Windows Phone, Windows 10 Mobile599
      • 2. Présentation du framework React Native599
      • 3. Projets React Native601
      • 3.1 Application « eni_react_native_helloworld »601
      • 3.2 Application « eni_react_native_list_view »618
      • 3.3 Application « eni_react_native_input_text »623
      • 3.4 Application « eni_react_native_picker_basique »629
      • 3.5 Application « eni_react_native_hook »633
      • 3.6 Application « eni_react_native_php_mysql »637
      • 3.7 Présentation d'une application CRUD PHP-MySQL complète643
      • 3.8 Application « eni_react_native_villes_ajout »644
      • 3.9 Application « eni_react_native_villes_liste »653
      • 3.10 Application « eni_react_native_villes_modification »658
      • 3.11 Application « eni_react_native_villes_suppression »669
      • Chapitre 7-6
      • Framework Vue3. js
      • 1. Présentation de Vue3. js675
      • 1.1 Points communs entre React. js et Vue3. js675
      • 1.2 Les points forts de Vue3. js676
      • 1.3 Les points faibles de Vue3. js677
      • 2. Applications basiques Vue3. js677
      • 2.1 Application « eni_vue3js_liste_voitures_01. html »677
      • 2.2 Application « eni_vue3js_liste_voitures_02. html »680
      • 2.3 Application « eni_vue3js_liste_voitures_03. html »681
      • 2.4 Application « eni_vue3js_liste_voitures_04. html »682
      • 2.5 Application « eni_vue3js_liste_voitures_05. html »685
      • 2.6 Application « eni_vue3js_liste_voitures_06. html »687
      • 2.7 Application « eni_vue3js_liste_voitures_07. html »691
      • 2.8 Application « eni_vue3js21iste_voitures_08. html »696
      • 2.9 Application « eni_vue3js_liste_voitures_09. html »698
      • 3. Applications Vue3. js couplées avec MySQL707
      • 3.1 Content Delivery Network (CDN)708
      • 3.2 Node. js Package Manager (NPM)708
      • 3.3 Interface en ligne de commandes (CLI)710
      • 3.4 Application « eni_vue3js_voitures_mysql_l »710
      • 3.4.1 Création de l'application dans un sous-répertoire710
      • 3.4.2 Lancement de l'application712
      • 3.4.3 Modifier les scripts générés (squelette) par le template712
      • 3.5 Application « eni_vue3js_voitures_mysql_2 »726
      • 3.6 Application « eni_vue3js_voitures_mysql_3 »732
      • 3.7 Application « eni_vue3js_voitures_mysql_4 »739
      • Partie 8 : JavaScript et l'intelligence Artificielle
      • Chapitre 8-1
      • Mise en oeuvre de la librairie Math. js
      • 1. Introduction747
      • 2. Application « eni_mathjs_01. html » - Statistiques basiques sur une matrice 3*3747
      • 3. Application « eni_mathjs_02. html » - Statistiques Iris (échantillon partiel)750
      • 4. Application « eni_mathjs_03. html » - Statistiques Iris (échantillon complet)759
      • 5. Application « eni_mathjs_04. html » - Régression linéaire Iris (échantillon partiel)766
      • Chapitre 8-2
      • Mise en oeuvre de la librairie TensorFlow. js
      • 1. Algorithme de classification automatique777
      • 2. Application « eni_classification_iris. html »778
      • Index791

  • Origine de la notice:
    • BPI
  • Disponible - A partir du 25 août 2025 - 681.230 VIG