Angular Js

By -

Hello la communauté c’est la fête du travail aujourd’hui mais n’empêche  il faut que certains travaillent lol. Comme d’habitude on va parler de développement WEB mais ça ne sera pas du PHP et cela va vous intéresser.

Avez-vous déjà entendu parlé de AngularJS??

Non! C’est quoi AngularJS ???

Voilà ! je vous disiez que ça allait vous intéresser. AngularJS est un framework javascript créé  en 2010 par un développeur  chez Google du nom de Misko HEVERY. Angular js est un framework puissant basé sur le design pattern MVW( Model-View-Whatever) pour des SPA (Single Page Application), autrement dit des applications web où la navigation se fait sur une même et unique page (exemple : Gmail, Dropbox, iCloud, etc.).

Il a été créé avec la philosophie suivante :

“Le HTML est très bien pensé pour les documents statiques mais il n’est pas du tout adapté pour un usage dynamique tel qu’on le voit dans les applications web. AngularJS enrichie le HTML avec une grammaire similaire, spécialement conçue pour des RIA (Rich Internet Application)”.

La principale caractéristique de ce framework  est qu’un grand nombre d’actions effectuées sur le serveur tel que le rendu du moteur de template, la récupération des données, leur (pré) validation et la navigation dans une application, sont désormais déportés côté client.

Le serveur se limite à traiter, vérifier, valider et envoyer les données aux clients dans un format générique (JSON, XML, etc.)

Cela permet d’avoir une charge sur les serveurs nettement moins importante et une fluidité de navigation chez le client.

Concepts fondamentaux

Pour ce démarquer  des autres framework angularJs utilise les concepts suivants:

Directives:  Les directives permettent d’ajouter à votre code HTML de la flexibilité tout en restant simple. Les directives prédéfinies dans le framework sont ajoutées sous forme d’attributs. La syntaxe est sous la forme (ng-*) . Exemple: <input type=”text” ng-model=”my-name”/>

Les directives permettent d’effectuer une action tel qu’appeler une fonction, assigner une valeur à une variable, choisir une classe suite à un évènement (clic, survol, envoi de formulaire) ou à un changement de variable.

Services: Les services sont des fonctions qui exécutent des tâches communes aux contrôleurs. Ils permettent d’éviter une redondance du code. Les services fournissent aussi de la data aux controllers qui va les traiter pour les rendre à la vue après.

Controllers: Les contrôleurs sont tout simplement des fonctions qui acceptent en paramètre des services prédéfinis. Les controllers jouent le rôle de manager. Ils récupèrent les données fournies par les services les traitent pour faciliter leur utilisation de celles ci  dans la vue . Les controllers font la liaison entre les vues et les service. Un controller  peut être défini pour un élément de la vue à l’aide de l’attribut “ng-controller”

Le routing

Le système de gestion de la navigation d’une RIA s’appelle le « routing ». Dans AngularJS, on peut paramétrer le choix du contrôleur et le template choisi pour la vue (valeur en dur ou page externe) pour une route donnée.

Un peu de pratique! :)

On va faire une petite application test qui va nous permettre de lister des utilisateurs.

  • Il faut d’abord télécharger le  fichier angular.js sur le site  officiel (download here )
  • Faire joindre le fichier téléchargé dans votre page html avec la balise <srcipt src=””> </script>

On  va créer un module pour notre application dans un fichier app.js :

AngularJs-1

On va créer un service qui va fournir de la donnée à notre controller dans un fichier service.js

AngularJs-2

On va créer le controller pour notre application  dans un fichier controller.js

On va faire ici une injection de dépendance dans notre controller pour récupérer les données provenant de notre service.

AngularJs-3

A ce stade notre application peut fonctionner même si on a pas encore définie le routing. Maintenant nous allons joindre nos 3 fichiers dans le fichier ” index.html” pour tester.

AngularJs-4

et le résultat donne ceci:

AngularJs-5

Là vous êtes un pro en AngularJs :) . On va finir maintenant utiliser le routing  pour rendre notre application plus professionnel.

On va créer un routeur pour notre application dans un fichier routing.js

Avant de le créer il faut télécharger le module angular-route.js (here) .Dans le fichier app.js je vous avez dit que les“[ ]” servaient pour les injections de dépendances. Entre les crochets on ajoute le module comme ceci:  var app=angular.module(‘test’,[‘ngRoute’]);. Now on est prêt Goooo.

AngularJs-6

Notre fichier “listeUser.html” donne ceci

AngularJs-7

Notre “Index.html” redevient:

AngularJs-8

et le rendu donne :

AngularJs-9

 

Remarque

AngularJS est un bon framework mais cependant il ne propose pas une organisation de gestion d’un projet comme l’aurait fait Symfony ou ROR. Sa sera à vous de le dompter et de trouver une bonne organisation pour bien gérer vos projets. Dans notre exemple on fait les choses simplement mais je vais vous proposer une organisation que j’utilise. Elle va vous permettre d’apporter plus de logique et de rigueur dans vos projets et de séparer votre application en couche.

AngularJs-10

 

Voila nous arrivons à la fin de cet article ,j’espère que vous avez pris du plaisir à le lire et que vous allez approfondir pour mieux cerner ce framework très puissant.

 

#FrameWork always work 😉

localhost

localhost

je code comme un malade, beaucoup veulent être contaminés
localhost

Latest posts by localhost (see all)