diff --git a/src/dependencies.pug b/src/dependencies.pug
index e9a65d656d8450f0fb3e32cff22a0c87b06a4773..8b4f5ba2deef000c786ade31b5bf9549fba2b415 100644
--- a/src/dependencies.pug
+++ b/src/dependencies.pug
@@ -15,6 +15,7 @@ script(
 )
 
 script(src="/scripts/index.js")
+script(src="/scripts/hd-widgets.js")
 
 // Stylesheets
 link(rel='stylesheet', href='/lib/normalize.css')
diff --git a/src/page-group-profile.pug b/src/page-group-profile.pug
index 51b33da3250c9cd88d72c1e2f478c9d1912ef00d..71cb0d4068fcb0c2b03aaacbb621feba946c29dc 100644
--- a/src/page-group-profile.pug
+++ b/src/page-group-profile.pug
@@ -1,23 +1,4 @@
-script.
-  document.addEventListener('WebComponentsReady', function(event) {
-    class HDAppMember extends SIBWidget {
-      get template() {
-        return `
-          <div name="${this.name}">
-            <img src="${this.value.avatar}"/>
-          </div>
-        `;
-      }
 
-      render() {
-        store.get(this.value).then( (value) => {
-          this._value = value;
-          this.innerHTML = this.template;
-        });
-      }
-    }
-    customElements.define("hdapp-member", HDAppMember);
-  });
 
 #group-profile
   sib-display(
diff --git a/src/page-job-offers.pug b/src/page-job-offers.pug
index 04d52201b2b056ca57d3ef30d411dd57bf243300..cd5c16093dd7e146d4daef098173a7ece6e445a6 100644
--- a/src/page-job-offers.pug
+++ b/src/page-job-offers.pug
@@ -1,33 +1,4 @@
-script.
-  document.addEventListener('WebComponentsReady', function(event) {
-    class HDAppAuthor extends SIBDisplayLookupList {
-      get parentElement() {
-        return 'div';
-      }
-      getTemplate(value, index) {
-        var firstname, lastname;
-        if (typeof value == 'object')
-          if (Object.keys(value).length > 1) {
-            firstname = value.user.first_name;
-            lastname = value.user.last_name;
-          } else {
-            store.get(value).then(resource => {
-              this.value.push(resource);
-              this.render();
-            });
-            if (Array.isArray(this.value))
-              this.value.splice(this.value.indexOf(value), 1);
-            else this.value = [];
-            return '';
-          }
-        return `${firstname} ${lastname}`;
-      }
-    }
-    customElements.define('hdapp-author', HDAppAuthor);
-  });
-
 div
-
   h1 New offers  
     span Here you can find and post offers
   sib-display#offers-list.limiter(
diff --git a/src/page-member-edit.pug b/src/page-member-edit.pug
index 0049cf5b153c96c2be93647136cf03431bdb9340..4a5a2c583c397d9b9369c2b0edcf7e03ee196e8e 100644
--- a/src/page-member-edit.pug
+++ b/src/page-member-edit.pug
@@ -7,7 +7,7 @@
     name='avatar',
     value='',
   )
-  sib-form.edit-form.block(
+  sib-form.block(
     data-fields='user, avatar, bio, cell, jabberID, number, pseudo, skills, website',
     widget-user='hdapp-usereditinfo',
     range-cell=`${sdn}/cells/`, widget-skills='sib-form-multiple-dropdown',
@@ -24,7 +24,7 @@
       button#crop-img.btn.btn-link Valider
 
 
-script.
+//-script.
   class LDPFormImgUpload extends SIBWidget {
     get template() {
       return `<label for="${this.name}"><img id="${this.name}-preview" src="${this.value}"/></label>
diff --git a/src/page-members.pug b/src/page-members.pug
index 4df638383028b371a9a8d3371324c1981eda23dd..3c57e394deafba816d597e30f04e510dd7678b1a 100644
--- a/src/page-members.pug
+++ b/src/page-members.pug
@@ -1,56 +1,3 @@
-script.
-  document.addEventListener("WebComponentsReady", function(event) {
-    class HDAppUserInfo extends SIBDisplayLookupList {
-      get parentElement() {return "div"}
-      getTemplate(value, index) {
-        var firstname, lastname, email;
-
-        if(typeof value == "object")
-          if(Object.keys(value).length > 1) {
-            firstname = value.first_name;
-            lastname  = value.last_name;
-            email     = value.email;
-          }
-          else {
-            store.get(value).then(resource => {
-                this.value.push(resource);
-                this.render();
-            });
-            if(Array.isArray(this.value))this.value.splice(this.value.indexOf(value), 1);
-            else this.value = [];
-            return '';
-          }
-        return `<div>${firstname} ${lastname}</div>`;
-                // + `<div id="${email}">${email}</div>`;
-      }
-    }
-    customElements.define('hdapp-userinfo', HDAppUserInfo);
-
-    class HDAppCell extends SIBDisplayLookupList {
-      get parentElement() {return "div"}
-      getTemplate(value, index) {
-        var city, country;
-
-        if(typeof value == "object")
-          if(Object.keys(value).length > 1) {
-            city      = value.city;
-            country   = value.country;
-          }
-          else {
-            store.get(value).then(resource => {
-                this.value.push(resource);
-                this.render();
-            });
-            if(Array.isArray(this.value))this.value.splice(this.value.indexOf(value), 1);
-            else this.value = [];
-            return '';
-          }
-        return `<span>${city} - ${country}</span>`;
-      }
-    }
-    customElements.define("hdapp-usercell", HDAppCell);
-  });
-
 div
   h1 Members
   sib-display#profiles-list(
diff --git a/src/page-projects.pug b/src/page-projects.pug
index 880d10b5a0f6c5f907d92593d63a6af150c4bf22..6b40b47a4ae9a2d71398eb61420748c02aaff65f 100644
--- a/src/page-projects.pug
+++ b/src/page-projects.pug
@@ -1,21 +1,3 @@
-script.
-  document.addEventListener('WebComponentsReady', function(event) {
-    class HDAppClient extends SIBWidget {
-      get template() {
-
-        return `<img name="${this.name}" src="${this.value.logo}"/>`;
-      }
-
-      render() {
-        store.get(this.value).then( (value) => {
-          this._value = value;
-          this.innerHTML = this.template;
-        });
-      }
-    }
-    customElements.define("hdapp-client", HDAppClient);
-  });
-
 #projects
   h1 Projects
   sib-display(
diff --git a/src/scripts/hd-widgets.js b/src/scripts/hd-widgets.js
new file mode 100644
index 0000000000000000000000000000000000000000..2c6c401048b5aa3663292caa21a8dd46eac33fc7
--- /dev/null
+++ b/src/scripts/hd-widgets.js
@@ -0,0 +1,112 @@
+document.addEventListener('WebComponentsReady', function(event) {
+  class HDAppUserInfo extends SIBDisplayLookupList {
+    get parentElement() {
+      return 'div';
+    }
+    getTemplate(value, index) {
+      var firstname, lastname, email;
+
+      if (typeof value == 'object')
+        if (Object.keys(value).length > 1) {
+          firstname = value.first_name;
+          lastname = value.last_name;
+          email = value.email;
+        } else {
+          store.get(value).then(resource => {
+            this.value.push(resource);
+            this.render();
+          });
+          if (Array.isArray(this.value))
+            this.value.splice(this.value.indexOf(value), 1);
+          else this.value = [];
+          return '';
+        }
+      return `<div>${firstname} ${lastname}</div>`;
+      // + `<div id="${email}">${email}</div>`;
+    }
+  }
+  customElements.define('hdapp-userinfo', HDAppUserInfo);
+
+  class HDAppCell extends SIBDisplayLookupList {
+    get parentElement() {
+      return 'div';
+    }
+    getTemplate(value, index) {
+      var city, country;
+
+      if (typeof value == 'object')
+        if (Object.keys(value).length > 1) {
+          city = value.city;
+          country = value.country;
+        } else {
+          store.get(value).then(resource => {
+            this.value.push(resource);
+            this.render();
+          });
+          if (Array.isArray(this.value))
+            this.value.splice(this.value.indexOf(value), 1);
+          else this.value = [];
+          return '';
+        }
+      return `<span>${city} - ${country}</span>`;
+    }
+  }
+  customElements.define('hdapp-usercell', HDAppCell);
+
+  class HDAppClient extends SIBWidget {
+    get template() {
+      return `<img name="${this.name}" src="${this.value.logo}"/>`;
+    }
+
+    render() {
+      store.get(this.value).then(value => {
+        this._value = value;
+        this.innerHTML = this.template;
+      });
+    }
+  }
+  customElements.define('hdapp-client', HDAppClient);
+
+  class HDAppMember extends SIBWidget {
+    get template() {
+      return `
+        <div name="${this.name}">
+          <img src="${this.value.avatar}"/>
+        </div>
+      `;
+    }
+
+    render() {
+      store.get(this.value).then(value => {
+        this._value = value;
+        this.innerHTML = this.template;
+      });
+    }
+  }
+  customElements.define('hdapp-member', HDAppMember);
+
+  class HDAppAuthor extends SIBDisplayLookupList {
+    get parentElement() {
+      return 'div';
+    }
+    getTemplate(value, index) {
+      var firstname, lastname;
+      if (typeof value == 'object')
+        if (Object.keys(value).length > 1) {
+          firstname = value.user.first_name;
+          lastname = value.user.last_name;
+        } else {
+          store.get(value).then(resource => {
+            this.value.push(resource);
+            this.render();
+          });
+          if (Array.isArray(this.value))
+            this.value.splice(this.value.indexOf(value), 1);
+          else this.value = [];
+          return '';
+        }
+      return `${firstname} ${lastname}`;
+    }
+  }
+  customElements.define('hdapp-author', HDAppAuthor);
+});
diff --git a/src/styles/form.scss b/src/styles/form.scss
index 4caa2ea097403b4b09a8426c0876099f6476aa28..56ae5b66731b93a68e31df4aaaaff25de34cf3c9 100644
--- a/src/styles/form.scss
+++ b/src/styles/form.scss
@@ -1,7 +1,8 @@
 //button, checkbox, color, date, datetime-local, email, file, hidden, image, month, number, password, radio, range, reset, search, submit, tel, text, time, url, week, datetime
 
 .form-view{
-  @extend %frame
+  @extend %frame;
+  padding: 1em;
 }
 
 sib-form.inline form {
@@ -12,7 +13,6 @@ sib-form.inline form {
 }
 sib-form.block {
   display: block;
-  padding: 1em;
   > form {
     > * {
       display: block;