anchor.diff:    });
   ----
   
  -Nous définissons une route `/sensit-callback/:type` dans laquelle `:type` peut prendre les valeurs `['temperature', 'motion', 'button']`. 
  +Nous définissons une route `/sensit-callback/:type` dans laquelle `:type` peut prendre une des valeurs suivantes `['temperature', 'motion', 'button']`. 
   
   On construit ensuite un objet `notification` à partir du `type` et des queryParam (on force la conversion en JSON du paramètre `data` car c'est un objet JSON stringifié).
   
  -Enfin on insert notre `notification` en base et on répond en confirmant l'enregistrement.
  -
  -Pour que les informations présentes dans notre collection soient accessibles par notre "client", il faut les publier (on peut déjà gérer les différents type) :
  +Enfin on insère notre `notification` en base et on répond en confirmant l'enregistrement.
  +
  +Pour que les informations présentes dans notre collection soient accessibles par notre "client", il faut les publier (au passage, on va gérer les autres types) :
   
   [source, javascript]
   ----
   Meteor.publish("remote-button", function (argument) {
     return Notification.find({type: 'button'});
   });
  -
  -// on peut déjà prévoir de gérer les autres types
   Meteor.publish("remote-temperature", function (argument) {
     return Notification.find({type: 'temperature'});
   });
  
positive.code: image::https://cloud.githubusercontent.com/assets/2006548/9629320/160ef888-5172-11e5-895a-460308bc2a5c.png[]
  
  === L'application Meteor
  Nous pouvons créer notre application *meteor* :
  [source, shell]
  ----
  meteor create sensit-callback
  cd sensit-callback
  meteor remove autopublish insecure
  rm sensit-callback.*
  mkdir server
  touch server/main.js
  ----
  
  Pour la gestion des routes, on d'utilisera *iron-router* :
  [source, javascript]
  ----
  meteor add iron:router
  ----
  
  
  Commençons par créer une collection `notification` qui aura pour but de stocker les différentes notifications reçues.
  
  [source, javascript, title=server/main.js]
  ----
  Notification = new Meteor.Collection("notification");
  ----
  
  Il faut ensuite définir notre endpoint qui répondra à l'appel du callback.
  
  [source, javascript, title=server/main.js]
  ----
  Router.route('/sensit-callback/:type', {where: 'server'})
    .get(function () {
  
negative.code: });
  ----
  
  Le code complet :
  [source, javascript, title=remote-app/server/main.js]
  ----
  Notification = new Meteor.Collection("notification");
  
  Router.route('/sensit-callback/:type', {where: 'server'})
    .get(function () {
      if (['temperature', 'motion', 'button'].indexOf(this.params.type) < 0)
        throw new Error('Invalid type');
  
      var notification = _.extend({type: this.params.type}, this.params.query, {data: JSON.parse(this.params.query.data)});
  
      Notification.insert(notification);
      this.response.end('notification ' + notification.type + ' saved\n');
    });
  
  Meteor.publish("remote-temperature", function (argument) {
    return Notification.find({type: 'temperature'});
  });
  Meteor.publish("remote-motion", function (argument) {
    return Notification.find({type: 'motion'});
  });
  Meteor.publish("remote-button", function (argument) {
    return Notification.find({type: 'button'});
  });
  ----
  
  === Un peu de test
  On démarre l'application :
  [source, javascript]
  ----
  meteor
  ----
  
  On requête l'url :
  ----
  http://localhost:3000/sensit-callback/button?device_serial_number=ABCDE&notification_type=generic_punctual&data=%7B%22first_name%22%3A%22Anthonny%22%2C%22sensit_name%22%3A%22%22%2C%22last_name%22%3A%22Querouil%22%2C%22device_id%22%3A%22ABCDE%22%7D&device_id=1234&sensor_id=5678&date=2015-09-01T17%3A37Z&mode=6
  ----
  