Trés bien expliqué , j apprécie les exemples donnés
Daniel B- Livres & vidéos
- Angular - Développez vos applications web avec le framework JavaScript de Google (4e édition)
Angular Développez vos applications web avec le framework JavaScript de Google (4e édition)
Les points forts du livre :
- Une approche pédagogique ancrée dans la pratique : exemples concrets et projet fil rouge,
- Une couverture exhaustive, des fondamentaux aux pratiques avancées,
- Un guide aligné sur les dernières évolutions du framework Angular (v19).
- Niveau Confirmé à Expert
- Nombre de pages 566 pages
- Parution avril 2025
- Niveau Confirmé à Expert
- Parution avril 2025
Ce livre permet aux lecteurs de se lancer dans le développement d’applications web avec le framework Angular (en version 19 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 à coeur 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. En complément de ces exemples, le livre est enrichi d’un projet fil rouge qui évolue tout au long des chapitres afin de mettre en pratique chaque nouvelle connaissance et de construire progressivement une application complète et fonctionnelle. 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.
Le lecteur trouvera dans les premiers chapitres une approche des fondamentaux comme comprendre le contenu d’un projet Angular et ses outils, puis un code simpliste pour démarrer sa première application. Les auteurs y traitent aussi les fondamentaux à maîtriser comme le langage de Microsoft : TypeScript et l’outil en ligne de commande CLI. Chaque chapitre détaille ensuite une brique précise du framework. Le lecteur y découvre les composants, les signaux, les services et les directives, tout en apprenant à les maîtriser et les intégrer efficacement. Sont également abordés le mécanisme d’injection de dépendances, la gestion du routage ou encore la création de formulaires.
Le livre se poursuit graduellement avec des thèmes de plus en plus avancés comme l’apprentissage des tests unitaires et tests de bout en bout (end-to-end), différentes solutions pour rendre une application multiplateforme (ou cross-platform), comment architecturer et organiser son application et bien d’autres encore jusqu’à la façon d’effectuer le rendu côté serveur.
Caractéristiques
- Livre (broché) - 17 x 21 cm
- ISBN : 978-2-409-04910-1
- EAN : 9782409049101
- Ref. ENI : EI4ANGOO
Caractéristiques
- HTML
- ISBN : 978-2-409-04911-8
- EAN : 9782409049118
- Ref. ENI : LNEI4ANGOO
Téléchargements
Avant-propos
- Pourquoi cet ouvrage ?
- À qui s'adresse cet ouvrage ?
- Structure
Introduction
- État des lieux du Web
- Comment Angular fonctionne-t-il ?
TypeScript
- Introduction à TypeScript
- Les bases de TypeScript
- 1. Variables et types de données
- 2. Les fonctions
- a. Déclaration de fonctions
- b. Fonctions fléchées
- 3. Interface et types
- a. Définition et utilisation des interfaces
- b. Définition et utilisation des types
- c. Type d’union
- d. Type d’intersection
- 4. Classes et objets
- a. Déclaration de classes
- b. Modificateurs
- c. Héritage
- 5. Les énumérations
- 1. Génériques
- 2. Les décorateurs
- 3. Les typings
- 4. Types spéciaux
- a. Any
- b. Unknown
- c. Void & Never
- 1. ECMAScript
- 2. ECMAScript et TypeScript
Les premières étapes avec Angular
- Introduction
- Configuration de l'environnement
- 1. Visual Studio Code
- 2. Node et npm
- 3. Introduction à Angular CLI
- Structure d'un projet Angular
- 1. Fichiers de configuration
- a. package.json et package-lock.json
- b. angular.json
- c. tsconfig.json
- d. .editorconfig
- e. GIT
- 1. Fichiers de configuration
- 2. Fichiers source
- a. index.html et main.ts
- b. AppComponent
- 3. Exercice pratique
- 1. Introduction
- 2. Qu’est-ce qu’un tableau Kanban ?
- 3. Bâtir le projet pas à pas
Les composants
- Introduction
- Déclaration d'un composant
- 1. Création
- 2. Gestion des dépendances
- 3. Standards
- Interactions avec le template
- 1. Interpolation
- 2. Binding
- a. Binding de propriété
- b. Binding d’événement
- c. Binding bidirectionnel
- 3. Résumé
- 1. Input
- 2. Output
- 3. Exemple du binding two way
- 1. Phase de création
- a. ngOnChanges
- b. ngOnInit
- c. ngAfterViewInit et ngAfterViewChecked
- 1. Le principe
- 2. Multiples projections
- 3. Récupérer des composants enfants
- a. Référence d’un élément
- b. Le décorateur @ViewChild
- c. Le décorateur @ContentChild
- 1. Introduction
- 2. Exemples de pipe intégré
- 3. Création d’un pipe
- 1. L’origine des modules
- 2. Transition vers les éléments standalone
- 1. Ajout de l’en-tête
- 2. Préparation de la page
- 3. Ajout des modèles
- 4. Implémentation des composants
- 5. Création d’un pipe
Contrôle de flux et directives
- Introduction
- Contrôle de flux
- 1. @if
- 2. @switch
- 3. @for
- 4. @defer
- 5. @let
- Les directives
- 1. Directives d’attribut
- a. ngClass
- b. ngStyle
- c. ngModel
- d. Créer une directive d’attribut simple
- 1. Directives d’attribut
- 2. Directives structurelles
- a. Introduction
- b. *ngIf
- c. *ngFor
- d. *ngSwitch
- e. Point sur la micro-syntaxe
- f. Créer une directive structurelle
- 1. Tableau de correspondances
- 2. Rendre le template dynamique
- 3. Ajouter la possibilité de glisser-déposer
- a. Comment fonctionne le drag and drop nativement ?
- b. Structure des directives
- c. Identifier l’ordre
- d. Mettre la liste à jour
- e. Ajouter des effets visuels
Les signaux
- Introduction
- Créer et consommer des signaux
- 1. Différents types de signaux
- 2. Écoute d’un signal
- a. Utilisation des Effects
- b. Prévenir l’exécution d’un Effect
- c. Initialisation et destruction d’un Effect
- 3. Le type LinkedSignal
- 4. Le type Resource
- 1. Input et Output
- 2. Les requêtes d’élémentsen tant que signaux
- 1. Structurer les signaux
- a. Optimisation des paramètres
- b. Préserver l’immuabilité
- 1. Autres avantages des signaux
- 2. Graphe de dépendances
- 1. Migration vers les signaux
- 2. Manipulation des tickets
Les services
- Introduction
- Création et utilisation simple d'un service
- 1. Création
- 2. Utiliser notre service
- L'asynchronisme
- 1. Introduction et rappel
- 2. Les Promises
- a. Introduction
- b. Les helpers
- c. Premier exemple
- d. Second exemple
- 3. RxJS
- a. Les fondamentaux
- b. Les schémas à billes
- c. Les opérateurs
- d. Créer une suite d’opérateurs réutilisable
- e. Qu’est-ce qu’un Subject ?
- f. Gestion des erreurs
- g. Point d’attention
- 4. Utilisation de RxJS dans les services
- a. Où placer les Observables ?
- b. Distinction entre Observable et Subject
- c. RxJS, un jeu de composition
- 1. Passer de l’un à l’autre
- 2. Quel objet utiliser ?
- 1. Introduction
- 2. Créer le substitut d’une API
- a. Postman
- b. MirageJS
- a. Les bases
- b. Requêter de manière robuste
- c. Cohabitation entre Observables et signaux
- a. Création d’un intercepteur
- b. Exemple de mise en cache des données
- c. Exemple d’injection d’un jeton d’authentification
- 1. Router
- 2. Title
- 3. ErrorHandler
- 1. Fonctionnement
- a. Enregistrer un provider
- b. Injecter une dépendance
- 1. Configuration de l’API
- 2. Implémenter les actions relatives aux tickets
- a. Définition du service
- b. Consommer le service
- c. Conclusion
- a. Requêter l’API
- b. Ajuster l’interface
Les formulaires
- Introduction
- Les formulaires orientés template
- 1. Créer un formulaire
- 2. Ajouter la validation
- Les formulaires réactifs
- 1. Création d’un formulaire
- 2. Créer un validateur
- a. Validation synchrone
- b. Validation asynchrone
- 3. Interagir avec les formulaires
- 4. Formulaires dynamiques
- 5. Utiliser FormBuilder
- 1. Prérequis
- 2. Création du formulaire de connexion
- a. Création du composant
- b. Affichage
- a. Modification des modèles
- b. Création du composant d’édition
Naviguer entre les pages
- Introduction
- Mise en place rapide
- 1. Configuration des routes
- 2. Naviguer entre les vues
- Les routes en détail
- 1. Structure d’une route
- 2. Créer des liens
- 3. Envoyer et recevoir de la donnée
- a. Définir des queryParams
- b. Les routes dynamiques
- c. Récupérer les paramètres
- 4. Le lazy loading
- a. Différer des composants standalone
- b. Différer des modules
- 1. Introduction
- 2. Mise en place
- a. CanActivate
- b. CanActivateChild
- c. CanDeactivate
- d. CanMatch
- e. Resolve
- 1. Wildcard
- 2. Gestionnaire d’erreur
- 1. Ajouter une première animation
- 2. Les animations en détail
- a. Les triggers
- b. Les transitions
- c. Les styles et animations
- 1. Prérequis
- 2. Définition des routes
- 3. Branchement de la navigation
- 4. Compléter la page de détails
Gestion d'état et architecture d'un projet
- Introduction
- Bonnes pratiques
- 1. Quelques principes
- a. Principes de code
- b. Structurer son application
- c. Être pragmatique
- 1. Quelques principes
- 2. Structure de fichiers
- 3. Redux
- a. Définition
- b. Popularité
- c. Que choisir ?
- 1. Solution simple
- 2. Store Redux maison
- a. Une première version
- b. Amélioration et optimisation
- 1. Création d’un store
- 2. Configuration du store
- a. L’accès aux données avec withStateet withComputed
- b. Les fonctions grâce à withMethods
- c. Cycle de vie et surveillance du state
- d. Utilisation depuis un composant
- 1. Création de l’AuthStore
- 2. Création du BoardStore
- a. Définition des fonctions d’aide
- b. Définition du state
- c. Définition des méthodes
- d. Adaptation des composants
Tester son application
- Introduction
- 1. Qu’est-ce qu’un test ?
- 2. Que faut-il tester ?
- 3. Les outils
- a. Tests unitaires
- b. Tests e2e
- 1. Structure d’un test
- 2. Exemple
- 1. Vocabulaire
- 2. Créer des substituts
- a. Substitutions en général
- b. TestBed
- 1. Tester un composant
- a. Les fixtures
- b. Exemple
- c. Gestion des inputs/outputs
- a. Service classique
- b. Tester des requêtes HTTP
- a. Mettre en place et tester la navigation
- b. Tester les guards
- a. Premier exemple : un simple opérateur
- b. Second exemple : un champ de recherche
- c. Conclusion
- 1. Introduction à Cypress
- a. Configuration
- b. La base des tests
- c. Récupérer des élémentsdu DOM
- d. Vérifier le rendu
- e. Les requêtes HTTP
- f. Créer des actions réutilisables
- a. Configuration
- b. La base des tests
- c. Récupérer des élémentsdu DOM
- d. Vérifier le rendu
- e. Les requêtes HTTP
- f. Créer des actions réutilisables
- 1. Tests unitaires
- a. Substituer les stores
- b. Autres fonctions d’aide
- c. Ajouter des données statiques
- d. Tester des éléments du layout
- e. Tester le tableau
- f. Tester un store
- a. Tester l’authentification
- b. Tester un glisser-déposer
Compilation et performances
- Introduction
- La compilation
- 1. Fichiers d’environnement
- 2. La configuration
- Analyser les artéfacts
- Optimisations de l'application
- 1. Actions à prendre
- 2. Un dernier mot sur la détection de changements
- a. Rappel
- b. Stratégies de détection
- c. L’amélioration apportée par lessignaux
- 1. Organiser ses imports
- 2. Structurer son code grâce à ESLint
- 3. Formater son code avec Prettier
- 1. Explorateur de composants
- 2. Profilage des performances
- 3. L’onglet Injector Tree
Outils de cross-platform
- Introduction
- Présentation des outils
- Les applications web progressives
- 1. Fonctionnement
- 2. Mise en place
- 3. Installation
- 4. Utilisation d’une API du navigateur
- 5. Avantages et limitations
- Capacitor (Ionic)
- 1. Installation
- 2. Ajout d’un plugin
- 3. Avantages et limitations
- Electron
- 1. Installation et lancement de l’application
- 2. Avantages et limitations
- Projet fil rouge
- 1. Prérequis
- 2. Stocker les données localement
- a. Configuration
- b. Création d’un service dédié
- 3. Détection de l’état du réseau
- 4. Modification de la gestion des données
- 5. Synchroniser les données
- 6. Modifier l’interface
Pour aller plus loin
- Introduction
- Rendre son application multilingue
- 1. Générer un site par langue
- 2. Changer de langue dynamiquement
- Introduction au rendu côté serveur
- 1. Qu’est-ce que le rendu côté serveur ?
- 2. Différents modes de fonctionnement
- 3. Mise en place rapide du rendu côté serveur
- 4. Points d’attention
- a. Cas problématique
- b. Synchroniser un composant après l’hydratation
- 1. Configurer le pré-rendu
- 2. Notes sur l’hydratation
- a. Les bases de l’hydratation
- b. L’hydratation incrémentale
- 1. Définition du serveur Node.js
- 2. Utilisation avec @angular/localize
- 3. Le routage serveur
- 1. Balises de référencement
- 2. Sitemap et robot.txt
- 1. Installation rapide
- 2. Bibliothèque de composants
- 3. CDK
- a. Introduction
- b. Exemples
- 1. Angular Schematics
- a. Création d’un schéma
- b. Ajout d’un template
- c. Définition des schema.json
- d. Création d’un schematic plus complexe
- e. Tester un schéma localement
Futur d'Angular et conclusion
- La direction que prend Angular
- 1. Zoneless
- 2. Selectorless
- 3. AnalogJS
- Rester à jour
- Conclusion


