anchor.diff:  Angular2 a enterré plusieurs concepts important du framework. Les deux principaux pour moi sont le *Scope* et le *Controller*. Il est possible de trouver une explication logique à cette suppression. Quant on développait un contrôleur Angular avec la première version il y avait une ambiguïté entre les pattern https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller[MVC] et https://en.wikipedia.org/wiki/Model_View_ViewModel[MVVM]. D'un côté le contrôleur traitait des actions mais d'un autre on utilisait le Scope pour faire le *binding two way*. Malheureusement le mélange de ces deux concepts créer pas mal de confusion et même s'il est possible de les faire cohabiter, le mieux reste encore de les séparer clairement. Dans Angular2 plus d'ambiguïté, nous avons à disposition les *Components* et on peut dire qu'il fonctionne comme des ViewModels. Certains ne seront peut-être pas d'accord avec mon analyse, mais on va dire que ce point de vue n'engage que moi ;)
   
   Afin de rester bien organiser, ajoutez un répertoire _components_ toujours dans :
  +
  +[source,TypeScript]
   ----
   public/javascripts/app
   ----
  +
   et ajoutez y un fichier _user.component.ts_ et un _user.component.html_. Le fichier .html correspondra au template utilisé par le compostant. L'idée est de partir sur une liste d'utilisateur. Une simple boucle for fera la mise en forme. Voici le code du template :
   
   [source,html]
  
positive.code: 
  Dans _getUser()_ il est nécessaire de faire un appel au service pour obtenir les données. Pour cela il faut souscrire au résultat de l'appel et assigner la valeur de retour à l'attribut _users_ :
  
  [source,javascript]
  ----
  getUsers(){
      this._userService.getUsers().subscribe((users) => {
  
negative.code: 
  Ensuite, ajoutez avant le constructeur l'attribut public correspondant au tableau d'utilisateur et celui privée pour utiliser le service utilisateur :
  
  [source,TypeScript]
  ----
  public users: User[];
  private _userService: UserService;
  