Académique Documents
Professionnel Documents
Culture Documents
INTERFACES UTILISATEURS
FRAMEWORK FRONTEND
« ANGULAR »
mondherhadiji@gmail.com
PLAN
Introduction
Routing
Directives et pipes
Services
Une SPA est une application qui contient une seule page HTML
(index.html) récupérée du serveur.
https://angular.io/guide/setup-local
http:// localhost:4200
ATELIER 1 : DÉMARRER AVEC ANGULAR 13
Remarque :
En cas de problème
lancer la commande
bootstrap@3.4.1
angular.json
Vider la cache :
npm cache clear
--force
II. LES BASES D’ANGULAR
Ajouter le framework Boostrap
III. TYPESCRIPT
ATELIER 2 : TYPESCRIPT FONCTION, CLASS ET COMPONENT
Créer un fichier bonjour.component.ts dans le dossier app et
développer les traitements suivants :
1) Développer une fonction hello() qui renvoie la chaîne "Bonjour tout le monde"
au composant
2) Ajouter une classe Bonjour au fichier et faire les modifications nécessaires pour
garder la même solution
3) Faire les changements nécessaires dans ce projet afin de rendre le fichier
bonjour.component.ts un component défini par :
- selector: 'bonjour',
- template: '<h1>Bonjour tout le monde</h1>',
- styles: ['h1 { font-family: Arial; }']
III. DATA BINDING
Définition
Pour insérer dynamiquement des données de l’applications dans les vues des composants,
Angular définit des techniques pour assurer la liaison des données.
Data Binding = Communication
ATELIER 3 : DATABINDING
Créer 2 composants : contacts et about
Insérer ses 2 composants dans app.component
ATELIER 3 : DATABINDING
ATELIER 3 : DATABINDING
On doit Importer FormsModule pour ngModel, pour cette
raison, ajouter dans le fichier app.module.ts les deux lignes
suivantes :
import {FormsModule} from "@angular/forms";
imports: [BrowserModule, FormsModule],
Ajouter le framework Bootsrap
Afficher uniquement l’heure de la publication
Et appliquer la template suivante :
IV. ROUTING
Créer cinq composants qui seront utilisés dans le routing : Home, Contact,
About, Signin, NotFound
ng generate component modules/general/home
ng generate component modules/general/contact
ng generate component modules/general/about
ng generate component modules/general/signin
ng generate component modules/general/not-found
Modifier le fichier src/app/app-routing.module.ts
Rajouter l'élément <router-outlet> au niveau du fichier app.component.html.
→Il indiquera au router ou afficher les éléments graphiques routés.
L'élément routerLink permettra de créer le lien vers les pages souhaitées.
Le fichier src/app/app.component.html deviendra :
Utiliser le
plugin emmet
• Ajouter le composant produit dans le dossier modules/general/
• Ajouter les bibliothèques nécessaires pour intégrer Bootstrap
4.6, jquery 3.3.1 et popper.js 1.12.9
npm install jquery@3.3.1 popper.js@1.12.9 –save
npm install font-awesome@4.7.0 --save
npm install bootstrap-social@5.1.1 --save
• Créer, dans produit.component.ts, les attributs « nomSte » et «
produits ».
• Ce dernier étant un tableau ayant les éléments suivants : « id »,
« designation », « prix » et « description ».
• Afficher, dans produit.component.html, les valeurs des attributs
précédemment initialisés
• Ajouter l’appel de la page produit.component.html dans
app.component.html.
• Ajouter la route vers la page app.component.html
Angular.json
Faire les modifications nécessaires pour ajouter le champ input pour saisir le
nom du client donnant le résultat suivant :
produit.component.html
produit.component.ts
app.module.ts
V. DIRECTIVES NG ET PIPES
11. Tester les requêtes HTTP avec l’un de ces 2 logiciels avec notre BD locale
produit en utilisant les méthodes : get, post, put, delete
VII. SERVICES WEB (RAPPEL)
Deux familles de Services Web se distinguent actuellement
Services Web « étendues »
S’appuie sur des standards UDDI / WSDL / SOAP
Annuaire de Services Web : UDDI
Contrat : WSDL
Consommer : SOAP
Services Web REST (Representational State Transfer)
Défini par la thèse de Roy Fielding en 2000
Utilise directement HTTP au lieu d’utiliser une enveloppe SOAP
URI est utilisée pour nommer et identifier une ressource
Méthodes HTTP (POST, GET, PUT et DELETE) sont utilisées pour effectuer
les opérations de base CRUD
SERVICES WEB REST
Formats de fichiers
Sécurisation via SSL
REST : CARACTÉRISTIQUES
Les services Web REST sont sans états (stateless)
Chaque requête envoyée vers le serveur doit contenir toutes les
informations à leur traitement
Minimisation des ressources systèmes, pas de session ni d’état
Les
services Web REST fournissent une interface uniforme basée sur les
méthodes HTTP
GET, POST, PUT, DELETE
Lesarchitectures orientées REST sont construites à partir de ressources qui sont
uniquement identifiées par des URL
REST : CARACTÉRISTIQUES
Ressources (Identifiant)
Identifié par une URI
Exemple : http://mywebsite.com/books/87/comments/1568
Méthodes ( Verbes)
Méthodes HTTP : GET, POST, PUT & DELETE
Représentation
4. produit/listproduit.component.ts
produit/listproduit.component.html
5. Définir les routes nécessaires dans le fichier app/app-routing.module.ts
6. Garder uniquement dans le fichier app.component.html l’instruction :
<router-outlet></router-outlet>
7. Exécuter : npm start
8. Puis écrire dans le navigateur http://localhost:4200/listproduits
9. Tester le bouton Supprimer
10. Modifier fichier produit/ajoutproduit/ajoutproduit.component.ts
11. Modifier fichier produit/ajoutproduit/ajoutproduit.component.html
12. Modifier fichier produit/modifproduit/modifproduit.component.ts
13. Modifier fichier produit/modifproduit/modifproduit.component.html
ATELIER 9 : CONSOMMER UN WEB SERVICE RESTFUL
1. Présentation: https://openweathermap.org/
OpenWeatherMap est un service en ligne qui fournit des données
météorologiques actuelles, des prévisions et des données historiques.
Plus de vingt API météorologiques ont été développées pour obtenir différents
types de données météorologiques. Ils prennent en charge plusieurs langues,
unités de mesure et formats de données.
2. Utiliser openweathermap nécessite de s'enregistrer afin d’obtenir une clé API
3. Le service OpenWeatherMap fournit une API de météo actuelle, ainsi que
plusieurs types de prévisions avec différentes profondeurs et étapes de mesure.
Dans cet atelier, nous allons utiliser 2 APIs :
a) Données météorologiques actuelles :
http://api.openweathermap.org/data/2.5/weather?q={city name}&appid={your
api key}
b) Prévision par étapes de 3 heures pour 5 jours :
http://api.openweathermap.org/data/2.5/forecast?q={city name}&appid={your
api key}
La réponse JSON de cette requête
http://api.openweathermap.org/data/2.5/weather?q=sfax&appid=c109c07bc4df77a88c923e6
407aef864 est la suivante :
4. Créer un service services/meteo (ng g s services/meteo)
5. Ajouter 2 constantes dans le fichier environment.ts : meteoKey et meteohost
6. Définir dans le fichier meteo.service.ts 2 methodes getMeteo1jour(ville) et
getMeteo5jours(ville)
7. Créer un composant meteo meteo.component.ts
8. Développer la page meteo.component.html