diff --git a/canapEPFL/style/epfl2018/.codeclimate.yml b/canapEPFL/assets/epfl2018/.codeclimate.yml
similarity index 100%
rename from canapEPFL/style/epfl2018/.codeclimate.yml
rename to canapEPFL/assets/epfl2018/.codeclimate.yml
diff --git a/canapEPFL/style/epfl2018/.editorconfig b/canapEPFL/assets/epfl2018/.editorconfig
similarity index 100%
rename from canapEPFL/style/epfl2018/.editorconfig
rename to canapEPFL/assets/epfl2018/.editorconfig
diff --git a/canapEPFL/style/epfl2018/.gitignore b/canapEPFL/assets/epfl2018/.gitignore
similarity index 100%
rename from canapEPFL/style/epfl2018/.gitignore
rename to canapEPFL/assets/epfl2018/.gitignore
diff --git a/canapEPFL/style/epfl2018/.yo-rc.json b/canapEPFL/assets/epfl2018/.yo-rc.json
similarity index 100%
rename from canapEPFL/style/epfl2018/.yo-rc.json
rename to canapEPFL/assets/epfl2018/.yo-rc.json
diff --git a/canapEPFL/style/epfl2018/css/base.css b/canapEPFL/assets/epfl2018/css/base.css
similarity index 100%
rename from canapEPFL/style/epfl2018/css/base.css
rename to canapEPFL/assets/epfl2018/css/base.css
diff --git a/canapEPFL/style/epfl2018/css/vendors.min.css b/canapEPFL/assets/epfl2018/css/vendors.min.css
similarity index 100%
rename from canapEPFL/style/epfl2018/css/vendors.min.css
rename to canapEPFL/assets/epfl2018/css/vendors.min.css
diff --git a/canapEPFL/style/epfl2018/favicons/README.md b/canapEPFL/assets/epfl2018/favicons/README.md
similarity index 100%
rename from canapEPFL/style/epfl2018/favicons/README.md
rename to canapEPFL/assets/epfl2018/favicons/README.md
diff --git a/canapEPFL/style/epfl2018/icons/icons.svg b/canapEPFL/assets/epfl2018/icons/icons.svg
similarity index 100%
rename from canapEPFL/style/epfl2018/icons/icons.svg
rename to canapEPFL/assets/epfl2018/icons/icons.svg
diff --git a/canapEPFL/style/epfl2018/images/shortcode-icons/article_highlight.png b/canapEPFL/assets/epfl2018/images/shortcode-icons/article_highlight.png
similarity index 100%
rename from canapEPFL/style/epfl2018/images/shortcode-icons/article_highlight.png
rename to canapEPFL/assets/epfl2018/images/shortcode-icons/article_highlight.png
diff --git a/canapEPFL/style/epfl2018/images/shortcode-icons/article_list.png b/canapEPFL/assets/epfl2018/images/shortcode-icons/article_list.png
similarity index 100%
rename from canapEPFL/style/epfl2018/images/shortcode-icons/article_list.png
rename to canapEPFL/assets/epfl2018/images/shortcode-icons/article_list.png
diff --git a/canapEPFL/style/epfl2018/images/shortcode-icons/contact.png b/canapEPFL/assets/epfl2018/images/shortcode-icons/contact.png
similarity index 100%
rename from canapEPFL/style/epfl2018/images/shortcode-icons/contact.png
rename to canapEPFL/assets/epfl2018/images/shortcode-icons/contact.png
diff --git a/canapEPFL/style/epfl2018/images/shortcode-icons/custom_teasers.png b/canapEPFL/assets/epfl2018/images/shortcode-icons/custom_teasers.png
similarity index 100%
rename from canapEPFL/style/epfl2018/images/shortcode-icons/custom_teasers.png
rename to canapEPFL/assets/epfl2018/images/shortcode-icons/custom_teasers.png
diff --git a/canapEPFL/style/epfl2018/images/shortcode-icons/default.png b/canapEPFL/assets/epfl2018/images/shortcode-icons/default.png
similarity index 100%
rename from canapEPFL/style/epfl2018/images/shortcode-icons/default.png
rename to canapEPFL/assets/epfl2018/images/shortcode-icons/default.png
diff --git a/canapEPFL/style/epfl2018/images/shortcode-icons/definition_list.png b/canapEPFL/assets/epfl2018/images/shortcode-icons/definition_list.png
similarity index 100%
rename from canapEPFL/style/epfl2018/images/shortcode-icons/definition_list.png
rename to canapEPFL/assets/epfl2018/images/shortcode-icons/definition_list.png
diff --git a/canapEPFL/style/epfl2018/images/shortcode-icons/definiton_list.png b/canapEPFL/assets/epfl2018/images/shortcode-icons/definiton_list.png
similarity index 100%
rename from canapEPFL/style/epfl2018/images/shortcode-icons/definiton_list.png
rename to canapEPFL/assets/epfl2018/images/shortcode-icons/definiton_list.png
diff --git a/canapEPFL/style/epfl2018/images/shortcode-icons/hero.png b/canapEPFL/assets/epfl2018/images/shortcode-icons/hero.png
similarity index 100%
rename from canapEPFL/style/epfl2018/images/shortcode-icons/hero.png
rename to canapEPFL/assets/epfl2018/images/shortcode-icons/hero.png
diff --git a/canapEPFL/style/epfl2018/images/shortcode-icons/introduction.png b/canapEPFL/assets/epfl2018/images/shortcode-icons/introduction.png
similarity index 100%
rename from canapEPFL/style/epfl2018/images/shortcode-icons/introduction.png
rename to canapEPFL/assets/epfl2018/images/shortcode-icons/introduction.png
diff --git a/canapEPFL/style/epfl2018/images/shortcode-icons/links_block.png b/canapEPFL/assets/epfl2018/images/shortcode-icons/links_block.png
similarity index 100%
rename from canapEPFL/style/epfl2018/images/shortcode-icons/links_block.png
rename to canapEPFL/assets/epfl2018/images/shortcode-icons/links_block.png
diff --git a/canapEPFL/style/epfl2018/images/shortcode-icons/links_teaser.png b/canapEPFL/assets/epfl2018/images/shortcode-icons/links_teaser.png
similarity index 100%
rename from canapEPFL/style/epfl2018/images/shortcode-icons/links_teaser.png
rename to canapEPFL/assets/epfl2018/images/shortcode-icons/links_teaser.png
diff --git a/canapEPFL/style/epfl2018/images/shortcode-icons/map.png b/canapEPFL/assets/epfl2018/images/shortcode-icons/map.png
similarity index 100%
rename from canapEPFL/style/epfl2018/images/shortcode-icons/map.png
rename to canapEPFL/assets/epfl2018/images/shortcode-icons/map.png
diff --git a/canapEPFL/style/epfl2018/images/shortcode-icons/page_highlight.png b/canapEPFL/assets/epfl2018/images/shortcode-icons/page_highlight.png
similarity index 100%
rename from canapEPFL/style/epfl2018/images/shortcode-icons/page_highlight.png
rename to canapEPFL/assets/epfl2018/images/shortcode-icons/page_highlight.png
diff --git a/canapEPFL/style/epfl2018/images/shortcode-icons/page_teaser.png b/canapEPFL/assets/epfl2018/images/shortcode-icons/page_teaser.png
similarity index 100%
rename from canapEPFL/style/epfl2018/images/shortcode-icons/page_teaser.png
rename to canapEPFL/assets/epfl2018/images/shortcode-icons/page_teaser.png
diff --git a/canapEPFL/style/epfl2018/images/shortcode-icons/school.png b/canapEPFL/assets/epfl2018/images/shortcode-icons/school.png
similarity index 100%
rename from canapEPFL/style/epfl2018/images/shortcode-icons/school.png
rename to canapEPFL/assets/epfl2018/images/shortcode-icons/school.png
diff --git a/canapEPFL/style/epfl2018/images/shortcode-icons/teaser_news.png b/canapEPFL/assets/epfl2018/images/shortcode-icons/teaser_news.png
similarity index 100%
rename from canapEPFL/style/epfl2018/images/shortcode-icons/teaser_news.png
rename to canapEPFL/assets/epfl2018/images/shortcode-icons/teaser_news.png
diff --git a/canapEPFL/style/epfl2018/images/shortcode-icons/toggle.png b/canapEPFL/assets/epfl2018/images/shortcode-icons/toggle.png
similarity index 100%
rename from canapEPFL/style/epfl2018/images/shortcode-icons/toggle.png
rename to canapEPFL/assets/epfl2018/images/shortcode-icons/toggle.png
diff --git a/canapEPFL/style/epfl2018/js/app.bundle.js b/canapEPFL/assets/epfl2018/js/app.bundle.js
similarity index 100%
rename from canapEPFL/style/epfl2018/js/app.bundle.js
rename to canapEPFL/assets/epfl2018/js/app.bundle.js
diff --git a/canapEPFL/style/epfl2018/js/vendors.bundle.js b/canapEPFL/assets/epfl2018/js/vendors.bundle.js
similarity index 100%
rename from canapEPFL/style/epfl2018/js/vendors.bundle.js
rename to canapEPFL/assets/epfl2018/js/vendors.bundle.js
diff --git a/canapEPFL/style/epfl2018/js/vendors.min.js b/canapEPFL/assets/epfl2018/js/vendors.min.js
similarity index 100%
rename from canapEPFL/style/epfl2018/js/vendors.min.js
rename to canapEPFL/assets/epfl2018/js/vendors.min.js
diff --git a/canapEPFL/style/epfl2018/package.json b/canapEPFL/assets/epfl2018/package.json
similarity index 100%
rename from canapEPFL/style/epfl2018/package.json
rename to canapEPFL/assets/epfl2018/package.json
diff --git a/canapEPFL/style/epfl2018/svg/avatar-placeholder.svg b/canapEPFL/assets/epfl2018/svg/avatar-placeholder.svg
similarity index 100%
rename from canapEPFL/style/epfl2018/svg/avatar-placeholder.svg
rename to canapEPFL/assets/epfl2018/svg/avatar-placeholder.svg
diff --git a/canapEPFL/style/epfl2018/svg/element.svg b/canapEPFL/assets/epfl2018/svg/element.svg
similarity index 100%
rename from canapEPFL/style/epfl2018/svg/element.svg
rename to canapEPFL/assets/epfl2018/svg/element.svg
diff --git a/canapEPFL/style/epfl2018/svg/epfl-logo-negative.svg b/canapEPFL/assets/epfl2018/svg/epfl-logo-negative.svg
similarity index 100%
rename from canapEPFL/style/epfl2018/svg/epfl-logo-negative.svg
rename to canapEPFL/assets/epfl2018/svg/epfl-logo-negative.svg
diff --git a/canapEPFL/style/epfl2018/svg/epfl-logo.svg b/canapEPFL/assets/epfl2018/svg/epfl-logo.svg
similarity index 100%
rename from canapEPFL/style/epfl2018/svg/epfl-logo.svg
rename to canapEPFL/assets/epfl2018/svg/epfl-logo.svg
diff --git a/canapEPFL/style/epfl2018/svg/flag.svg b/canapEPFL/assets/epfl2018/svg/flag.svg
similarity index 100%
rename from canapEPFL/style/epfl2018/svg/flag.svg
rename to canapEPFL/assets/epfl2018/svg/flag.svg
diff --git a/canapEPFL/style/img/FA.png b/canapEPFL/assets/img/FA.png
similarity index 100%
rename from canapEPFL/style/img/FA.png
rename to canapEPFL/assets/img/FA.png
diff --git a/canapEPFL/style/img/favicon.png b/canapEPFL/assets/img/favicon.png
similarity index 100%
rename from canapEPFL/style/img/favicon.png
rename to canapEPFL/assets/img/favicon.png
diff --git a/canapEPFL/form.php b/canapEPFL/form.php
index e09ab996c789922d61d98805a3b3862f55c8497e..be3a0b44369f5872cb5bb0b21921d797cda33895 100644
--- a/canapEPFL/form.php
+++ b/canapEPFL/form.php
@@ -121,8 +121,8 @@
               <input type="email" name="mailApp" id="mailApp" value="<?php echo $user;?>" class="form-control" readonly />
 
               <label for="birthApp">Date de naissance *</label>
-              <input type="text" name="birthApp" id="birthApp" class="form-control" value="<?php echo $_SESSION['postedForm']['birthApp'] != '' ? $_SESSION['postedForm']['birthApp'] : ''; ?>" data-required />
-              <section id="errorMsg"></section>
+              <input type="text" autocomplete="none" placeholder="jj/mm/aaaa" name="birthApp" id="birthApp" class="form-control" value="<?php echo $_SESSION['postedForm']['birthApp'] != '' ? $_SESSION['postedForm']['birthApp'] : ''; ?>" data-required />
+              <small id="errorBirthdate" class="error" class="form-text text-muted"></small>
 
               <label for="originApp">Lieu d'origine *</label>
               <input type="text" name="originApp" placeholder="Lieu d'origine" class="form-control" value="<?php echo $_SESSION['postedForm']['originApp'] != '' ? $_SESSION['postedForm']['originApp'] : ''; ?>" minlength="2" maxlength="35" data-required />
@@ -349,7 +349,7 @@
           <div class="form-group mt-3" id="files">
             <div class="form-group">
               <label for="photo">Photo passeport <strong>couleur: *</strong></label>
-              <input type="file" name="photo" class="upload-input" id="photo" onchange="changeTitleFile(this)"/>
+              <input type="file" name="photo" class="upload-input" id="photo" onchange="changeTitleFile(this)" data-required/>
               <br>
               <label for="photo" class="btn btn-secondary btn-sm icon-right">
                 Choisir...
@@ -360,7 +360,7 @@
 
             <div class="form-group">
               <label for="idCard">Copie carte d'indentité / passeport: *</label>
-              <input type="file" name="idCard" class="upload-input" id="idCard" onchange="changeTitleFile(this)"/>
+              <input type="file" name="idCard" class="upload-input" id="idCard" onchange="changeTitleFile(this)" data-required/>
               <br>
               <label for="idCard" class="btn btn-secondary btn-sm icon-right">
                 Choisir...
@@ -371,7 +371,7 @@
 
             <div class="form-group">
               <label for="cv">Curriculum Vitae: *</label>
-              <input type="file" name="cv" class="upload-input" id="cv" onchange="changeTitleFile(this)"/>
+              <input type="file" name="cv" class="upload-input" id="cv" onchange="changeTitleFile(this)" data-required/>
               <br>
               <label for="cv" class="btn btn-secondary btn-sm icon-right">
                 Choisir...
@@ -382,7 +382,7 @@
 
             <div class="form-group">
               <label for="lettre">Lettre de motivation: *</label>
-              <input type="file" name="lettre" class="upload-input" id="lettre" onchange="changeTitleFile(this)"/>
+              <input type="file" name="lettre" class="upload-input" id="lettre" onchange="changeTitleFile(this)" data-required/>
               <br>
               <label for="lettre" class="btn btn-secondary btn-sm icon-right">
                 Choisir...
@@ -418,7 +418,7 @@
               <table id="newCertifZone">
                 <tr>
                   <td>
-                    <label for="certifs1">Certificats, diplômes et bulletins de notes des derniers 3-4 semestres: *</label>
+                    <label for="certifs1">Certificats, diplômes et bulletins de notes des derniers 3-4 semestres:</label>
                     <input type="file" name="certifs1" class="upload-input" id="certifs1" onchange="changeTitleFile(this)"/>
                     <br>
                     <label for="certifs1" class="btn btn-secondary btn-sm icon-right">
diff --git a/canapEPFL/models/PersonnalData.php b/canapEPFL/models/PersonnalData.php
index d1ccfd1eefec2720ef37965d1dadc123c8a634f9..26d7187dc5e0dc2edb1a448fc09ace589d54f2c6 100644
--- a/canapEPFL/models/PersonnalData.php
+++ b/canapEPFL/models/PersonnalData.php
@@ -17,7 +17,7 @@ class PersonnalData {
     "interactiveMediaDesigner" => "InteractiveMediaDesigners"
     );
     private $dateNow;
-    private $rootpath = '\\\\scxdata\\apprentis$\\candidatures\\nouvelles\\';
+    private $rootpath = '\\\\scxdata\\apprentis$\\candidatures\\nouvelles\\dev\\';
     public $formation = "";
     public $lieu = "";
     public $filiere = "";
diff --git a/canapEPFL/script.js b/canapEPFL/script.js
index b0830b00147eab21ac03c8af35801ebdb82692ae..4d7f8f4f75f5cfdddc1b0672c8173a5f234c6f61 100644
--- a/canapEPFL/script.js
+++ b/canapEPFL/script.js
@@ -8,23 +8,22 @@ $(document).ready(function () {
         initDateChecker();
         initDatepicker();
         // clearFiles();
-        // checkRequired();
+        checkRequired();
     }
 });
 
-function checkDate() {
-    // TODO: fix
-    // var birthdate = moment(document.getElementById("birthApp").value, "DD/MM/YYYY")._d;
-    // var cur = new Date();
-    // var diff = cur - birthdate; // This is the difference in milliseconds
-    // var age = Math.floor(diff / 31536000000); // Divide by 1000*60*60*24*365
+function checkDate () {
+    var birthdate = new Date(document.getElementById("birthApp").value);
+    var cur = new Date();
+    var diff = cur - birthdate; // This is the difference in milliseconds
+    var age = Math.floor(diff / 31536000000); // Divide by 1000*60*60*24*365
 
-    // if (age <= 12 || birthdate.getFullYear() < 1910 || age > 60) {
-    //     document.getElementById('errorMsg').innerHTML = '<p class="errorMsgs">Date invalide';
-    // }
-    // else {
-    //     document.getElementById('errorMsg').innerHTML = '';
-    // }
+    if (age <= 12 || birthdate.getFullYear() < 1910 || age > 60) {
+        document.getElementById('errorBirthdate').innerHTML = 'Date invalide';
+    }
+    else {
+        document.getElementById('errorBirthdate').innerHTML = '';
+    }
 }
 
 function initDateChecker() {
@@ -32,8 +31,8 @@ function initDateChecker() {
         checkDate();
     });
 
-    $("#dejaCandAnnee").change(function () {
-        checkYearDate("#dejaCandAnnee", "#dejaCandError", 0);
+    $("#dejaCandAnneeInput").change(function () {
+        checkYearDate("#dejaCandAnneeInput", "#dejaCandError", 0);
     });
     $("#anneeFin").change(function () {
         checkYearDate("#anneeFin", "#anneeFinError", 1);
@@ -73,12 +72,11 @@ function checkFileFormat(obj) {
 }
 
 function checkYearDate(toCheckValue, errorZone, coefficiantYear) {
-    // TODO: check this
     var inputYear = $(toCheckValue).val();
     var currentYear = (new Date).getFullYear() + coefficiantYear;
 
     if ((inputYear != parseInt(inputYear, 10)) || (currentYear < inputYear) || (inputYear.length != 4)) {
-        $(errorZone).html('<p class="errorMsgs">Date invalide');
+        $(errorZone).html('Date invalide');
     } else {
         $(errorZone).html("");
     }
@@ -143,7 +141,7 @@ function setMajState() {
 function setDejaCandState() {
     if ($('#dejaCand1')[0].checked) {
         $("#dejaCandAnnee").hide(750);
-        $("#dejaCandAnnee").val("");
+        $("#dejaCandAnneeInput").val("");
         $("#dejaCandError").html("");
     } else {
         $("#dejaCandAnnee").show(750);
@@ -186,8 +184,8 @@ function clearRepresentants() {
 }
 
 function initDatepicker() {
-    // $.datepicker.setDefaults($.datepicker.regional["fr"]);
-    // $("#birthApp").datepicker({ minDate: '-60y', maxDate: '-13y', dateFormat: "dd/mm/yy" });
+    $.datepicker.setDefaults($.datepicker.regional["fr"]);
+    $("#birthApp").datepicker({ minDate: '-60y', maxDate: '-13y', dateFormat: "dd/mm/yy" });
 }
 
 function getFormation() {
diff --git a/canapEPFL/templates/filieresinfos.php b/canapEPFL/templates/filieresinfos.php
index a8445aecf3a5188cb57fcc9e456799fcc4218ddd..2fc7aab29b165c5cacf6111b1a683653bace90e7 100644
--- a/canapEPFL/templates/filieresinfos.php
+++ b/canapEPFL/templates/filieresinfos.php
@@ -17,4 +17,4 @@
     <label class="custom-control-label" for="fill4">Je ne sais pas</label>
   </div>
 </div>
-<button class="btn btn-primary btn-sm mb-3" id="infoFilieres">Infos sur les filières</button>
\ No newline at end of file
+<button type="button" class="btn btn-primary btn-sm mb-3" id="infoFilieres">Infos sur les filières</button>
\ No newline at end of file
diff --git a/canapEPFL/templates/head.php b/canapEPFL/templates/head.php
index 9fae93b9a5d951df806863945b347da91fb5c60e..7b529953e22894870f9c679aa53385c3dff7a9b0 100644
--- a/canapEPFL/templates/head.php
+++ b/canapEPFL/templates/head.php
@@ -1,12 +1,15 @@
 <meta charset="UTF-8"/>
 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
 <link rel="icon" type="image/png" href="./style/epfl2018/icons/favicon.png">
-<link rel="stylesheet" href="./style/epfl2018/css/vendors.min.css">
-<link rel="stylesheet" href="./style/epfl2018/css/base.css">
-<link rel="icon" type="image/png" href="./style/img/favicon.png" />
+<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
+<link rel="stylesheet" href="./assets/epfl2018/css/vendors.min.css">
+<link rel="stylesheet" href="./assets/epfl2018/css/base.css">
+<link rel="icon" type="image/png" href="./assets/img/favicon.png" />
 <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
-<script src="./style/epfl2018/js/vendors.min.js"></script>
-<script src="./style/epfl2018/js/vendors.bundle.js"></script>
+<script src="./assets/epfl2018/js/vendors.min.js"></script>
+<script src="./assets/epfl2018/js/vendors.bundle.js"></script>
+<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
+<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
 <script src="./script.js"></script>
 <style>.error { color: red!important; }</style>
 <noscript>Veuillez Activer JavaScript pour utiliser le service de postulation</noscript>
diff --git a/canapEPFL/templates/header.php b/canapEPFL/templates/header.php
index 295de884ec1627d0c6bec39585c93b164fd0dc0b..7b7233cb67121007339e6dba871e9b489399548a 100644
--- a/canapEPFL/templates/header.php
+++ b/canapEPFL/templates/header.php
@@ -1,6 +1,6 @@
 <header role="banner" class="header">
   <a class="logo">
-    <img src="./style/epfl2018/svg/epfl-logo.svg" alt="Logo EPFL, École polytechnique fédérale de Lausanne" class="img-fluid">
+    <img src="./assets/epfl2018/svg/epfl-logo.svg" alt="Logo EPFL, École polytechnique fédérale de Lausanne" class="img-fluid">
   </a>
   <ul aria-hidden="true" class="nav-header d-none d-xl-flex">
     <li>
@@ -9,7 +9,7 @@
   </ul>
   <nav class="nav-lang justify-self-end">
     <a class="logo">
-      <img src="./style/img/FA.png" alt="Logo FA, Formation Apprentis EPFL" class="img-fluid">
+      <img src="./assets/img/FA.png" alt="Logo FA, Formation Apprentis EPFL" class="img-fluid">
     </a>
   </nav>
 </header>
\ No newline at end of file