SlideShare une entreprise Scribd logo
1  sur  52
1
•Lhouceine OUHAMZA
• Développeur JAVA / JavaScript
• ouhamza.web.pro@gamil.com
Angular: @Ouhamza
Angular: @Ouhamza 2
1. Quel est L’Angular ?
2. Les versions
3. TypeScript
4. Architecture d’angular
5. Module & Composant & Directives & Pipe & Modèle
6. Http & Service
7. Input & Output
8. Routing
9. Programmation réactive
10. Rxjs
11. Tests
12. Bonnes pratiques
13. Conclusion
Angular: @Ouhamza 3
Angular: @Ouhamza
Single Page Application
4
Angular: @Ouhamza
Angular versions
5
Angular: @Ouhamza
Features
6
Angular 2 Angular 4 Angular 5 Angular 6 Angular 7
Sortie en 2016 Sortie en 2017 Paru le 1 novembre 2017 Paru le avril 2018 Paru le octobre 2018
Réécriture complète de Angular
1
De nombreuses améliorations
de performances sont apportées
pour réduire la taille du code
généré par le compilateur AOT.
exportAs: Dans Angular 5,
plusieurs noms prennent en
charge les directives et les
composants.
RxJS 6 Angular 7 a ajouté un nouveau
compilateur - Compatibility
Compiler (ngcc)
Entièrement écrit en TypeScript Les fonctions d'animation sont
séparées de @angular/core à
@angular/animation
HttpClient: jusqu’à utiliser
Angular 4.3 @ angular / HTTP
qui est maintenant amorti et
dans Angular 5, un nouveau
module appelé
HttpClientModule.
providedIn property in
injectable decorator
@Injectable({ providedIn:
'root'})
Introduire un nouveau Pipe
appelé - KeyValuePipe
Basé sur les composants au lieu
de contrôleur
Else block dans *ngIf introduit: Angular 5 prend en charge la
version TypeScript 2.3.
Modifications de la CLI: deux
nouvelles commandes ont été
introduites:
ng update <package>
Ng add
Angular 7 prenant désormais en
charge TypeScript 2.9.
Il supporte l’ES6 il aide les développeurs à
supprimer les codes inutiles de
leurs applications
Il utilise angular.json au lieu de
.angular-cli.json
Angular: @Ouhamza
TypeScript
7
• Angular 2+ est construit en TypeScript.
• Collaboration officielle entre Microsoft et Google.
• SuperSet d'EcmaScript 6.
• Améliorations par rapport à es6
Angular: @Ouhamza
Architecture
8
Angular: @Ouhamza
Comment l'application démarre
9
Angular: @Ouhamza
Module
10
Angular: @Ouhamza
Le decorateur @NgModule
11
Angular: @Ouhamza
Les composants
12
Angular: @Ouhamza
Directives
13
Angular: @Ouhamza
Pipes
14
Angular: @Ouhamza
Modèles
15
Angular: @Ouhamza
Template HTML: Liaisons de données
16
Angular: @Ouhamza
Communiquer avec le back-end
17
Angular: @Ouhamza
Services
18
Angular: @Ouhamza
http,HttpModule
19
Angular: @Ouhamza
HttpClientModule
20
Nouvelles Fonctions
Les intercepteurs
Les Réponses retournent les données JSON. Return data.json();
Les méthodes (get,post….) sont génériques. <User>
Le mise à jour de package: ‘@angular/common/http’….
Angular: @Ouhamza
Structure d’une application
21
Angular: @Ouhamza
Structure d’une application
22
Angular: @Ouhamza
Routing
Routes est une fonctionnalité qui aide votre application à devenir une application à page unique.
il redirige l'utilisateur vers un autre composant sans recharger la page.
23
Angular: @Ouhamza
Routing
24
Angular: @Ouhamza
Pour commencer
25
Angular: @Ouhamza
Structure de projet Angular
26
Angular: @Ouhamza
Impérative VS Réactive
27
• Permet aux fonctions de s’exécuter en arrière plan.
• Passer immédiatement non bloquant.
Angular: @Ouhamza
Event Loop
28
Angular: @Ouhamza
RxJS, / ReactiveX (netflix) / reactive.streams.org
29
Rxjs-compat (old version) Rxjs 6.0 ( angular 6 +)
Npm install rxjs-compat S’installe par défaut
Observable, Subject ….. Sont importés à partir ‘rxjs/x’. Le tous est importés à partir ‘rxjs’.
Les opérations sont dans le package
‘rxjs/add/observable/x’
Le tous dans ‘rxjs/operators’.
Syntaxe pour ajouter operations: .oper() .pipe( oper(), oper() )
catch catchError
Throw throwError
Switch switchAll
Finally finalize
Développement réactive:
Angular: @Ouhamza
Observable vs promise
30
Angular: @Ouhamza
Observable
31
Angular: @Ouhamza
Observable
32
Angular: @Ouhamza
Observable: opérateurs
33
Angular: @Ouhamza
Observable: opérateurs des tableaux
34
Angular: @Ouhamza
Observable: souscription
35
Angular: @Ouhamza
Débogage
36
Angular: @Ouhamza
Test
37
Angular: @Ouhamza
Test avec jasmine
38
Test avec protractor
Angular: @Ouhamza 39
Angular: @Ouhamza
Performances
40
Angular: @Ouhamza
Bonnes pratiques
41
1. Folder by Feature
2. Lazy loading
3. Detection de changement OnPush
4. AOT compilation
5. Webpack bundle analyzer
Angular: @Ouhamza
Bonnes pratiques
42
1. Folder by Feature
2. Lazy loading
3. Detection de changement OnPush
4. AOT compilation
5. Webpack bundle analyzer
Angular: @Ouhamza
Bonnes pratiques
43
Charger les modules à la demande.
1. Folder by Feature
2. Lazy loading
3. Detection de changement OnPush
4. AOT compilation
5. Webpack bundle analyzer
Angular: @Ouhamza
Bonnes pratiques
44
1. Folder by Feature
2. Lazy loading
3. Detection de changement OnPush
4. AOT compilation
5. Webpack bundle analyzer
Angular: @Ouhamza
Bonnes pratiques
45
1. Folder by Feature
2. Lazy loading
3. Detection de changement OnPush
4. AOT compilation
5. Webpack bundle analyzer
Mise en place
Angular: @Ouhamza
Bonnes pratiques
46
1. Folder by Feature
2. Lazy loading
3. Detection de changement OnPush
4. AOT compilation
5. Webpack bundle analyzer
Angular: @Ouhamza
Bonnes pratiques
47
1. Folder by Feature
2. Lazy loading
3. Detection de changement OnPush
4. AOT compilation
5. Webpack bundle analyzer
Angular: @Ouhamza
Bonnes pratiques
48
1. Folder by Feature
2. Lazy loading
3. Detection de changement OnPush
4. AOT compilation
5. Webpack bundle analyzer
Angular: @Ouhamza
Bonnes pratiques
49
1. Folder by Feature
2. Lazy loading
3. Detection de changement OnPush
4. AOT compilation
5. Webpack bundle analyzer
• Identifier rapidement les librairies volumineuses
• Trouver les alternatives: bundlephobia
• Mise en place:
Angular: @Ouhamza 50
Angular: @Ouhamza 51
Angular: @Ouhamza 52

Contenu connexe

Tendances

Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications Java
Antoine Rey
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVC
Nathaniel Richand
 

Tendances (20)

Angular Avancé
Angular AvancéAngular Avancé
Angular Avancé
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications Java
 
Angular
AngularAngular
Angular
 
Introduction à Angular
Introduction à AngularIntroduction à Angular
Introduction à Angular
 
Complete Java Course
Complete Java CourseComplete Java Course
Complete Java Course
 
Jenkins
JenkinsJenkins
Jenkins
 
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
 
Hibernate jpa
Hibernate jpaHibernate jpa
Hibernate jpa
 
Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014Formation Spring Avancé gratuite par Ippon 2014
Formation Spring Avancé gratuite par Ippon 2014
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 
Angular 11
Angular 11Angular 11
Angular 11
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express js
 
Scrum course
Scrum courseScrum course
Scrum course
 
Introduction to angular with a simple but complete project
Introduction to angular with a simple but complete projectIntroduction to angular with a simple but complete project
Introduction to angular with a simple but complete project
 
Technologies sur angular.pptx
Technologies sur angular.pptxTechnologies sur angular.pptx
Technologies sur angular.pptx
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Presentation Spring, Spring MVC
Presentation Spring, Spring MVCPresentation Spring, Spring MVC
Presentation Spring, Spring MVC
 
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
Développement d'un site web jee de e commerce basé sur spring (m.youssfi)
 

Similaire à Presentation of framework Angular

Cours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrrCours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrr
inesrdissi60
 
Université de la performance - Devoxx France
Université de la performance - Devoxx FranceUniversité de la performance - Devoxx France
Université de la performance - Devoxx France
Marc Bojoly
 

Similaire à Presentation of framework Angular (20)

Introduction à Angular 2
Introduction à Angular 2Introduction à Angular 2
Introduction à Angular 2
 
Etude rapide sur les frameworks Front-end (AngularJS vs *JS)
Etude rapide sur les frameworks Front-end (AngularJS vs *JS)Etude rapide sur les frameworks Front-end (AngularJS vs *JS)
Etude rapide sur les frameworks Front-end (AngularJS vs *JS)
 
Cours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrrCours n°1.1-Introduction.pdf angularrrrr
Cours n°1.1-Introduction.pdf angularrrrr
 
Intro aurelia js-typescript
Intro aurelia js-typescriptIntro aurelia js-typescript
Intro aurelia js-typescript
 
Angular développer des applications .pdf
Angular développer des applications .pdfAngular développer des applications .pdf
Angular développer des applications .pdf
 
Le futur de AngularJS (2.0)
Le futur de AngularJS (2.0)Le futur de AngularJS (2.0)
Le futur de AngularJS (2.0)
 
Introduction à Angular 2
Introduction à Angular 2Introduction à Angular 2
Introduction à Angular 2
 
Cours 1 introduction
Cours 1 introductionCours 1 introduction
Cours 1 introduction
 
Angular retro
Angular retroAngular retro
Angular retro
 
SEO Campus 2016 Oncrawl Open Source Log Analysis
SEO Campus 2016 Oncrawl Open Source Log AnalysisSEO Campus 2016 Oncrawl Open Source Log Analysis
SEO Campus 2016 Oncrawl Open Source Log Analysis
 
Hello AngularJS - Back to the future
Hello AngularJS - Back to the futureHello AngularJS - Back to the future
Hello AngularJS - Back to the future
 
Retour d'experience projet AngularJS
Retour d'experience projet AngularJSRetour d'experience projet AngularJS
Retour d'experience projet AngularJS
 
Faire une app en JS moderne
Faire une app en JS moderneFaire une app en JS moderne
Faire une app en JS moderne
 
Présentation Rex GWT 2.0
Présentation Rex GWT 2.0Présentation Rex GWT 2.0
Présentation Rex GWT 2.0
 
Université de la performance - Devoxx France
Université de la performance - Devoxx FranceUniversité de la performance - Devoxx France
Université de la performance - Devoxx France
 
Perf university
Perf universityPerf university
Perf university
 
Angular 2
Angular 2Angular 2
Angular 2
 
Angular 6, CLI 6, Material 6 (french)
Angular 6, CLI 6, Material 6 (french)Angular 6, CLI 6, Material 6 (french)
Angular 6, CLI 6, Material 6 (french)
 
Comment créer une application Angular performante ?
Comment créer une application Angular performante ?Comment créer une application Angular performante ?
Comment créer une application Angular performante ?
 
Université de la performance
Université de la performanceUniversité de la performance
Université de la performance
 

Plus de Lhouceine OUHAMZA

Plus de Lhouceine OUHAMZA (8)

Présentation sur internet.pptx
Présentation sur internet.pptxPrésentation sur internet.pptx
Présentation sur internet.pptx
 
WEB SERVICE SOAP, JAVA, XML, JAXWS
WEB SERVICE SOAP, JAVA, XML, JAXWSWEB SERVICE SOAP, JAVA, XML, JAXWS
WEB SERVICE SOAP, JAVA, XML, JAXWS
 
Prometheus and Grafana
Prometheus and GrafanaPrometheus and Grafana
Prometheus and Grafana
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Functional programming
Functional programmingFunctional programming
Functional programming
 
Spring AOP
Spring AOPSpring AOP
Spring AOP
 
Extreme Programming (XP)
Extreme Programming (XP)Extreme Programming (XP)
Extreme Programming (XP)
 
Systemes authentification
Systemes authentificationSystemes authentification
Systemes authentification
 

Dernier

Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
AmgdoulHatim
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
ikospam0
 

Dernier (19)

python-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdfpython-Cours Officiel POO Python-m103.pdf
python-Cours Officiel POO Python-m103.pdf
 
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptxIntégration des TICE dans l'enseignement de la Physique-Chimie.pptx
Intégration des TICE dans l'enseignement de la Physique-Chimie.pptx
 
Bilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdfBilan énergétique des chambres froides.pdf
Bilan énergétique des chambres froides.pdf
 
L'expression du but : fiche et exercices niveau C1 FLE
L'expression du but : fiche et exercices  niveau C1 FLEL'expression du but : fiche et exercices  niveau C1 FLE
L'expression du but : fiche et exercices niveau C1 FLE
 
les_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhkles_infections_a_streptocoques.pptkioljhk
les_infections_a_streptocoques.pptkioljhk
 
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
GIÁO ÁN DẠY THÊM (KẾ HOẠCH BÀI DẠY BUỔI 2) - TIẾNG ANH 6, 7 GLOBAL SUCCESS (2...
 
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
Conférence Sommet de la formation 2024 : Développer des compétences pour la m...
 
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptxCopie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
Copie de Engineering Software Marketing Plan by Slidesgo.pptx.pptx
 
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANKRAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
RAPPORT DE STAGE D'INTERIM DE ATTIJARIWAFA BANK
 
Apolonia, Apolonia.pptx Film documentaire
Apolonia, Apolonia.pptx         Film documentaireApolonia, Apolonia.pptx         Film documentaire
Apolonia, Apolonia.pptx Film documentaire
 
Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024Echos libraries Burkina Faso newsletter 2024
Echos libraries Burkina Faso newsletter 2024
 
L application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptxL application de la physique classique dans le golf.pptx
L application de la physique classique dans le golf.pptx
 
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean EudesNeuvaine de la Pentecôte avec des textes de saint Jean Eudes
Neuvaine de la Pentecôte avec des textes de saint Jean Eudes
 
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
CompLit - Journal of European Literature, Arts and Society - n. 7 - Table of ...
 
Les roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptxLes roches magmatique géodynamique interne.pptx
Les roches magmatique géodynamique interne.pptx
 
Formation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptxFormation qhse - GIASE saqit_105135.pptx
Formation qhse - GIASE saqit_105135.pptx
 
Télécommunication et transport .pdfcours
Télécommunication et transport .pdfcoursTélécommunication et transport .pdfcours
Télécommunication et transport .pdfcours
 
Cours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiquesCours Généralités sur les systèmes informatiques
Cours Généralités sur les systèmes informatiques
 
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projetFormation échiquéenne jwhyCHESS, parallèle avec la planification de projet
Formation échiquéenne jwhyCHESS, parallèle avec la planification de projet
 

Presentation of framework Angular