Angular – niveau 1 - débutant
Angular est un Framework qui permet de créer des applications modernes et performantes pour le navigateur Web et le mobile.
Cette formation vous fait découvrir comment développer rapidement une application complète avec outillage, tests, communication avec une API distante, le tout en respectant les bonnes pratiques de développement et de structuration du langage de programmation.
Contenu
Le programme ci-dessous décrit le programme type, détaillé par demi-journée. Si les délais le permettent, certains éléments peuvent être adaptés sur mesure à la demande des stagiaires.
Programme type détaillé :
Jour 1
MATIN
Introduction aux nouveaux outils du Web
- ES5/ES6
- Typescript
- Web components
Premiers pas avec Angular
- Positionnement et philosophie du Framework
- Modèle “MVC” et Binding HTML
- Introduction aux composants et templates HTML
Environnement de développement
- Node, NPM et Angular CLI
- Intégration dans un IDE (IntelliJ)
TP
- Découverte des outils de développement - Création d’une première application avec angular-cli
- Afficher un premier écran
- Builder le projet
APRÈS MIDI
Typescript
Présentation
Bases syntaxiques
Programmation Objet avec Typescript
Les templates
- Interpolation et accès au modèle
- Réagir aux événements
- Utiliser les directives Angular
- Manipuler les styles
TP
- Manipuler le langage Typescript
- Écrire ses premiers vues HTML
- Communiquer avec le modèle du controller
- Réagir à des événements
Composants et Directives
- Fonctionnement et création
- Types de directives
- Propriétés et événements
- Entrées et sortes des composants (Input, Output)
- Cycle de vie
TP
- Écrire et organiser ses premiers composants
- Développer une directive d’attribut
- Communiquer entre composants
Jour 2
MATIN
Services
- Introduction
- Services fournis par Angular
- Développer et injecter ses propres services
TP
- Manipuler les services Angular existants
- Développer ses premiers services - Broadcast avec “BehaviorSubject”
Pipes
- Utiliser les pipes fournis
- Passer des arguments à un pipe
- Créer ses propres pipes
TP
- Création d’un pipe permettant de formater des valeurs dans la vue HTML - Fournir des arguments à un pipe
APRÈS MIDI
Gestion des routes et navigation
- Configurer des routes - Gérer la navigation (liens, redirections, paramètres) - Routes imbriquées
TP
- Mettre en place un menu pour naviguer dans l’application
- Créer une route imbriquée pour accéder à un élément de détail à partir d’une liste
- Protéger une route
Formulaires
- Créer un formulaire
- Validation et gestion des erreurs
- Créer son propre validateur
TP
- Mise en place d’un formulaire
- Création d’un validateur personnalisé
Jour 3
MATIN
Programmation réactive avec RxJS
- Présentation et enjeux
- Comprendre les Observables
- Souscrire à un Observable
- RxJS et ses opérateurs
- Utiliser BehaviorSubject
- Les bonnes pratiques
TP
- Manipuler des Observables
- Utiliser les principaux opérateurs RxJS
Échanger avec un serveur HTTP
- Utiliser la librairie de requêtes HTTP
- Utiliser un Interceptor
TP
- Authentifier un utilisateur
- Utiliser un Interceptor pour protéger les appels REST
- Afficher des données asynchrones avec AsyncPipe
APRÈS MIDI
Tests unitaires
- Karma et Jasmine
- Ecrire et exécuter des tests unitaires
- Tests asynchrones - Mock des services
TP
- Ecrire des tests unitaires sur les composants, services, et directes
- Apprendre à mocker un service HTTP
Préparer la mise en production
- Builder et déployer son application
- Stratégies de compilation (JIT, AOT)
- Les bonnes pratiques
TP
- Tester les modes de compilation - Analyser une application avant la mise en production
- Avoir une connaissance minimale du Web
- Avoir déjà pratiqué les langages de développement JavaScript /HTML
- Maîtriser les fonctionnalités de base du Framework
- Être capable de développer une application de bout en bout avec Angular
- S’interfacer avec une API REST distante
- Aborder les mécanismes avancés
- Alternance d’apports théoriques et d’exercices pratiques sous la forme de TP corrigés avec l’expert formateur
- Les TP sont organisés de sorte à pouvoir commencer un nouvel exercice sans avoir nécessairement terminé le précédent