SlideShare une entreprise Scribd logo
1




             AngularJS
11/10/2012    Yacine Rezgui – www.yrezgui.com
Qui suis-je ?
2


       Yacine Rezgui
       Développeur web & étudiant en licence pro
       7 ans dans le développement web
       20 ans (seulement ?)




                                      11/10/2012
JavaScript – Historique
3


       Créé en 1995 par Brendach Eich
       Pensé pour les navigateurs
       Syntaxe ECMAScript (utilisé par d’autres
        langages)
       Langage de programmation objet orienté
        prototype
       Actuellement en version 5



                                       11/10/2012
JavaScript – Au début
4




                            11/10/2012
JavaScript – Problèmes
5


       Déclaration facultative
       Incohérences (www.wtfjs.com)
       APIs HTML implémentées différemment
       Prototypage (pas vraiment un problème,
        question de goûts)
       Portée des variables
       Utilisé presque que pour gérer le DOM
       Jalousie ?

                                     11/10/2012
JavaScript – Renouveau
6


       L’ère de PrototypeJS et du web 2.0
       Les challengers comme jQuery et Mootools
       Toolkit complet tel que ExtJS et Dojo
       Framework JS avec Backbone.js et
        KnockoutJS
       Et bien sûr AngularJS !




                                     11/10/2012
AngularJS – What’s it ?
7


       Framework JavaScript pour des SPA (Single
        Page Application)
       Créé en Octobre 2010 par des développeurs
        de chez Google
       Pattern MVC
       Compatible avec Internet Explorer 7+ et autres
        navigateurs modernes
       Actuellement en version 1.0.2

                                       11/10/2012
AngularJS – What’s it ?
8


       La logique de l’application est déporté en
        grande partie dans le navigateur (client-side)
       Le serveur devient une API qui valide les
        données et renvoie une réponse
       Données renvoyés au format XML, JSON via
        une architecture de web services
        (SOAP, REST, XML-RPC)
       Fluidité pour l’application et charge du serveur
        nettement amoindrie
                                        11/10/2012
AngularJS – Exemple
9




                          11/10/2012
AngularJS – Exemple
10




                           11/10/2012
AngularJS – Exemple
11




                           11/10/2012
AngularJS – Les attributs ng-*
12




        Attributs dédiés à AngularJS
        Dynamisent le HTML
        Gestion des évènements
        Modifient le style des éléments
        Bref, il y en a pour tous les goûts




                                           11/10/2012
AngularJS – Gestion de la vue
13


        Gestion du DOM facultative
        $scope
        Two-way data binding
        Très rapide (redraw minimisé)
        Syntaxe à base de {{ le code }}




                                           11/10/2012
AngularJS – Gestion de la vue
14


        Ng-*:
         change, bind, init, style, mouseup, class, repeat




                                           11/10/2012
AngularJS – Les filtres
15


    Traitement ou filtrage des données
    Simplification syntaxique
    Différents filtres pré-inclus
     (filter, orderBy, date, currency)




                                          11/10/2012
AngularJS – Les services
16


        Classes communes aux contrôleurs
        Évite la redondance du code
        Singletons
        Parties privée et publique distinctes
        Services prédéfinis par AngularJS
         ($http, $route, $log, etc.)




                                         11/10/2012
AngularJS – Les contrôleurs
17


        Propre $scope
        Utilise des dépendances




                                   11/10/2012
AngularJS – Les directives
18


        Balise HTML personnalisée
        Syntaxe complète, par attribut ou par classe
        Propre $scope, template, contrôleur
        Très pratique pour les composants graphiques




                                      11/10/2012
AngularJS – Le routeur
19


                                Serveur Web

                                          transfère le
     effectue une requête                 routeur
             Ajax                                                    transfère
                              Application Web                  contrôleur + template
                                   (SPA)
                            en fonction de la route
                                   choisie
                                                               exécute le contrôleur
                                                               et compile le template

                                    Page
                                d’application

                                                         11/10/2012
AngularJS – Démo
20




            Loading…Please wait
     http://yrezgui.github.com/kodigon/



                            11/10/2012
AngularJS – Conclusion
21



           Avantages                 Inconvénients

    Two-way data binding      Syntaxe déroutante
    Projet soutenu par        Absence de gestion du
     Google                     DOM
    Pattern MVC respecté      Aucun composant
    Directives                 graphique
    Facilement testable       Projet encore jeune
    Modulable
                                     11/10/2012
AngularJS – Fin
22




             Questions ?



     Merci
                       11/10/2012

Contenu connexe

Tendances

Tendances (20)

Technologies sur angular.pptx
Technologies sur angular.pptxTechnologies sur angular.pptx
Technologies sur angular.pptx
 
Presentation of framework Angular
Presentation of framework AngularPresentation of framework Angular
Presentation of framework Angular
 
Introduction à Angular 2
Introduction à Angular 2Introduction à Angular 2
Introduction à Angular 2
 
Angular
AngularAngular
Angular
 
Angular.pdf
Angular.pdfAngular.pdf
Angular.pdf
 
Introduction à Angular 2
Introduction à Angular 2Introduction à Angular 2
Introduction à Angular 2
 
Angular 11
Angular 11Angular 11
Angular 11
 
Angular
AngularAngular
Angular
 
Introduction a Flutter
Introduction a FlutterIntroduction a Flutter
Introduction a Flutter
 
DART.pptx
DART.pptxDART.pptx
DART.pptx
 
Marzouk architecture encouches-jee-mvc
Marzouk architecture encouches-jee-mvcMarzouk architecture encouches-jee-mvc
Marzouk architecture encouches-jee-mvc
 
Angular
AngularAngular
Angular
 
What is Angular?
What is Angular?What is Angular?
What is Angular?
 
Angular
AngularAngular
Angular
 
Angular 9
Angular 9 Angular 9
Angular 9
 
Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3Cours d'introduction aux HTML5 & CSS3
Cours d'introduction aux HTML5 & CSS3
 
Support du cours : Programmation Web 2
Support du cours : Programmation Web 2Support du cours : Programmation Web 2
Support du cours : Programmation Web 2
 
Cours 1 introduction
Cours 1 introductionCours 1 introduction
Cours 1 introduction
 
Angular 6 - The Complete Guide
Angular 6 - The Complete GuideAngular 6 - The Complete Guide
Angular 6 - The Complete Guide
 
Angular 8
Angular 8 Angular 8
Angular 8
 

Similaire à AngularJS - Présentation (french)

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
 
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogy
Sacha Leprêtre
 

Similaire à AngularJS - Présentation (french) (20)

jQuery vs AngularJS
jQuery vs AngularJS jQuery vs AngularJS
jQuery vs AngularJS
 
Angluars js
Angluars jsAngluars js
Angluars js
 
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
 
CV REBAI Hamida
CV REBAI HamidaCV REBAI Hamida
CV REBAI Hamida
 
Ionic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,SassIonic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,Sass
 
Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido
 
Framework JavaScript Web - Brief techno
Framework JavaScript Web - Brief technoFramework JavaScript Web - Brief techno
Framework JavaScript Web - Brief techno
 
ENIB 2013-2014 - CAI Web #1: Côté navigateur 3/3
ENIB 2013-2014 - CAI Web #1: Côté navigateur 3/3 ENIB 2013-2014 - CAI Web #1: Côté navigateur 3/3
ENIB 2013-2014 - CAI Web #1: Côté navigateur 3/3
 
Jquery Mobile vs Twitter Bootstrap
Jquery Mobile vs Twitter BootstrapJquery Mobile vs Twitter Bootstrap
Jquery Mobile vs Twitter Bootstrap
 
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
 
Module 7 intégration d'ajax et les services web dans les applications asp.net
Module 7   intégration d'ajax et les services web dans les applications asp.netModule 7   intégration d'ajax et les services web dans les applications asp.net
Module 7 intégration d'ajax et les services web dans les applications asp.net
 
Gwt
GwtGwt
Gwt
 
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogy
 
ngParis - Rendu cote serveur
ngParis - Rendu cote serveurngParis - Rendu cote serveur
ngParis - Rendu cote serveur
 
Quelles évolutions fonderont l’avenir des serveurs d’application ?
Quelles évolutions fonderont l’avenir des serveurs d’application ?Quelles évolutions fonderont l’avenir des serveurs d’application ?
Quelles évolutions fonderont l’avenir des serveurs d’application ?
 
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
Café Numérique Arlon S03#02: Je code mon blog (EU code week Arlon)
 
Comparatif des frameworks js mv
Comparatif des frameworks js mvComparatif des frameworks js mv
Comparatif des frameworks js mv
 
Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs
Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIsPetit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs
Petit déjeuner OCTO - Nouvelles Architectures Web Front-end et APIs
 
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIsPetit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
 

Dernier

Dernier (6)

cours Systèmes de Gestion des Identités.pdf
cours Systèmes de Gestion des Identités.pdfcours Systèmes de Gestion des Identités.pdf
cours Systèmes de Gestion des Identités.pdf
 
Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...
Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...
Contrôle d’accès et Gestion des identités: Terminologies et Protocoles d’auth...
 
Protéger l'intégrité de son environnement numérique
Protéger l'intégrité de son environnement numériqueProtéger l'intégrité de son environnement numérique
Protéger l'intégrité de son environnement numérique
 
Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...
Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...
Augmentez vos conversions en ligne : les techniques et outils qui marchent vr...
 
Slides du webinaire de l'Infopole sur l'IA
Slides du webinaire de l'Infopole sur l'IASlides du webinaire de l'Infopole sur l'IA
Slides du webinaire de l'Infopole sur l'IA
 
Modèles de contrôle d accès_ RBAC (Role Based Access Control).pdf
Modèles de contrôle d accès_ RBAC (Role Based Access Control).pdfModèles de contrôle d accès_ RBAC (Role Based Access Control).pdf
Modèles de contrôle d accès_ RBAC (Role Based Access Control).pdf
 

AngularJS - Présentation (french)

  • 1. 1 AngularJS 11/10/2012 Yacine Rezgui – www.yrezgui.com
  • 2. Qui suis-je ? 2  Yacine Rezgui  Développeur web & étudiant en licence pro  7 ans dans le développement web  20 ans (seulement ?) 11/10/2012
  • 3. JavaScript – Historique 3  Créé en 1995 par Brendach Eich  Pensé pour les navigateurs  Syntaxe ECMAScript (utilisé par d’autres langages)  Langage de programmation objet orienté prototype  Actuellement en version 5 11/10/2012
  • 4. JavaScript – Au début 4 11/10/2012
  • 5. JavaScript – Problèmes 5  Déclaration facultative  Incohérences (www.wtfjs.com)  APIs HTML implémentées différemment  Prototypage (pas vraiment un problème, question de goûts)  Portée des variables  Utilisé presque que pour gérer le DOM  Jalousie ? 11/10/2012
  • 6. JavaScript – Renouveau 6  L’ère de PrototypeJS et du web 2.0  Les challengers comme jQuery et Mootools  Toolkit complet tel que ExtJS et Dojo  Framework JS avec Backbone.js et KnockoutJS  Et bien sûr AngularJS ! 11/10/2012
  • 7. AngularJS – What’s it ? 7  Framework JavaScript pour des SPA (Single Page Application)  Créé en Octobre 2010 par des développeurs de chez Google  Pattern MVC  Compatible avec Internet Explorer 7+ et autres navigateurs modernes  Actuellement en version 1.0.2 11/10/2012
  • 8. AngularJS – What’s it ? 8  La logique de l’application est déporté en grande partie dans le navigateur (client-side)  Le serveur devient une API qui valide les données et renvoie une réponse  Données renvoyés au format XML, JSON via une architecture de web services (SOAP, REST, XML-RPC)  Fluidité pour l’application et charge du serveur nettement amoindrie 11/10/2012
  • 12. AngularJS – Les attributs ng-* 12  Attributs dédiés à AngularJS  Dynamisent le HTML  Gestion des évènements  Modifient le style des éléments  Bref, il y en a pour tous les goûts 11/10/2012
  • 13. AngularJS – Gestion de la vue 13  Gestion du DOM facultative  $scope  Two-way data binding  Très rapide (redraw minimisé)  Syntaxe à base de {{ le code }} 11/10/2012
  • 14. AngularJS – Gestion de la vue 14  Ng-*: change, bind, init, style, mouseup, class, repeat 11/10/2012
  • 15. AngularJS – Les filtres 15  Traitement ou filtrage des données  Simplification syntaxique  Différents filtres pré-inclus (filter, orderBy, date, currency) 11/10/2012
  • 16. AngularJS – Les services 16  Classes communes aux contrôleurs  Évite la redondance du code  Singletons  Parties privée et publique distinctes  Services prédéfinis par AngularJS ($http, $route, $log, etc.) 11/10/2012
  • 17. AngularJS – Les contrôleurs 17  Propre $scope  Utilise des dépendances 11/10/2012
  • 18. AngularJS – Les directives 18  Balise HTML personnalisée  Syntaxe complète, par attribut ou par classe  Propre $scope, template, contrôleur  Très pratique pour les composants graphiques 11/10/2012
  • 19. AngularJS – Le routeur 19 Serveur Web transfère le effectue une requête routeur Ajax transfère Application Web contrôleur + template (SPA) en fonction de la route choisie exécute le contrôleur et compile le template Page d’application 11/10/2012
  • 20. AngularJS – Démo 20 Loading…Please wait http://yrezgui.github.com/kodigon/ 11/10/2012
  • 21. AngularJS – Conclusion 21 Avantages Inconvénients  Two-way data binding  Syntaxe déroutante  Projet soutenu par  Absence de gestion du Google DOM  Pattern MVC respecté  Aucun composant  Directives graphique  Facilement testable  Projet encore jeune  Modulable 11/10/2012
  • 22. AngularJS – Fin 22 Questions ? Merci 11/10/2012