Présentation
EnglishRÉSUMÉ
Dans le domaine des cadres logiciels (frameworks) permettant la création d’applications web, Angular est la figure de proue d’une nouvelle génération combinant la mise en œuvre de services web et de composants. Ainsi grâce à Angular, le navigateur charge l’essentiel de la structure de l’application lors de sa première connexion au serveur, les transactions suivantes n’opérant que d’efficaces mises à jour. Le second point essentiel est la création de composants, qui avec les modules, permettent non seulement une très grande modularité et réutilisabilité des codes, mais représentent aussi une puissante extension du langage HTML. Ces deux aspects sont illustrés via quelques aperçus de codes d’un exemple de site marchand.
Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.
Lire l’articleAuteur(s)
-
Pierre POMPIDOR : Maître de conférences en informatique - Université de Montpellier / LIRMM (Laboratoire d’Informatique de Robotique et de Micro-électronique de Montpellier)
INTRODUCTION
Angular est un cadre logiciel (ou framework) créé par Google en 2016 . Il permet de développer des applications web qui sont des applications informatiques s’affichant dans un navigateur, et exploitant des programmes et des données hébergés sur des machines distantes (nommées serveurs). Si un framework laisse toute liberté au développeur d’implémenter les fonctionnalités qu’il désire, il impose une structuration précise des différents programmes à réaliser. Pour sa part, Angular met en œuvre deux grandes avancées du génie logiciel : l’utilisation de services web et en conséquence la création d’applications dites monopages, et la mise en œuvre de composants.
Cet article se propose donc d’expliquer le fonctionnement et les bénéfices des services web et des composants, illustrés par la création d’un embryon d’application qui permettrait, l’authentification d’un utilisateur faite, de visualiser la liste des produits en vente sur un site marchand.
Il est important de préciser que cet article concerne Angular (à ce jour en version 8) et non AngularJS, une première version, devenue obsolète, du framework de Google.
MOTS-CLÉS
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Présentation
5. Programmation réactive et bibliothèque NgRx
5.1 Programmation réactive et observables
Angular intègre les principes du paradigme de la programmation réactive via l’utilisation de la bibliothèque RxJs. Initiée du patron de conception « observateur », la programmation réactive, telle qu’implémentée dans cette bibliothèque, permet de scruter des flux de données (des observables), et à chaque fois qu’une donnée est reçue dans un flux, d’invoquer un traitement à effectuer.
Revenons sur la classe TypeScript gérant le composant Produits contenu dans le fichier produits.component.ts. Nous avons vu que le constructeur de cette classe créait une variable nommée produitsService de type ProduitsService :
…
import { ProduitsService } from '../produits.service';
export class ProduitsComponent implements OnInit {
private produits: Object[] = new Array();
constructor(private produitsService: ProduitsService) { }
ngOnInit() {
this.produitsService.getProduits().subscribe(produits => {
this.produits = produits;
});
}
}
Dès sa création (dans la méthode ngOnInit() ), ce composant s’abonne au flux de données renvoyé par la méthode getProduits() du service produitsService qu’il utilise.
Ainsi dès que les informations sur les produits en vente sont renvoyées par la méthode getProduits () (qui elle-même a invoqué le service http d’Angular), ces informations sont recopiées dans la structure de données produits qui est utilisée dans le template associé à ce composant pour mettre à jour l’interface (figure 5).
En relation avec le code précédent, voici un extrait du code de la classe ProduitsService qui met en œuvre la classe HttpClient pour établir une connexion avec le serveur Node.js et récupérer des données dans un observable :
import { Injectable } from...
TEST DE VALIDATION ET CERTIFICATION CerT.I. :
Cet article vous permet de préparer une certification CerT.I.
Le test de validation des connaissances pour obtenir cette certification de Techniques de l’Ingénieur est disponible dans le module CerT.I.
de Techniques de l’Ingénieur ! Acheter le module
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
Programmation réactive et bibliothèque NgRx
BIBLIOGRAPHIE
-
(1) - NORING (C.) - Architecture Angular Application with redux, rxjs and ngrx, - Editions Packt Publishing (2018).
-
(2) - POMPIDOR (P.) - Angular et Node.js : optimisez le développement de vos applications web avec une architecture MEAN. - Editions ENI (2016).
-
(3) - SESHADRI (S.) - Angular : Up and Running, Learning Angular, Step by Step, - Editions O'Reilly Media (2018).
1 Lien sur l’application d’illustration :
Accédez à l’application d’illustration en cliquant ici
HAUT DE PAGE
Site officiel d’Angular : https://angular.io/
Site officiel d’Angular CLI : https://cli.angular.io/
Site officiel d’Angular Material : https://material.angular.io/
Lien didactique sur Angular Universal Toolkit :
https://techblog.fexcofts.com/2018/08/13/angular-seo-universal-toolkit/
Spécification du DOM : https://www.w3.org/DOM/
Spécification de HTML : https://www.w3.org/HTML/
Spécification de HTTP : https://www.w3.org/Protocols/
Site officiel de JSX : https://reactjs.org/docs/introducing-jsx.html
Site officiel de MongoDB : https://www.mongodb.com/fr
Site officiel de Node.js : https://nodejs.org/fr/
Site officiel de Polymer : https://www.polymer-project.org/
Site officiel de React :...
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive
QUIZ ET TEST DE VALIDATION PRÉSENTS DANS CET ARTICLE
1/ Quiz d'entraînement
Entraînez vous autant que vous le voulez avec les quiz d'entraînement.
2/ Test de validation
Lorsque vous êtes prêt, vous passez le test de validation. Vous avez deux passages possibles dans un laps de temps de 30 jours.
Entre les deux essais, vous pouvez consulter l’article et réutiliser les quiz d'entraînement pour progresser. L’attestation vous est délivrée pour un score minimum de 70 %.
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(240 articles en ce moment)
Cette offre vous donne accès à :
Une base complète d’articles
Actualisée et enrichie d’articles validés par nos comités scientifiques
Des services
Un ensemble d'outils exclusifs en complément des ressources
Un Parcours Pratique
Opérationnel et didactique, pour garantir l'acquisition des compétences transverses
Doc & Quiz
Des articles interactifs avec des quiz, pour une lecture constructive