code: function() {
              var self = this;
  
              this.template = this.options.template;
              this.args = this.options.args || {};
  
              // Related view
              this.view = this.options.view || null;
  
              // Init template context
              _.extend(this.args, {
                  "_": _,
                  "hr": {
                      "configs": configs,
                      "urls": Urls,
                      "i18n": I18n,
                      "offline": Offline
                  },
                  "view": {
                      "component": function(cid, args, name, subid) {
                          name = name || cid;
  
                          if (!self.view) {
                              throw new Error("Error in template " + self.template + " : try to import component in a non view-related template ");
                          }
  
                          if (Template.components[cid] == null) {
                              throw new Error("Error in template " + self.template + " : try to import component "+cid);
                          }
  
                          var view = new Template.components[cid].Class(args || {}, self.view);
                          
                          self.view.addComponent(name, view);
  
                          var component = $("<component/>", {
                              "data-component": view.cid
                          });
  
                          return component[0].outerHTML;
                      }
                  },
                  "template": {
                      "args": this.args,
                      "name": this.template,
                      "import": function(name, args, cname) {
                          cname = cname || name;
                          return this.args.view.component("template", {template: name, args: args}, cname);
                      },
                      "htmlid": function(h) {
                          return _.escape(h);
                      }
                  }
              }, Template.options);
  
              return this;
          }
docs: /*
  Initialize the template