diff --git a/src/app/form/form.component.html b/src/app/form/form.component.html
index c32ffbbf97b63d00cee3e7948b84e1149ef5e4e2..a96763da08eb8a11a3d74a193aa0e3f450f363cb 100644
--- a/src/app/form/form.component.html
+++ b/src/app/form/form.component.html
@@ -121,6 +121,13 @@
           <h3>Qui êtes-vous ?</h3>
           <p>Ces informations ne seront pas visibles sur la plateforme</p>
         </div>
+        <div class="title">
+          <h4>Vous possédez déja un compte ? Connectez-vous:</h4>
+          <button class="btn-primary small next" *ngIf="!isLoggedIn" (click)="isPopUpOpen = !isPopUpOpen">
+            Se connecter
+          </button>
+          <h4>Sinon, inscrivez-vous en suivant le formulaire ci-dessous:</h4>
+        </div>
         <div class="form-group" fxLayout="column">
           <label for="surname">Nom</label>
           <div fxLayout="row" fxLayoutGap="13px">
@@ -186,7 +193,7 @@
           <h3>Quels identifiants utiliserez-vous pour vous connecter ?</h3>
         </div>
         <div class="form-group" fxLayout="column">
-          <label for="email">Courriel personnel</label>
+          <label for="email">Courriel du compte</label>
           <p class="special invalid" *ngIf="this.accountForm.get('email').hasError('alreadyExist')">
             L'email est déja utilisé.
           </p>
@@ -196,6 +203,7 @@
               (input)="setValidationsForm()"
               (keyup)="verifyUserExist($event.target.value)"
               formControlName="email"
+              placeholder="thomas@grandlyon.com"
               class="form-input"
               [readonly]="isAccountMode"
               [ngClass]="{ disabled: isAccountMode }"
@@ -416,9 +424,7 @@
           (updateFormError)="setHoursError()"
           [structureInput]="hoursForm"
         ></app-hour-picker>
-      </div>
-      <div *ngIf="currentPage == pageTypeEnum.structureHoursDetails" class="page">
-        <div class="title">
+        <div class="nextTitle">
           <h3>Avez-vous des précisions à apporter sur les horaires ?</h3>
           <p class="notRequired">facultatif</p>
         </div>
@@ -472,7 +478,7 @@
                 <div fxLayout="row" fxLayoutGap="27px">
                   <input
                     type="text"
-                    placeholder="www.resonum.com"
+                    placeholder="www.resin.grandlyon.com"
                     (input)="setValidationsForm()"
                     formControlName="website"
                     class="form-input"
@@ -1042,7 +1048,7 @@
       </div>
       <div *ngIf="currentPage == pageTypeEnum.structureCovidInfo" class="page">
         <div class="title">
-          <h3>Y a-t-il des informations spécifique à la période COVID ?</h3>
+          <h3>Y a-t-il des informations spécifiques à la période COVID ?</h3>
           <p class="notRequired">facultatif</p>
         </div>
         <div class="textareaBlock" fxLayout="column">
@@ -1214,4 +1220,9 @@
       Voir ma structure
     </button>
   </div>
+  <app-signup-modal
+    *ngIf="displaySignUp"
+    [openned]="isPopUpOpen"
+    (closed)="closeSignUpModal($event)"
+  ></app-signup-modal>
 </div>
diff --git a/src/app/form/form.component.scss b/src/app/form/form.component.scss
index f8e9ca1652f43e1ffcb10945978429bdd38135cc..c17214a051d483e9f3fe747c7fa1273711a0c143 100644
--- a/src/app/form/form.component.scss
+++ b/src/app/form/form.component.scss
@@ -160,6 +160,10 @@ h3 {
     .title {
       margin-bottom: 26px;
     }
+    .nextTitle {
+      margin-bottom: 10px;
+      margin-top: 10px;
+    }
     .type-picker {
       height: 100%;
     }
diff --git a/src/app/form/form.component.ts b/src/app/form/form.component.ts
index 4e25894a4e60eb20b563a266004cd3801d1c3481..ecb8b91cc7396af64d7c8bf577e5bcaa5627db43 100644
--- a/src/app/form/form.component.ts
+++ b/src/app/form/form.component.ts
@@ -49,7 +49,7 @@ export class FormComponent implements OnInit {
   // Page and progress var
   public currentPage = 0;
   public progressStatus = 0;
-  public nbPagesForm = 24;
+  public nbPagesForm = 23;
   public isPageValid: boolean;
   public pagesValidation = [];
 
@@ -77,6 +77,9 @@ export class FormComponent implements OnInit {
   public isWifiChoosen = null;
   public structureWithOwners: StructureWithOwners;
 
+  public isPopUpOpen = false;
+  public displaySignUp = true;
+
   constructor(
     private structureService: StructureService,
     private searchService: SearchService,
@@ -138,6 +141,32 @@ export class FormComponent implements OnInit {
     }
   }
 
+  public closeSignUpModal(value: boolean): void {
+    if (!value) {
+      this.displaySignUp = false;
+    } else {
+      this.isPopUpOpen = false;
+    }
+    if (this.isLoggedIn) {
+      this.updateFormOnLogin();
+    }
+  }
+
+  public updateFormOnLogin(): void {
+    this.profileService.getProfile().then((user: User) => {
+      this.profile = user;
+    });
+    this.router.navigateByUrl('create-structure');
+    this.progressStatus += (100 / this.nbPagesForm) * 2;
+    this.pagesValidation[PageTypeEnum.accountInfo] = { valid: true };
+    this.pagesValidation[PageTypeEnum.accountCredentials] = { valid: true };
+    this.currentPage = PageTypeEnum.structureNameAndAddress;
+  }
+
+  public get isLoggedIn(): boolean {
+    return this.authService.isLoggedIn();
+  }
+
   async setCategories(): Promise<void> {
     this.searchService.getCategoriesAccompaniment().subscribe((categories: Category[]) => {
       this.proceduresAccompaniment = categories[0];
@@ -280,7 +309,7 @@ export class FormComponent implements OnInit {
         Validators.required,
         Validators.pattern(CustomRegExp.NO_NULL_NUMBER),
       ]),
-      freeWorkShop: new FormControl(structure.freeWorkShop, Validators.required),
+      freeWorkShop: new FormControl(structure.freeWorkShop, [Validators.required]),
     });
     return form;
   }
@@ -484,10 +513,9 @@ export class FormComponent implements OnInit {
         valid: this.getStructureControl('accessModality').valid,
         name: "Modalités d'accueil",
       };
-      this.pagesValidation[PageTypeEnum.structureHours] = { valid: this.hoursForm.valid, name: "Horaires d'ouverture" };
-      this.pagesValidation[PageTypeEnum.structureHoursDetails] = {
-        valid: this.getStructureControl('exceptionalClosures').valid,
-        name: 'Précisions sur les horaires',
+      this.pagesValidation[PageTypeEnum.structureHours] = {
+        valid: this.hoursForm.valid && this.getStructureControl('exceptionalClosures').valid,
+        name: "Horaires d'ouverture",
       };
       this.pagesValidation[PageTypeEnum.structurePmr] = {
         valid: this.getStructureControl('pmrAccess').valid,
@@ -685,6 +713,20 @@ export class FormComponent implements OnInit {
         this.currentPage++; // page structureOtherAccompaniment skip and go to page structureWorkshop
         this.progressStatus += 100 / this.nbPagesForm;
       }
+
+      if (this.currentPage == PageTypeEnum.structureWorkshop) {
+        if (
+          !this.structureForm.get('baseSkills').value.length &&
+          !this.structureForm.get('accessRight').value.length &&
+          !this.structureForm.get('parentingHelp').value.length &&
+          !this.structureForm.get('socialAndProfessional').value.length &&
+          !this.structureForm.get('digitalCultureSecurity').value.length
+        ) {
+          this.getStructureControl('freeWorkShop').reset();
+          this.currentPage++;
+          this.progressStatus += 100 / this.nbPagesForm;
+        }
+      }
       // Check if going to the last page to submit form and send email verification.
       if (this.currentPage == this.nbPagesForm - 1) {
         this.validateForm();
@@ -712,6 +754,18 @@ export class FormComponent implements OnInit {
         this.currentPage--; // page 14 skip and go to page 13
         this.progressStatus -= 100 / this.nbPagesForm;
       }
+      if (this.currentPage == PageTypeEnum.structureWifi) {
+        if (
+          !this.structureForm.get('baseSkills').value.length &&
+          !this.structureForm.get('accessRight').value.length &&
+          !this.structureForm.get('parentingHelp').value.length &&
+          !this.structureForm.get('socialAndProfessional').value.length &&
+          !this.structureForm.get('digitalCultureSecurity').value.length
+        ) {
+          this.currentPage--;
+          this.progressStatus -= 100 / this.nbPagesForm;
+        }
+      }
       this.currentPage--;
       this.progressStatus -= 100 / this.nbPagesForm;
       this.updatePageValid();
@@ -834,6 +888,9 @@ export class FormComponent implements OnInit {
   }
 
   public validateForm(): void {
+    if (this.getStructureControl('freeWorkShop').value === null) {
+      this.getStructureControl('freeWorkShop').setValue(false);
+    }
     if (this.structureForm.valid && this.hoursForm.valid) {
       let structure: Structure = this.structureForm.value;
       structure.hours = this.hoursForm.value;
diff --git a/src/app/form/pageType.enum.ts b/src/app/form/pageType.enum.ts
index 3b3f5071add1c54b7940b04c4b7577aa94059c35..708f64b1567e7cc326df1f3e5e85168950bb1ce5 100644
--- a/src/app/form/pageType.enum.ts
+++ b/src/app/form/pageType.enum.ts
@@ -8,19 +8,18 @@ export enum PageTypeEnum {
   structureType = 6,
   structureAccessModality = 7,
   structureHours = 8,
-  structureHoursDetails = 9,
-  structurePmr = 10,
-  structureWebAndSocialNetwork = 11,
-  structurePublicTarget = 12,
-  structureAccompaniment = 13,
-  structureOtherAccompaniment = 14,
-  structureWorkshop = 15,
-  structureWorkshopPrice = 16,
-  structureWifi = 17,
-  structureEquipments = 18,
-  structureLabels = 19,
-  structureOtherServices = 20,
-  structureDescription = 21,
-  structureCovidInfo = 22,
-  cgu = 23,
+  structurePmr = 9,
+  structureWebAndSocialNetwork = 10,
+  structurePublicTarget = 11,
+  structureAccompaniment = 12,
+  structureOtherAccompaniment = 13,
+  structureWorkshop = 14,
+  structureWorkshopPrice = 15,
+  structureWifi = 16,
+  structureEquipments = 17,
+  structureLabels = 18,
+  structureOtherServices = 19,
+  structureDescription = 20,
+  structureCovidInfo = 21,
+  cgu = 22,
 }
diff --git a/src/app/reset-password/reset-password.component.html b/src/app/reset-password/reset-password.component.html
index 2983fe1f7c5194b914c598f37225ac72280788f0..13b83e7cc2081b83a70a132f4170fee86090cf56 100644
--- a/src/app/reset-password/reset-password.component.html
+++ b/src/app/reset-password/reset-password.component.html
@@ -4,16 +4,18 @@
       <h1>Réinitialisation du mot de passe</h1>
       <form *ngIf="!token" [formGroup]="resetForm" (ngSubmit)="onSubmit()">
         <div class="form-group">
-          <label for="email">Courriel personnel</label>
-            <div fxLayout="row" fxLayoutGap="13px">
-              <input type="text"
-               autocomplete="on" 
-               formControlName="email" 
-               class="form-input" 
-               [ngClass]="{ 'is-invalid': submitted && f.email.errors }"/>
-            </div>
+          <label for="email">Courriel du compte</label>
+          <div fxLayout="row" fxLayoutGap="13px">
+            <input
+              type="text"
+              autocomplete="on"
+              formControlName="email"
+              class="form-input"
+              [ngClass]="{ 'is-invalid': submitted && f.email.errors }"
+            />
+          </div>
           <div *ngIf="submitted && f.email.errors" class="invalid-feedback">
-            <div *ngIf="f.email.errors.required" >L'adresse e-mail est requise</div>
+            <div *ngIf="f.email.errors.required">L'adresse e-mail est requise</div>
           </div>
         </div>
         <div class="button" fxLayout="row" fxLayoutAlign="space-around center">
diff --git a/src/app/shared/components/create-account-form/create-account-form.component.html b/src/app/shared/components/create-account-form/create-account-form.component.html
index 6b547d7fdbb4ded4c7e829cf8e53341366c0c387..f515c14801f787c77451982ffeb4115d20d684ee 100644
--- a/src/app/shared/components/create-account-form/create-account-form.component.html
+++ b/src/app/shared/components/create-account-form/create-account-form.component.html
@@ -1,6 +1,6 @@
 <form [formGroup]="accountForm" *ngIf="accountForm" (ngSubmit)="onSubmit(accountForm)">
   <div class="form-group" fxLayout="column">
-    <label for="email">Courriel personnel</label>
+    <label for="email">Courriel du compte</label>
     <div fxLayout="row" fxLayoutGap="13px">
       <input type="text" autocomplete="on" formControlName="email" class="form-input" />
       <img *ngIf="f.email.invalid && f.email.value" src="../../assets/form/notvalidate.svg" alt="logo invalid" />
diff --git a/src/app/shared/components/signup-modal/signup-modal.component.html b/src/app/shared/components/signup-modal/signup-modal.component.html
index 492b39e291a3d34c23112fa94fe5830c2cd964ff..caa8fd9678450ae65656882ab2adef92f3fd6fdd 100644
--- a/src/app/shared/components/signup-modal/signup-modal.component.html
+++ b/src/app/shared/components/signup-modal/signup-modal.component.html
@@ -11,7 +11,7 @@
         <h3>Se connecter</h3>
         <form [formGroup]="loginForm" (ngSubmit)="onSubmit()">
           <div class="form-group" fxLayout="column">
-            <label for="email">Courriel personnel</label>
+            <label for="email">Courriel du compte</label>
             <div fxLayout="row" fxLayoutGap="13px">
               <input type="text" autocomplete="on" formControlName="email" class="form-input" />
               <svg *ngIf="f.email.invalid && f.email.value" class="notValidate" aria-hidden="true">
diff --git a/src/app/utils/CustomRegExp.ts b/src/app/utils/CustomRegExp.ts
index ab2b98c5932ccd60f7520f5af4fcede8a7021476..af6b6f83d406bcafc5f8d3e475e5abb78a568426 100644
--- a/src/app/utils/CustomRegExp.ts
+++ b/src/app/utils/CustomRegExp.ts
@@ -12,7 +12,7 @@ export class CustomRegExp {
    * Validate a password (at least 8 characters, 1 uppercase letter, 1 lowercase letter, 1 number, and 1 special character)
    */
   public static readonly PHONE: RegExp = /^(?:(?:\+|00)|0)\s*[1-9](?:[\s.-]*\d{2}){4}$/; //NOSONAR
-  public static readonly WEBSITE: RegExp = /^(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/; //NOSONAR
+  public static readonly WEBSITE: RegExp = /^(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,}|[a-zA-Z0-9]+\.[^\s]{2,})/; //NOSONAR
   public static readonly LINKEDIN: string = '(linkedin.com/in/.{1,})';
   public static readonly FACEBOOK: string = '(facebook.com/.{1,})';
   public static readonly TWITTER: string = '(twitter.com/.{1,})';