1. Supports de cours
  2. JavaScript et Angular - Des bases du langage au développement d'une application web

JavaScript et Angular Des bases du langage au développement d'une application web

Bientôt disponible !
Suivez-nous pour être informé dès la sortie

Présentation

Cet ouvrage s'adresse aux développeurs qui souhaitent apprendre à développer une application web avec le Framework JavaScript de Google : Angular. Le lecteur est placé dans un cadre méthodologique Agile Scrum lui permettant d'assimiler les mécanismes de développement dans un contexte professionnel.

Rédigé en deux parties, l'auteur détaille dans la première partie du support les concepts du langage JavaScript, basiques comme plus avancés, en les illustrant par des exemples. Le lecteur peut ainsi se familiariser avec l'installation de l'IDE, les types de données, les boucles et conditions, les fonctions ou encore la programmation orientée objet avec JavaScript. Un chapitre consacré à TypeScript permet au lecteur de faire le lien entre le langage JavaScript et le framework Angular.

Dans la seconde partie, l'auteur étudie ensuite pas à pas et par la pratique les mécanismes d'Angular avec le développement d'une application « fil rouge » étoffée de chapitre en chapitre grâce aux nouveaux concepts acquis. Le lecteur peut ainsi mettre en oeuvre les composants et leur hiérarchie, les gabarits, les API, les formulaires, le routage, la programmation réactive, les tests unitaires et de bout en bout, l'authentification, l'exploitation d'une base de données avec FireBase et l'intégration continue avec Travis pour aboutir très rapidement à une application pleinement fonctionnelle. Plusieurs outils sont également étudiés pour être en mesure de qualifier et auditer son propre code et ainsi gagner en productivité.

Table des matières

  • Historique
    • 1. Internet
      • 1.1 Un réseau pour les lier tous
      • 1.2 TCP/IP
      • 1.3 Navigateurs et WWW
    • 2. JavaScript
      • 2.1 Valider un formulaire
      • 2.2 ECMAScript
      • 2.3 DOM
      • 2.4 Déclinaisons
      • 2.5 JavaScript et le web
    • 3. Angular
      • 3.1 AngularJS
      • 3.2 Angular 2
      • 3.3 Versions suivantes
  • Installation
    • 1. Introduction
    • 2. Visual Studio Code
      • 2.1 Installation
        • 2.1.1 Windows
        • 2.1.2 Linux
      • 2.2 Interface
    • 3. Google Chrome
    • 4. git
    • 5. Node.js
    • 6. npm
    • 7. Angular CLI
    • 8. Structure de cet ouvrage
  • Types de données
    • 1. Commandes Git
    • 2. Introduction
    • 3. Déclaration de variable
    • 4. Nombres
      • 4.1 Types de nombres
      • 4.2 Opérations élémentaires
      • 4.3 Nombres à virgule
      • 4.4 Syntaxe simplifiée
        • 4.4.1 Incrémentation et décrémentation
        • 4.4.2 Opérations mathématiques courantes
    • 5. Chaînes de caractères
      • 5.1 Déclaration et initialisation
      • 5.2 Concaténation
    • 6. Tableaux
      • 6.1 Déclaration et initialisation
      • 6.2 Accès
      • 6.3 Modification
      • 6.4 Fonctions utiles
        • 6.4.1 push et unshift
        • 6.4.2 pop et shift
        • 6.4.3 indexOf
    • 7. Mise en pratique
      • 7.1 Énoncé
      • 7.2 Correction
  • Boucles et conditions
    • 1. Commandes Git
    • 2. Conditions
      • 2.1 Opérateurs logiques
        • 2.1.1 ET
        • 2.1.2 OU
        • 2.1.3 NON
        • 2.1.4 Évaluation
        • 2.1.5 Priorité des opérations
      • 2.2 Syntaxe
        • 2.2.1 if
        • 2.2.2 if... else
        • 2.2.3 Opérateur ternaire
        • 2.2.4 switch
    • 3. Boucles
      • 3.1 while
        • 3.1.1 Syntaxe
        • 3.1.2 Vers l'infini et au-delà
        • 3.1.3 Exemple
        • 3.1.4 Version alternative
      • 3.2 for
        • 3.2.1 Syntaxe
        • 3.2.2 FizzBuzz
        • 3.2.3 Optimisation pour les indices de listes et d'objets
    • 4. Mise en pratique
      • 4.1 Énoncé
      • 4.2 Correction
  • Fonctions
    • 1. Commandes Git
    • 2. Introduction
    • 3. Fonctions simples
      • 3.1 Syntaxe
      • 3.2 Portées
        • 3.2.1 Portée globale
        • 3.2.2 Portée locale
    • 4. Fonctions et arguments
      • 4.1 Syntaxe de fonction avec arguments
      • 4.2 Appel de fonction avec arguments
      • 4.3 Valeur par défaut des arguments
      • 4.4 Nombre d'arguments indéfini
    • 5. Retour
      • 5.1 Syntaxe
      • 5.2 Utilisation d'un retour de fonction
    • 6. Fonctions ou méthodes
    • 7. Mise en pratique
      • 7.1 Énoncé
      • 7.2 Correction
  • JavaScript orienté objet
    • 1. Commandes Git
    • 2. Définition
    • 3. Création d'un objet
    • 4. Bob le constructeur
    • 5. Propriétés et méthodes
    • 6. Classes
      • 6.1 Constructeur
      • 6.2 Méthodes
        • 6.2.1 Getters et setters
        • 6.2.2 Méthodes et attributs statiques
    • 7. Mise en pratique
      • 7.1 Énoncé
        • 7.1.1 Pokémon
        • 7.1.2 Attaque
        • 7.1.3 Combat
      • 7.2 Correction
        • 7.2.1 Pokémon
        • 7.2.2 Attaque
        • 7.2.3 Combat
  • TypeScript
    • 1. Commandes Git
    • 2. Historique
    • 3. Intégrer TypeScript à un projet web
      • 3.1 npm
      • 3.2 Création d'un fichier TypeScript
    • 4. Typage
      • 4.1 JavaScript et les erreurs de typage
      • 4.2 TypeScript et le typage
      • 4.3 Erreurs de compilation
      • 4.4 Types
    • 5. Énumérations
      • 5.1 Déclaration
      • 5.2 Utilisation d’une variable de type énumération
    • 6. Fonctions
      • 6.1 Généralités
      • 6.2 Fonctions particulières
        • 6.2.1 Fonctions anonymes
        • 6.2.2 Fonctions lambda ou fléchées
    • 7. Classes et héritage
      • 7.1 Classe minimale
      • 7.2 Attributs
      • 7.3 Accesseurs
      • 7.4 Constructeur
      • 7.5 Méthodes
      • 7.6 Héritage
    • 8. Modules
    • 9. Mise en pratique
      • 9.1 Énoncé
      • 9.2 Correction
  • Angular CLI - Composants
    • 1. Commandes Git
    • 2. Introduction
    • 3. Création d'une nouvelle application Angular
      • 3.1 Génération d’un nouveau projet avec AngularCLI
      • 3.2 Architecture d’un projet généré
    • 4. Composants
      • 4.1 Classe TypeScript
      • 4.2 Décorateur
      • 4.3 Métadonnées
      • 4.4 Ajout dans le module principal
      • 4.5 Utilisation d’un composant
    • 5. Angular CLI et la création de composants
      • 5.1 Génération d’un composant avec AngularCLI
      • 5.2 Méthodes intervenant dans le cycle de vie d’un composant Angular
    • 6. Mise en pratique
      • 6.1 Énoncé
      • 6.2 Correction
  • Gabarits
    • 1. Commandes Git
    • 2. Introduction
    • 3. Bootstrap
    • 4. Interpolation
    • 5. Événements
    • 6. Directives
      • 6.1 Directives de structure
        • 6.1.1 Conditions
        • 6.1.2 Itérations
        • 6.1.3 Choix multiples
      • 6.2 Directives de données
        • 6.2.1 Classes
        • 6.2.2 Style
    • 7. Mise en pratique
      • 7.1 Énoncé
      • 7.2 Correction
  • Mise en forme dans les gabarits
    • 1. Commandes Git
    • 2. Introduction
    • 3. Tuber des chaînes de caractères
    • 4. Tuber des nombres
      • 4.1 DecimalPipe
      • 4.2 PercentPipe
      • 4.3 CurrencyPipe
    • 5. Tuber une date
    • 6. Tuber un objet ou un dictionnaire
      • 6.1 KeyValuePipe
    • 7. Tuber un tableau ou une chaîne de caractères
      • 7.1 SlicePipe
    • 8. Tuber des objets provenant d’API externes
      • 8.1 JsonPipe
      • 8.2 AsyncPipe
    • 9. Mise en pratique
      • 9.1 Énoncé
      • 9.2 Correction
  • Hiérarchie des composants
    • 1. Commandes Git
    • 2. Architecture hiérarchique
    • 3. Transmission père-fils
    • 4. Transmission fils-père
    • 5. Mise en pratique
      • 5.1 Énoncé
      • 5.2 Correction
  • Services
    • 1. Commandes Git
    • 2. Introduction
    • 3. Dépendances
    • 4. Services
    • 5. Exemple de service
    • 6. CRUD et les services
    • 7. Mise en pratique
      • 7.1 Énoncé
      • 7.2 Correction
  • Formulaires
    • 1. Commandes Git
    • 2. Introduction
    • 3. Créer un formulaire HTML
    • 4. Créer un formulaire Angular
      • 4.1 Méthode 1 : à l’intérieur d’un gabarit
        • 4.1.1 FormsModule
        • 4.1.2 Interpolation
        • 4.1.3 Lier le formulaire à un modèle
      • 4.2 Méthode 2 : à l’intérieur d’une classe TypeScript
        • 4.2.1 ReactiveFormsModule
        • 4.2.2 Créer un formulaire TypeScript
        • 4.2.3 Lier chaque champ HTML au formulaire TypeScript
        • 4.2.4 FormBuilder
    • 5. Soumettre un formulaire
    • 6. Mise en pratique
      • 6.1 Énoncé
      • 6.2 Correction
  • Gestion avancée des formulaires
    • 1. Commandes Git
    • 2. Introduction
    • 3. Validation des champs de saisie
      • 3.1 Dans un formulaire basé sur un template
      • 3.2 Dans un formulaire basé sur une classe TypeScript
    • 4. Validateurs personnalisés
    • 5. Mise en forme selon les validateurs
      • 5.1 NgModel et ses booléens de comportement
      • 5.2 Mise en forme selon validateurs
        • 5.2.1 Signaler une erreur dans un champ par un message
        • 5.2.2 Encadrer un champ
    • 6. Mise en pratique
      • 6.1 Énoncé
      • 6.2 Correction
  • Routage
    • 1. Commandes Git
    • 2. Introduction
    • 3. Angular CLI et le routage
    • 4. href != routerLink
    • 5. app-routing.module.ts
    • 6. Routes
      • 6.1 Route joker
      • 6.2 Routes paramétrées
        • 6.2.1 Navigation dans le gabarit
        • 6.2.2 Navigation dans le composant TypeScript
        • 6.2.3 Utilisation du paramètre de l’URL dans un composant
    • 7. Hiérarchie dans les routes
      • 7.1 Création de quatre composants
      • 7.2 Routes enfants
      • 7.3 Mise en place des composants enfants
    • 8. Permissions
    • 9. Mise en pratique
      • 9.1 Énoncé
      • 9.2 Correction
  • Programmation réactive
    • 1. Commandes Git
    • 2. Introduction
    • 3. Promesse
      • 3.1 Instancier une promesse
      • 3.2 Fonction de rappel
    • 4. Observable
      • 4.1 Généralités
      • 4.2 rxjs
    • 5. HTTP : HyperText Transfer Protocol
    • 6. Mise en pratique
      • 6.1 Énoncé
        • 6.1.1 Générations
        • 6.1.2 Pokémons
      • 6.2 Correction
        • 6.2.1 Générations
        • 6.2.2 Pokémons
  • Tests unitaires
    • 1. Commandes Git
    • 2. Introduction
    • 3. Jasmine
      • 3.1 Tests unitaire basiques
      • 3.2 Fixture
      • 3.3 Lancer les tests unitaires
    • 4. Tests unitaires d'un composant Angular
      • 4.1 Classe TypeScript
      • 4.2 Gabarit
      • 4.3 Dépendances
    • 5. Karma
    • 6. Couverture de code
    • 7. Mise en pratique
      • 7.1 Énoncé
      • 7.2 Correction
  • Tests de bout en bout
    • 1. Commandes Git
    • 2. Introduction
    • 3. Protractor
      • 3.1 Objet page
      • 3.2 Test e2e
    • 4. Tester les actions utilisateurs
      • 4.1 Modifier l'objet page
      • 4.2 Ajouter deux tests
    • 5. Et à part cliquer ?
      • 5.1 Au niveau du navigateur
      • 5.2 Au niveau d'un élément
    • 6. Cas concret : une liste et des boutons
    • 7. Mise en pratique
      • 7.1 Énoncé
      • 7.2 Correction
        • 7.2.1 Page principale
        • 7.2.2 Page Générations
        • 7.2.3 Page Pokémons
        • 7.2.4 Lancement des tests
  • Outils complémentaires
    • 1. Introduction
    • 2. Compodoc
      • 2.1 Installation
      • 2.2 Génération
    • 3. WakaTime
      • 3.1 Fonctionnement
      • 3.2 Installation
      • 3.3 Badge
    • 4. Travis
      • 4.1 Configuration
      • 4.2 Navigateurs web sans interface graphique
      • 4.3 Tuning
      • 4.4 Une intégration, plusieurs actions
      • 4.5 Badge
    • 5. Codacy
      • 5.1 Plug-in GitHub
      • 5.2 codacy.com
      • 5.3 Configuration
      • 5.4 Badge
    • 6. Firebase
      • 6.1 Prérequis
        • 6.1.1 Firebase > Angular
        • 6.1.2 Angular > Firebase
      • 6.2 Authentification
        • 6.2.1 Modes de connexion
        • 6.2.2 Service Angular d'authentification
      • 6.3 Connexion à une base de données Firebase
        • 6.3.1 Création de la base de données
        • 6.3.2 Définition du modèle
        • 6.3.3 Implémentation du service
    • 7. Code Konami
    • Index

Auteur

Julien CALIENDOEn savoir plus

Administrateur système et développeur web pour des entreprises étatiques depuis plus de quinze ans, Julien Caliendo est compétent dans de nombreux domaines de l'informatique et en a exploré plusieurs facettes. Également formateur pour des étudiants de niveau bac à master auxquels il transmet sa passion pour les nouvelles technologies, il partage dans ce livre son expertise sur JavaScript qui permet des développements rapides et professionnels aussi bien coté client que coté serveur, en environnement bureau, mobile ou web.

Caractéristiques

  • Niveau Initié à Confirmé
  • Nombre de pages 322 pages
  • Parution juillet 2020
    • Reliure spirale - 17 x 21 cm (Médian)
    • ISBN : 978-2-409-02472-6
    • EAN : 9782409024726
    • Ref. ENI : RIMJSANG
  • Niveau Débutant à Initié
  • Parution avril 2020
    • HTML
    • ISBN : 978-2-409-02473-3
    • EAN : 9782409024733
    • Ref. ENI : LNRIMJSANG
  • Niveau Débutant à Initié
  • Parution avril 2020
    • Bundle
    • Ref. ENI : INRIMJSANG

Téléchargements

En complétant ce formulaire, vous acceptez d'être contacté afin de recevoir des informations sur nos produits et services ainsi que nos communications marketing. Vous aurez la possibilité de vous désabonner de nos communications à tout moment. Pour plus d'informations sur notre politique de protection des données, cliquez ici.
  • Des fichiers complémentaires (1,21 Mo)