Démarrer un projet Angular
ECMAScript et TypeScript
Repérer les normes ECMAScript et les déclarations modernes
Facile
00:05:44
Comprendre le rôle de la compilation TypeScript
Facile
00:06:49
Préparer le composant racine pour les exemples TypeScript
Facile
00:05:35
Typer les propriétés et les méthodes d’un composant
Facile
00:06:16
Typer les tableaux, les objets et les retours void
Facile
00:05:16
Réutiliser une interface et déclarer des propriétés optionnelles
Facile
00:05:59
Limiter les valeurs avec une union ou une énumération
Facile
00:05:31
Anatomie d’un composant
Relier la classe, le template et les styles du composant
Facile
00:07:29
Afficher des valeurs et diagnostiquer une vue non actualisée
Facile
00:07:17
Vérifier une valeur unknown avant d’utiliser ses propriétés
Facile
00:07:31
Générer et organiser un composant avec Angular CLI
Facile
00:05:36
Afficher un composant enfant dans son parent
Facile
00:05:17
Contrôle de flux : @if et @for
Afficher ou masquer une zone avec @if et @else
Facile
00:07:25
Partager une interface entre les composants
Facile
00:04:43
Parcourir une liste avec @for et une clé de suivi
Facile
00:06:01
Utiliser $index et choisir une clé pour une liste simple
Facile
00:04:59
Structurer une liste HTML et afficher son index
Facile
00:03:19
Reconnaître *ngFor dans un projet existant
Facile
00:05:02
Liaisons de propriété et d’événement
Lier une propriété d’image avec les crochets
Facile
00:05:52
Piloter l’état disabled d’un bouton
Facile
00:04:30
Réagir au clic et modifier une propriété affichée
Facile
00:06:23
Construire un compteur avec incrément, décrément et remise à zéro
Facile
00:07:37
Corriger le compteur et vérifier ses trois actions
Facile
00:05:22
Saisies et ngModel
Communication parent-enfant avec @Input
Préparer deux composants pour transmettre une donnée
Moyen
00:06:28
Déclarer une entrée avec @Input et gérer sa valeur initiale
Moyen
00:06:22
Transmettre une valeur littérale ou une propriété au composant enfant
Moyen
00:05:25
Préparer un exercice de listes de produits réutilisables
Moyen
00:04:51
Créer la vue réutilisable d’une liste de produits
Moyen
00:07:20
Transmettre deux listes filtrées au même composant
Moyen
00:07:12
Déclencher le filtrage de stock depuis une case à cocher
Moyen
00:06:47
Filtrer les produits sans perdre la collection de départ
Moyen
00:06:12
Fonctions, spread, rest et déstructuration
Comparer une fonction classique et une fonction fléchée
Moyen
00:07:22
Comprendre le retour attendu par filter
Moyen
00:05:33
Copier et combiner des tableaux avec le spread
Moyen
00:06:40
Copier un objet et modifier certaines propriétés
Moyen
00:05:48
Accepter un nombre variable de paramètres avec rest
Moyen
00:06:53
Combiner un paramètre initial et des arguments rest
Moyen
00:03:03
Extraire des valeurs d’un tableau avec la déstructuration
Moyen
00:06:50
Déstructurer un objet et renommer ses propriétés
Moyen
00:05:36
Classes, getters et setters
Projet fil rouge : routage et navigation
Créer le projet qui servira de fil conducteur
Moyen
00:05:20
Lire la configuration et le démarrage de l’application
Moyen
00:07:48
Repérer la page hôte et les fichiers de tests
Moyen
00:07:11
Créer des pages et déclarer les premières routes
Moyen
00:08:53
Afficher les routes dans RouterOutlet
Moyen
00:05:55
Déclarer des paramètres et des titres de route
Moyen
00:05:25
Préparer les styles et le thème du projet
Moyen
00:11:28
Construire une barre de navigation réutilisable
Moyen
00:09:43
Remplacer les liens internes par RouterLink
Moyen
00:08:37
Ajouter une page et compléter les liens de navigation
Moyen
00:06:26
Mettre en valeur le lien de la route active
Moyen
00:05:53
Limiter le lien actif à une correspondance exacte
Moyen
00:04:57
Organiser les marges et les styles communs
Moyen
00:03:39
Lire un paramètre de route avec ActivatedRoute
Moyen
00:06:32
Services et requêtes HTTP
Créer un service et l’injecter dans un composant
Moyen
00:13:14
Mettre en place une API locale avec JSON Server
Moyen
00:07:17
Écrire une requête GET typée avec HttpClient
Moyen
00:07:54
S’abonner à la réponse et configurer HttpClient
Moyen
00:06:14
Séparer la réponse et l’erreur d’une requête HTTP
Moyen
00:04:31
Affecter et afficher les données reçues par HTTP
Moyen
00:06:00
Organiser le chargement avec ngOnInit
Moyen
00:03:42
Cartes d’actualités et événements @Output
Créer un composant de liste pour les actualités
Moyen
00:07:51
Créer une carte réutilisable pour une actualité
Moyen
00:08:34
Organiser les cartes dans une grille
Moyen
00:04:17
Préparer une méthode de suppression HTTP
Moyen
00:07:33
Déclencher une suppression depuis la carte
Moyen
00:06:44
Diagnostiquer et corriger l’URL de suppression
Moyen
00:05:50
Déclarer un événement de l’enfant vers le parent
Moyen
00:09:38
Émettre une valeur et l’afficher dans le parent
Moyen
00:05:29
Déclencher un événement enfant au clic
Moyen
00:05:33
Charger une actualité depuis le paramètre de route
Moyen
00:08:31
Réagir à la suppression sur une page de détail
Moyen
00:04:54
Routes enfants et onglets
Formulaires et mises à jour HTTP
Construire un formulaire avec ngModel
Difficile
00:03:33
Construire un formulaire réactif
Difficile
00:03:03
Afficher les erreurs au bon moment
Difficile
00:03:07
Créer une actualité avec un formulaire et POST
Difficile
00:04:03
Valider le formulaire d’actualité
Difficile
00:03:33
Actualiser la liste après une création
Difficile
00:03:03
Configurer les environnements de l’application
Difficile
00:03:03
Partager une actualité avec BehaviorSubject
Difficile
00:03:03
Nettoyer les abonnements à la destruction
Difficile
00:03:07
Préremplir le formulaire de modification
Difficile
00:03:03
Mettre à jour une actualité avec PUT
Difficile
00:03:03
Synchroniser la carte avec les données partagées
Difficile
00:06:01
Publier la réponse de mise à jour et nettoyer l’abonnement
Difficile
00:07:08
Signaux
Créer une page et lire un signal
Difficile
00:05:58
Modifier un signal avec update
Difficile
00:06:24
Réinitialiser un signal et calculer une valeur dérivée
Difficile
00:06:19
Réagir au compteur avec effect
Difficile
00:02:48
Préparer une liste d’actualités avec signaux
Difficile
00:04:30
Charger une réponse HTTP dans un signal
Difficile
00:07:08
Afficher la liste et répercuter une suppression
Difficile
00:07:59
Pipes et AsyncPipe
Formater les dates avec DatePipe
Difficile
00:06:20
Configurer la locale française et les paramètres des pipes
Difficile
00:06:02
Préparer les comptes et leur service
Difficile
00:06:35
Exposer un observable de comptes au template
Difficile
00:07:55
Afficher une collection avec AsyncPipe
Difficile
00:06:49
Formater les montants en euros et les dates
Difficile
00:04:04
Configurer HttpClient avec Fetch
Difficile
00:01:30
Espace d’administration et guards
Structurer un espace d’administration
Difficile
00:06:42
Rattacher les routes d’administration
Difficile
00:07:29
Afficher les pages enfants et prévoir la route 404
Difficile
00:06:09
Préparer une redirection après saisie des identifiants
Difficile
00:05:42
Relier le formulaire à la navigation
Difficile
00:03:59
Séparer les layouts public et administration
Difficile
00:07:23
Générer et raccorder un guard CanMatch
Difficile
00:07:50
Lire les paramètres d’un guard
Difficile
00:05:06
Retourner une redirection depuis un guard
Difficile
00:03:21
Intercepteurs HTTP et SSR
Créer et enregistrer un intercepteur HTTP
Difficile
00:07:09
Ajouter un en-tête Authorization à une requête
Difficile
00:06:15
Préparer une simulation de réponse de connexion
Difficile
00:05:15
Transformer une émission avec map de RxJS
Difficile
00:06:54
Enregistrer le jeton de démonstration dans le navigateur
Difficile
00:05:12
Lire le stockage dans l’intercepteur et diagnostiquer le SSR
Difficile
00:04:51
Protéger les accès au navigateur pendant le SSR
Difficile
00:07:22