1. Livres et vidéos
  2. Angular - Développez vos applications web avec le framework JavaScript de Google (2e édition)

Angular Développez vos applications web avec le framework JavaScript de Google (2e édition)

  • Accès illimité 24h/24, 7J/7
  • Tous les livres en ligne, les vidéos et les cours enregistrés ENI
  • Plus de 10 nouveautés livres et vidéos chaque mois
  • Les nouveautés disponibles le jour de leur sortie
  • Accès 100% en ligne
  • En stock
  • Expédié en 24h00
  • Livraison à partir de 0,01 €
  • Version en ligne offerte
  • 1 h d'accès gratuit à tous nos livres et vidéos pour chaque commande
  • Accessible immédiatement
  • Version HTML
  • Accès illimité 24h/24, 7J/7

Présentation

Ce livre permet aux lecteurs de se lancer dans le développement d'applications web avec le framework Angular (en version 8 au moment de l'écriture). Pour une meilleure compréhension de son contenu, il est nécessaire d'avoir un minimum de connaissances sur le fonctionnement du web et sur les langages HTML et JavaScript. Les auteurs ont eu à cœur de rédiger un livre très pragmatique avec de nombreux exemples de code, commentés et expliqués, qui illustrent de façon très concrète les passages plus théoriques. Conçu pour être un allié efficace au quotidien, ce livre à la structure claire constitue un réel référentiel Angular pour le développeur.

Dans les premiers chapitres, pour pouvoir démarrer le développement d'une application avec Angular, les auteurs traitent des sujets à maîtriser que sont les composants, les templates, les pipes ou encore les modules. Le langage de Microsoft TypeScript et l'outil en ligne de commande CLI sont également étudiés.

Chacun des chapitres suivants détaille une brique précise du framework. Le lecteur y apprend ce qu'est un composant, un service ou une directive et comment les utiliser. Le fonctionnement de l'injection de dépendances ou du routage sont traités ainsi que la création d'un formulaire ou les interactions avec l'utilisateur.

Le livre se poursuit avec l'apprentissage des tests d'une application Angular, que ce soit au travers de tests unitaires ou d'intégration (end-to-end), ainsi que des différentes possibilités existantes pour rendre une application multiplateforme (ou cross-platform).

Enfin, un chapitre est consacré à des sujets plus avancés dans lequel les auteurs détaillent notamment la façon d'effectuer le rendu côté serveur ou encore le fonctionnement du moteur de détection de changements.



Quizinclus dans
la version en ligne !
  • Testez vos connaissances à l'issue de chaque chapitre
  • Validez vos acquis

Table des matières

  • Avant-propos
    • 1. Pourquoi cet ouvrage ?
    • 2. À qui s'adresse cet ouvrage ?
    • 3. Structure de l'ouvrage
  • Introduction
    • 1. État des lieux du développement web
    • 2. Angular
      • 2.1 Organisation par composants
      • 2.2 TypeScript
      • 2.3 Les spécifications ES6
      • 2.4 DOM Virtuel
      • 2.5 Rendu côté serveur possible
    • 3. AngularJS vs Angular
  • Ma première application
    • 1. Introduction
    • 2. Le setup
      • 2.1 Installation de npm
      • 2.2 Installation d’Angular CLI et initialisation du projet
    • 3. Mon premier composant
    • 4. Mon premier module
    • 5. Lancement de l'application
  • Fondamentaux d'Angular
    • 1. Introduction
    • 2. Les composants
    • 3. Les templates
      • 3.1 Binding
      • 3.2 Événements JavaScript
      • 3.3 Listes
      • 3.4 Afficher/cacher un élément
      • 3.5 Liens
      • 3.6 Styles
      • 3.7 Directives
    • 4. Les décorateurs
    • 5. Les pipes
      • 5.1 Utiliser un pipe
      • 5.2 Les pipes du framework
      • 5.3 Créer un pipe
        • 5.3.1 Les pipes de transformation
        • 5.3.2 Les pipes filtres
      • 5.4 Les pipes purs et impurs
    • 6. Les modules
    • 7. Observable et promise
    • 8. Préparer l'application pour la production
  • TypeScript
    • 1. JavaScript
    • 2. TypeScript
      • 2.1 Syntaxe
        • 2.1.1 Variables
        • 2.1.2 Fonctions
        • 2.1.3 Classes
        • 2.1.4 Arrow Function
        • 2.1.5 Union type
        • 2.1.6 Interface
        • 2.1.7 Générique
        • 2.1.8 Les décorateurs
      • 2.2 Typings
      • 2.3 Compilation
      • 2.4 EcmaScript 6 et 7 dès maintenant
      • 2.5 Angular et TypeScript
  • Angular CLI
    • 1. Introduction
    • 2. Qu'est-ce qu’Angular CLI ?
      • 2.1 La définition
      • 2.2 Les commandes principales
        • 2.2.1 Créer un nouveau projet Angular CLI : ng new
        • 2.2.2 Compiler l'application : ng build
        • 2.2.3 Lancer l'application avec ng serve
        • 2.2.4 Exécuter les tests avec Angular CLI
      • 2.3 Les commandes de scaffolding
      • 2.4 La génération d'un composant
    • 3. Configurer un projet Angular CLI
      • 3.1 Schéma du fichier de configuration d'Angular CLI
      • 3.2 Gérer les assets lors de la compilation
      • 3.3 Intégrer une librairie externe
      • 3.4 Intégrer un préprocesseur CSS
      • 3.5 Ajouter des entités de manière globale
        • 3.5.1 Ajouter un script globalement
        • 3.5.2 Ajouter une feuille de style globalement
      • 3.6 Éjecter la configuration Webpack
    • 4. Compilation Ahead-Of-Time (AOT)
  • Les composants
    • 1. Introduction
    • 2. Qu'est-ce qu'un composant ?
      • 2.1 Une première définition
      • 2.2 Créer un premier composant
        • 2.2.1 Syntaxe inline
        • 2.2.2 Une réelle syntaxe, découpée en plusieurs fichiers
        • 2.2.3 Utiliser un composant dans son application
      • 2.3 Afficher les propriétés d'un composant
    • 3. Les inputs et outputs
      • 3.1 Les inputs d'un composant
        • 3.1.1 Déclarer une variable en tant qu'Input
        • 3.1.2 Un exemple concret avec une liste
        • 3.1.3 Donner un nom personnalisé à son input
      • 3.2 Les outputs d'un composant
      • 3.3 Donner un nom personnalisé à son output
    • 4. Interaction entre composants
      • 4.1 Passer une donnée du parent vers l'enfant à l'aide d'un input
      • 4.2 Intercepter un changement de valeur à l'aide d'un setter
      • 4.3 Notifier le parent à l'aide d'un EventEmitter en output
      • 4.4 Observer les changements d'input avec ngOnChanges
      • 4.5 Utiliser une variable locale
    • 5. Les décorateurs @ViewChild et @ViewChildren
      • 5.1 Récupérer une référence avec @ViewChild
      • 5.2 Récupérer plusieurs références avec @ViewChildren
    • 6. Les composants Angular et la View Encapsulation
      • 6.1 Le Shadow DOM
      • 6.2 Spécifier une View Encapsulation
      • 6.3 Les types de View Encapsulation
        • 6.3.1 La View Encapsulation émulée
        • 6.3.2 La View Encapsulation native
        • 6.3.3 Aucune View Encapsulation
  • Les services
    • 1. Introduction
    • 2. Qu'est-ce qu'un service ?
    • 3. Déclarer son service
    • 4. Utiliser son service
    • 5. Rendre son service asynchrone
      • 5.1 Les promises
      • 5.2 Les observables
      • 5.3 Que choisir ?
    • 6. Notifier lorsque les données changent
  • L'injection de dépendances
    • 1. Principe de base
    • 2. Injection de dépendances dans Angular
      • 2.1 Enregistrement global
      • 2.2 Enregistrement dans un composant
      • 2.3 Injecter une dépendance
    • 3. Provider
      • 3.1 UseClass
      • 3.2 UseExisting
      • 3.3 UseFactory
      • 3.4 UseValue
      • 3.5 OpaqueToken
      • 3.6 Dépendance optionnelle
      • 3.7 Injection restreinte
      • 3.8 Restriction de l'enregistrement d'une dépendance
  • Le requêtage HTTP
    • 1. Introduction
    • 2. Obtenir et envoyer des données
    • 3. Transformer des données
    • 4. Communiquer de manière sécurisée
    • 5. Simuler le requêtage HTTP
  • Les interactions utilisateur
    • 1. Qu’est-ce que l’event binding ?
    • 2. S’abonner à un événement
    • 3. Récupérer une entrée utilisateur
      • 3.1 Comment manipuler l’objet $event ?
      • 3.2 Utiliser un typage fort pour $event
      • 3.3 Une alternative grâce à un template reference variable
      • 3.4 Utiliser un template reference variable avec un événement
      • 3.5 Filtrer les entrées utilisateur
  • Les formulaires
    • 1. Les formulaires basés sur un template
    • 2. Créer un composant formulaire
      • 2.1 Le composant
      • 2.2 La vue et le data binding
        • 2.2.1 La syntaxe ngModel
        • 2.2.2 ngModel en détail
        • 2.2.3 L’utilisation de ngModel dans un cas concret
      • 2.3 Intégrer le formulaire dans l’application
    • 3. Les états et la validité d’un champ
      • 3.1 Les états d’un input
      • 3.2 Styliser selon la validité
    • 4. Soumettre le formulaire
    • 5. Les formulaires et les FormControls
      • 5.1 Les contrôles et les groupes de contrôles
      • 5.2 Les validateurs intégrés
      • 5.3 Créer un validateur personnalisé
      • 5.4 Les validateurs asynchrones
  • Le routage
    • 1. Introduction
    • 2. Définir les routes d’une application
    • 3. Le rendu de composant
    • 4. Naviguer dans son application
    • 5. Récupération des données de routage
    • 6. Outlet nommé
      • 6.1 Définir des outlets nommés
      • 6.2 Naviguer avec des outlets nommés
    • 7. Resolver
  • Les directives
    • 1. Introduction
    • 2. Qu’est-ce qu’une directive ?
      • 2.1 Introduction
      • 2.2 Directives communes
        • 2.2.1 ngIf
        • 2.2.2 ngFor
        • 2.2.3 ngStyle
        • 2.2.4 ngClass
    • 3. Les directives d’attribut
      • 3.1 Créer une directive d’attribut
      • 3.2 Interagir avec les événements du DOM
      • 3.3 Passer des valeurs aux directives d’attribut
    • 4. Les directives structurelles
      • 4.1 La balise <template> et l’astérisque
      • 4.2 Créer une directive structurelle
  • Tester son application
    • 1. Introduction
    • 2. Les tests unitaires
      • 2.1 Introduction aux tests avec Jasmine
      • 2.2 Exécuter du code avant ou après chaque test
      • 2.3 Les matchers mis à disposition
        • 2.3.1 Comment utiliser un matcher ?
        • 2.3.2 Des exemples de matchers
        • 2.3.3 Négation d’un matcher
      • 2.4 Créer un matcher personnalisé
        • 2.4.1 Créer une librairie de matchers personnalisés
        • 2.4.2 Utiliser un matcher personnalisé
      • 2.5 Les composants
        • 2.5.1 Le composant à tester
        • 2.5.2 Le TestBed
        • 2.5.3 Vérifier que le composant est bien instancié
        • 2.5.4 Contrôler les propriétés du composant
        • 2.5.5 S’assurer que le rendu du composant soit cohérent
      • 2.6 Les services
        • 2.6.1 Le service à tester
        • 2.6.2 Tester le service
        • 2.6.3 S’assurer que le service est bien injecté
      • 2.7 Les directives
        • 2.7.1 La directive à tester
        • 2.7.2 Tester la directive
      • 2.8 Injecter un faux service
    • 3. Les tests e2e
      • 3.1 Lancer les tests e2e
      • 3.2 Écrire un test e2e
        • 3.2.1 Interagir avec le navigateur
        • 3.2.2 Récupérer un élément du DOM et interagir avec
        • 3.2.3 Interagir avec les éléments DOM
        • 3.2.4 Tester le composant
      • 3.3 Écrire un test e2e, en mieux
  • Le cross-platform avec Angular
    • 1. Apache Cordova
      • 1.1 Créer un projet Apache Cordova
      • 1.2 Angular dans Apache Cordova
      • 1.3 Utiliser un plug-in Apache Cordova
    • 2. Ionic 2
      • 2.1 Créer un projet Ionic
      • 2.2 Utiliser les composants Ionic
      • 2.3 Utiliser Ionic DevApp
      • 2.4 Utiliser un plug-in avec Ionic
  • Pour aller plus loin
    • 1. Introduction
    • 2. Rendu côté serveur
      • 2.1 Principe de la mise en place
      • 2.2 Ajouter le rendu côté serveur
    • 3. La détection de changement
      • 3.1 Pourquoi la détection de changement ?
      • 3.2 Les Zones, ou comment notifier Angular ?
        • 3.2.1 Le comportement de la détection de changement
        • 3.2.2 L’immuabilité et la stratégie de détection de changement OnPush
      • 3.3 Encore plus de contrôle sur la détection de changement
    • 4. Le cycle de vie d’un composant
      • 4.1 La présentation des lifecycle hooks
        • 4.1.1 Les différents hooks
        • 4.1.2 Utiliser un lifecycle hook
      • 4.2 Le cycle de vie d’un composant
        • 4.2.1 Le constructeur
        • 4.2.2 ngOnInit
        • 4.2.3 ngOnChanges
        • 4.2.4 ngDoCheck
        • 4.2.5 ngAfterContentInit
        • 4.2.6 ngAfterContentChecked
        • 4.2.7 ngAfterViewInit
        • 4.2.8 ngAfterViewChecked
        • 4.2.9 ngOnDestroy
    • Index

Auteurs

Daniel DJORDJEVICEn savoir plus

Développeur passionné depuis de nombreuses années, Daniel DJORDJEVIC a toujours porté de l'intérêt aux technologies web. Aujourd'hui développeur Full Stack, il intervient sur toute la stack des nouveaux projets, notamment avec Angular et ASP.NET Core au sein du cloud Microsoft Azure.

Sébastien OLLIVIEREn savoir plus

Développeur web Full Stack depuis plusieurs années, Sébastien OLLIVIER s'intéresse particulièrement aux problématiques d'architecture et de performance. Au quotidien, il travaille à la fois sur des sujets d'UI, d'architecture Cloud, de performances et de DevOps. Il est reconnu Microsoft MVP (Most Valuable Professional) dans la catégorie Developer Technologies et est également l'auteur de deux livres sur Angular aux Editions ENI. Vous pouvez suivre son actualité sur son compte twitter @SebastienOll et sur son blog https://sebastienollivier.fr/blog.

William KLEINEn savoir plus

Développeur web Full Stack passionné, William KLEIN est en veille technologique permanente sur les domaines des applications web et des technologies .NET. Il est reconnu Microsoft MVP (Most Valuable Professional) dans la catégorie Developer Technologies.

Caractéristiques

  • Niveau Confirmé à Expert
  • Nombre de pages 368 pages
  • Parution octobre 2019
    • Livre (broché) - 17 x 21 cm
    • ISBN : 978-2-409-02092-6
    • EAN : 9782409020926
    • Ref. ENI : EI2ANGOO
  • Niveau Confirmé à Expert
  • Parution octobre 2019
    • HTML
    • ISBN : 978-2-409-02093-3
    • EAN : 9782409020933
    • Ref. ENI : LNEI2ANGOO