code: function(events,fct) {
              
              var p,i,n,N;
              
              if (isPlainObject(events) && fct==null) {
                  for (n in events) this.on(n,events[n]);
                  return this;
              }
              
              if (typeof fct!== 'function') return this;
              
              events = events.split(/\s+/);
              
              for (i=0,N=events.length;i<N;i++) {
                  
                  p = this['on'+events[i]];
                  
                  if (p===undefined) throw new Error(events[i]+" n'est pas un événement connu");
                  else if (p === false || p === null) p = [fct];
                  else if (typeof p == "function") { if (p!==fct) p = [p,fct]; }
                  else if (Array.isArray(p)) { if (p.indexOf(fct)===-1)  p.push(fct); }
                  else throw new Error(typeof p + "Type incorrect pour la propriété on"+events[i]);
                  
                  this['on'+events[i]] = p;
              }
              
              return this;
          }
docs: Ajout d'un écouteur d'événement.<br/>
  Cela permet d'ajouter plusieurs fonctions, elles seront conservées dans un tableau.<br/>
  Les doublons sont ignorés (même événement même fonction).<br/>
  On peut passer en argument un objet avec les événements en clés et les fonctions en valeur.<br/>
  @param {String} events type(s) d'événement (propre à chaque module, 'click', 'start', 'end', etc) séparés par des espaces.
  @param {Function} fct fonction à exécuter lors du déclenchement de l'événement
  @returns {Events}