Présentation
En anglaisRÉ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’articleABSTRACT
In the field of software frameworks for creating web applications, Angular is the leader of a new generation combining the implementation of web services and components. Thus, thanks to Angular, the browser loads the entire structure of the application when it first connects to the server, with subsequent transactions only performing effective updates. The second essential point is the creation of components, which together with the modules, not only allow a very high modularity and reusability of the codes, but also represent a powerful extension of the HTML language. These two aspects are illustrated via some code previews of an example of a merchant site.
Auteur(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
KEYWORDS
Component | Angular | web services | SPA
DOI (Digital Object Identifier)
Cet article fait partie de l’offre
Technologies logicielles Architectures des systèmes
(239 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
1. Application monopage versus application multipages
1.1 Architecture des applications web traditionnelles multipages
Les applications web (dites en anglais web app) traditionnelles sont fondées sur une architecture client-serveur dans laquelle le serveur délivre des pages web au navigateur en fonction de la navigation effectuée par l’internaute (figure 1).
Ces pages web sont fondamentalement structurées grâce à des balises HTML qui mettent en page les informations qui y sont présentées, des styles CSS pour factoriser des styles graphiques entre différents éléments des pages, et enfin des codes JavaScript pour gérer du côté client – c’est-à-dire au sein du navigateur – certaines actions qui n’exigent pas du serveur le renvoi d’une nouvelle page (par exemple contrôler la validité de certains champs d’un formulaire avant sa soumission). Une petite présentation du langage HTML et de son traitement par le navigateur est présentée au chapitre 3.
Il est aussi à noter qu’une évolution maintenant ancienne, désignée par l’acronyme AJAX (Asynchronous Javascript And XML), permet également de récupérer d’un serveur – de celui qui a délivré la page ou d’un serveur tiers – des données qui permettent de mettre à jour une page sans modifier sa morphologie (un exemple classique est de faire apparaître le nom d’une ville suite à la spécification par l’internaute de son adresse postale).
Dans cette architecture traditionnelle, chaque chargement d’une page implique l’allocation en mémoire du navigateur du modèle objet du document (désigné par l’acronyme anglais DOM) ce qui est très lourd. Cette notion est expliquée un peu plus loin dans cet article avec celle du langage HTML (§ 3).
Il faut noter que, dans notre schéma, la machine distante (le serveur) regroupe à la fois le serveur HTTP (l’application qui réceptionne les requêtes HTTP et invoque les traitements à effectuer), l’évaluateur qui exécute les programmes, ainsi...
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
(239 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
Application monopage versus application multipages
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
(239 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
(239 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