SlideShare una empresa de Scribd logo
1 de 22
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

Más contenido relacionado

La actualidad más candente

Ionic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,SassIonic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,Sassmarwa baich
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPYouness Boukouchi
 
Partie 2: Angular
Partie 2: AngularPartie 2: Angular
Partie 2: AngularHabib Ayad
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring bootAntoine Rey
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services WebLilia Sfaxi
 
Cloud computing
Cloud computingCloud computing
Cloud computingmourad50
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiersHeithem Abbes
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Heithem Abbes
 
Architectures distribuées
Architectures distribuéesArchitectures distribuées
Architectures distribuéesFranck SIMON
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express jsAbdoulaye Dieng
 

La actualidad más candente (20)

Introduction à Angular 2
Introduction à Angular 2Introduction à Angular 2
Introduction à Angular 2
 
Angular.pdf
Angular.pdfAngular.pdf
Angular.pdf
 
Support cours angular
Support cours angularSupport cours angular
Support cours angular
 
Support de cours angular
Support de cours angularSupport de cours angular
Support de cours angular
 
Ionic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,SassIonic, AngularJS,Cordova,NodeJS,Sass
Ionic, AngularJS,Cordova,NodeJS,Sass
 
Support Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFISupport Web Services SOAP et RESTful Mr YOUSSFI
Support Web Services SOAP et RESTful Mr YOUSSFI
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Appalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSPAppalications JEE avec Servlet/JSP
Appalications JEE avec Servlet/JSP
 
Partie 2: Angular
Partie 2: AngularPartie 2: Angular
Partie 2: Angular
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
 
Chp3 - Les Services Web
Chp3 - Les Services WebChp3 - Les Services Web
Chp3 - Les Services Web
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)Sécurité des Applications Web avec Json Web Token (JWT)
Sécurité des Applications Web avec Json Web Token (JWT)
 
Introduction à ASP.NET
Introduction à ASP.NETIntroduction à ASP.NET
Introduction à ASP.NET
 
Architectures n-tiers
Architectures n-tiersArchitectures n-tiers
Architectures n-tiers
 
Architectures 3-tiers (Web)
Architectures 3-tiers (Web)Architectures 3-tiers (Web)
Architectures 3-tiers (Web)
 
Spring mvc
Spring mvcSpring mvc
Spring mvc
 
Architectures distribuées
Architectures distribuéesArchitectures distribuées
Architectures distribuées
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express js
 
Support de cours Spring M.youssfi
Support de cours Spring  M.youssfiSupport de cours Spring  M.youssfi
Support de cours Spring M.youssfi
 

Similar a AngularJS - Présentation (french)

Angluars js
Angluars jsAngluars js
Angluars jsRYMAA
 
Hello AngularJS - Back to the future
Hello AngularJS - Back to the futureHello AngularJS - Back to the future
Hello AngularJS - Back to the futureOuadie LAHDIOUI
 
Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido SOAT
 
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 Horacio Gonzalez
 
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 angularrrrrinesrdissi60
 
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.netMohammed Amine Mostefai
 
Gtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogyGtug2 Mobile app with web technlogy
Gtug2 Mobile app with web technlogySacha Leprêtre
 
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 ?Marc Bojoly
 
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)Café Numérique Arlon
 
Comparatif des frameworks js mv
Comparatif des frameworks js mvComparatif des frameworks js mv
Comparatif des frameworks js mvMael Monnier
 
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 APIsOCTO Technology
 
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 APIsJonathan Meiss
 
GWT Principes & Techniques
GWT Principes & TechniquesGWT Principes & Techniques
GWT Principes & TechniquesRachid NID SAID
 

Similar a 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
 
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 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
 
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
 
GWT Principes & Techniques
GWT Principes & TechniquesGWT Principes & Techniques
GWT Principes & Techniques
 

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