Formation Développement JavaScript avec AngularJS - Leuville Objects

Développement JavaScript avec AngularJS

Description

AngularJS a été créé pour développer des applications Web professionnelles, maintenables et portables. Cette formation permet d'appréhender les facettes du développement d'une application complète.

Méthodes pédagogiques

Formation avec un minimum de 50% de travaux pratiques. La session alterne les présentations théoriques avec les exercices en groupe ou individuels. Des versions numériques de tous les documents sont remises aux participants (support de cours, énoncés, corrigés).

Participants

Ce cours s'adresse aux développeurs, architectes ou chefs de projet, connaissant déjà le langage HTML et souhaitant apprendre à mettre en place des applications Web utilisant le langage JavaScript.

Pré requis

  • Connaître le langage HTML et les technologies du web
  • Connaître les bases de Javascript

Programme

Les grandes lignes d’AngularJS

Présentation d’AngularJS.

  • Data binding bidirectionnel
  • Séparation de la logique et des vues, contrôleurs et contextes
  • Pattern MVVM : Model View ViewModel
  • AngularJS et HTML5

Contrôleurs et contextes

Gestion des portées ...

  • Fonctionnement des contrôleurs
  • Modèle et contexte, hiérarchie des contextes
  • Création d’un contexte enfant par certaines directives
  • Evénements utilisateur : $scope.emit(), $scope.broadcast(), $scope.on()

Les vues, moteur de template et binding d’AngularJS

Les templates de vues.

  • Utilisation des contrôleurs dans les vues
  • Principales directives pour l’affichage, les champs de saisie, les répétitions, les actions utilisa
  • Langage d’expressions, syntaxe, appel de méthodes et utilisation de filtres
  • Inclusion de templates, et templates “inline”

Debug d’AngularJS

Comment gérer la mise au point

  • Méthodes utiles de l’objet angular.
  • Utilisation de Batarang
  • Interception des exceptions avec le service $exceptionHandler

Les tests automatisés

Comment gérer le test unitaire

  • Tests unitaires avec Jasmine et Testacular
  • Tester les contrôleurs, tester les services
  • Injection des dépendances et mock objects
  • Service $httpBackend du module ngMock pour les tests unitaires
  • Tests fonctionnels (End-to-End) avec “Angular Scenario Runner”

Le fonctionnement interne d’AngularJS

Les fonctionnalités sous jacentes.

  • Le DOM comme template : compilation en deux phases des templates, intérêt des directives ng-src, ng-bind-template et ng-cloak
  • Rafraîchissement des templates : les “watchers” créés par les directives de binding ou par $scope.$watch(...), boucle $digest et liste des $watch, intérêt de l’approche “dirty checking” d’AngularJS
  • Cadre d’exécution d’AngularJS : exécuter du code dans le cadre d’AngularJS depuis l’extérieur avec $apply(...)

Application mono-page multi-vues, et routage

Paramètrage pour une page.

  • Configuration du routage avec $routeProvider
  • Paramètres de l’URL
  • $route et historique du navigateur
  • Avantages et inconvénients des “hash-bang URIs”
  • Effectuer des traitements avant le chargement d’une vue

Les formulaires

Formulaire et contrôles.

  • Eléments de formulaire
  • Validation des données du formulaire

Echanges avec le serveur

Echanges de données.

  • Service $http, et intercepteurs de réponse
  • Service $resource pour les API de type “REST”
  • Utilisation de “Server-Sent Events” ou de “WebSocket” avec AngularJS

L’API de “promise”

Définition de template.

  • Fonctionnement des promises
  • Utilisation des promises dans le binding des templates
  • Asynchronisme et enchaînement de tâches avec des promises
  • Utilisation des promises dans le service $http

Application et modules

Modularité.

  • Création d’un module
  • Configuration d’un module
  • Démarrage automatique ou manuel d’une application
  • Utilisation des modules pour partager des services entre applications

Services et injection des dépendances

Principe d'injection de donnée.

  • Les différentes méthodes pour créer un service : factory(), ...
  • Injection des services dans les contrôleurs et dans d’autres services
  • Injection des dépendances et minimisation du code JavaScript
  • Configuration des services, $injector

Filière

--> Sur demande

Code

CP-ANG

Durée

4 jours

Tarif

1990 € HT

Sessions

Nous contacter

01 39 50 2000