diff --git a/api/api-iam/iam-internal/src/main/java/fr/gouv/vitamui/iam/internal/server/user/converter/UserConverter.java b/api/api-iam/iam-internal/src/main/java/fr/gouv/vitamui/iam/internal/server/user/converter/UserConverter.java
index 14093fd7ba8361208919493da1a91dc0b53576d8..ba8efc2066d9bbabe99ba81eebb747798464d1cc 100644
--- a/api/api-iam/iam-internal/src/main/java/fr/gouv/vitamui/iam/internal/server/user/converter/UserConverter.java
+++ b/api/api-iam/iam-internal/src/main/java/fr/gouv/vitamui/iam/internal/server/user/converter/UserConverter.java
@@ -89,7 +89,7 @@ public class UserConverter implements Converter<UserDto, User> {
      */
     public static final String BLOCKED_DURATION = "Durée du blocage";
 
-    public static final String SITE_CODE = "siteCode";
+    public static final String SITE_CODE = "Code du site";
 
     private final GroupRepository groupRepository;
 
diff --git a/api/api-iam/iam-internal/src/main/java/fr/gouv/vitamui/iam/internal/server/user/service/UserInternalService.java b/api/api-iam/iam-internal/src/main/java/fr/gouv/vitamui/iam/internal/server/user/service/UserInternalService.java
index 47d4be611246a000690b038c2f72e66c8096926b..8c3cdee1fef5d859ace6ab623adda3a6922d26ad 100644
--- a/api/api-iam/iam-internal/src/main/java/fr/gouv/vitamui/iam/internal/server/user/service/UserInternalService.java
+++ b/api/api-iam/iam-internal/src/main/java/fr/gouv/vitamui/iam/internal/server/user/service/UserInternalService.java
@@ -559,6 +559,10 @@ public class UserInternalService extends VitamUICrudService<UserDto, User> {
                     }
                     addressService.processPatch(user.getAddress(), CastUtils.toMap(entry.getValue()), logbooks);
                     break;
+                case "siteCode" :
+                    logbooks.add(new EventDiffDto(UserConverter.SITE_CODE, user.getSiteCode(), entry.getValue()));
+                    user.setSiteCode(CastUtils.toString(entry.getValue()));
+                    break;
                 default :
                     throw new IllegalArgumentException("Unable to patch group " + user.getId() + ": key " + entry.getKey() + " is not allowed");
             }
diff --git a/api/api-iam/iam-internal/src/test/java/fr/gouv/vitamui/iam/internal/server/user/service/UserInternalServiceIntegTest.java b/api/api-iam/iam-internal/src/test/java/fr/gouv/vitamui/iam/internal/server/user/service/UserInternalServiceIntegTest.java
index ca6223e82b8d1c55b483d6a2b8b19796f42048b7..97cdb7d5d93ea88f8404a46a583de7f9117ba51e 100644
--- a/api/api-iam/iam-internal/src/test/java/fr/gouv/vitamui/iam/internal/server/user/service/UserInternalServiceIntegTest.java
+++ b/api/api-iam/iam-internal/src/test/java/fr/gouv/vitamui/iam/internal/server/user/service/UserInternalServiceIntegTest.java
@@ -307,6 +307,7 @@ public final class UserInternalServiceIntegTest extends AbstractLogbookIntegrati
         final GroupDto group = new GroupDto();
         group.setEnabled(true);
         group.setCustomerId(customerId);
+        user.setSiteCode("001");
         Mockito.when(customerRepository.findById(any())).thenReturn(Optional.of(customer));
         Mockito.when(groupInternalService.getOne(any(), any(), any())).thenReturn(group);
         Mockito.when(internalSecurityService.isLevelAllowed(any())).thenReturn(true);
@@ -338,6 +339,7 @@ public final class UserInternalServiceIntegTest extends AbstractLogbookIntegrati
                 + "\"Statut\":\"ENABLED\","
                 + "\"Subrogeable\":\"false\","
                 + "\"OTP\":\"true\","
+                + "\"Code du site\":\"001\","
                 + "\"Nom de la rue\":\"rue faubourg poissoniére\","
                 + "\"Code postal\":\"75009\","
                 + "\"Ville\":\"paris\","
@@ -400,9 +402,13 @@ public final class UserInternalServiceIntegTest extends AbstractLogbookIntegrati
         internalUserService.patch(partialDto);
         partialDto.remove("otp");
 
+        partialDto.put("siteCode", "001");
+        internalUserService.patch(partialDto);
+        partialDto.remove("siteCode");
+
         final Collection<Event> events = eventRepository
                 .findAll(Query.query(Criteria.where("obId").is(user.getIdentifier()).and("evType").is(EventType.EXT_VITAMUI_UPDATE_USER)));
-        assertThat(events).hasSize(11);
+        assertThat(events).hasSize(12);
 
     }
 
diff --git a/ui/ui-frontend-common/src/app/modules/models/user/user.interface.ts b/ui/ui-frontend-common/src/app/modules/models/user/user.interface.ts
index 9bb0030c0a7c42a7f58ddde8082a91902ccbfd87..53229d086638bc91a50483af88fca0f97daa59d7 100644
--- a/ui/ui-frontend-common/src/app/modules/models/user/user.interface.ts
+++ b/ui/ui-frontend-common/src/app/modules/models/user/user.interface.ts
@@ -57,5 +57,6 @@ export interface User extends Id {
   lastConnection: string;
   readonly: boolean;
   address: Address;
+  siteCode: string;
 
 }
diff --git a/ui/ui-frontend/projects/identity/src/app/user/user-create/user-create.component.html b/ui/ui-frontend/projects/identity/src/app/user/user-create/user-create.component.html
index 36cd3059e492f77e10f6d9c46689f5ffdb4143a8..0ef17962765357bebe8eeffdf4c8dfc9a4ad6884 100644
--- a/ui/ui-frontend/projects/identity/src/app/user/user-create/user-create.component.html
+++ b/ui/ui-frontend/projects/identity/src/app/user/user-create/user-create.component.html
@@ -198,6 +198,12 @@
           </div>
         </ng-container>
 
+        <div>
+          <vitamui-common-input class="field-site-code" formControlName="siteCode" placeholder="Code du site"
+                                i18n-placeholder="user create siteCode@@userCreateSiteCode">
+          </vitamui-common-input>
+        </div>
+
         <div class="actions">
           <button type="button" class="btn primary" cdkStepperNext [disabled]="form.get('address').pending || form.get('address').invalid"
             i18n="user create next step otp@@userCreateNextStepOtpButton">
diff --git a/ui/ui-frontend/projects/identity/src/app/user/user-create/user-create.component.scss b/ui/ui-frontend/projects/identity/src/app/user/user-create/user-create.component.scss
index 70c07b7bb62f957b2f751f0c5165f5558a19d021..f708dbbe1e376e5b2f58c97e7de13e6367f60ea3 100644
--- a/ui/ui-frontend/projects/identity/src/app/user/user-create/user-create.component.scss
+++ b/ui/ui-frontend/projects/identity/src/app/user/user-create/user-create.component.scss
@@ -68,6 +68,11 @@ h2 {
     margin-right: $field-spacing;
 }
 
+.field-site-code {
+  width: 160px;
+  margin-right: $field-spacing;
+}
+
 .field-city {
     width: 260px;
     margin-right: $field-spacing;
diff --git a/ui/ui-frontend/projects/identity/src/app/user/user-create/user-create.component.ts b/ui/ui-frontend/projects/identity/src/app/user/user-create/user-create.component.ts
index 7a47d721f6c1081cd81ccacf3129c0da9d34bcc0..df9764f85a234717fbab47bcf6587efeeaabe820 100644
--- a/ui/ui-frontend/projects/identity/src/app/user/user-create/user-create.component.ts
+++ b/ui/ui-frontend/projects/identity/src/app/user/user-create/user-create.component.ts
@@ -140,7 +140,8 @@ export class UserCreateComponent implements OnInit, OnDestroy {
           zipCode: [null],
           city: [null],
           country: ['FR']
-        })
+        }),
+        siteCode: [null],
       },
       { validator: UserValidators.missingPhoneNumber }
     );
diff --git a/ui/ui-frontend/projects/identity/src/app/user/user-preview/user-information-tab/user-information-tab.component.html b/ui/ui-frontend/projects/identity/src/app/user/user-preview/user-information-tab/user-information-tab.component.html
index 218cf69be8a1e80c6c37612c8dfd12581e125d51..9b225692fb842771c92e130a8521cd323fc31879 100644
--- a/ui/ui-frontend/projects/identity/src/app/user/user-preview/user-information-tab/user-information-tab.component.html
+++ b/ui/ui-frontend/projects/identity/src/app/user/user-preview/user-information-tab/user-information-tab.component.html
@@ -99,6 +99,14 @@
     </div>
   </ng-container>
 
+  <div class="row">
+    <div class="col-6 form-control">
+      <vitamui-common-editable-input formControlName="siteCode" label="Code du site"
+                                     i18n-label="user info tab siteCode@@UserInfoTabSiteCode">
+      </vitamui-common-editable-input>
+    </div>
+  </div>
+
   <div class="row">
     <div class="col-6 form-control">
       <vitamui-common-editable-input formControlName="level" label="Niveau du groupe"
diff --git a/ui/ui-frontend/projects/identity/src/app/user/user-preview/user-information-tab/user-information-tab.component.spec.ts b/ui/ui-frontend/projects/identity/src/app/user/user-preview/user-information-tab/user-information-tab.component.spec.ts
index e38e7e2bd03bfaae88e0b0870d6168308d7b211b..a6b7bd3d3ba1dde154b8f3cf266ac8f2c83e278e 100644
--- a/ui/ui-frontend/projects/identity/src/app/user/user-preview/user-information-tab/user-information-tab.component.spec.ts
+++ b/ui/ui-frontend/projects/identity/src/app/user/user-preview/user-information-tab/user-information-tab.component.spec.ts
@@ -74,7 +74,8 @@ let expectedUser: User = {
       zipCode: '75009',
       city: 'paris',
       country: 'france'
-  }
+  },
+  siteCode: '001'
 };
 
 let expectedCustomer: Customer = {
@@ -182,7 +183,8 @@ describe('UserInfoTabComponent', () => {
           zipCode: '75009',
           city: 'paris',
           country: 'france'
-      }
+      },
+      siteCode: '001'
     };
     expectedCustomer = {
       id: 'idCustomer',
diff --git a/ui/ui-frontend/projects/identity/src/app/user/user-preview/user-information-tab/user-information-tab.component.ts b/ui/ui-frontend/projects/identity/src/app/user/user-preview/user-information-tab/user-information-tab.component.ts
index f858d77bac78d24a36ca558aa054d58bc5a9d624..425854372315d7e1d54764f95892e9064fb1d218 100644
--- a/ui/ui-frontend/projects/identity/src/app/user/user-preview/user-information-tab/user-information-tab.component.ts
+++ b/ui/ui-frontend/projects/identity/src/app/user/user-preview/user-information-tab/user-information-tab.component.ts
@@ -85,7 +85,8 @@ export class UserInfoTabComponent implements OnChanges {
       zipCode: string,
       city: string,
       country: string,
-    }
+    },
+    siteCode: string
   };
   clientEmailDomains: string[];
 
@@ -115,7 +116,8 @@ export class UserInfoTabComponent implements OnChanges {
         zipCode: [null, Validators.required],
         city: [null, Validators.required],
         country: [null, Validators.required],
-      })
+      }),
+      siteCode: [null],
     });
 
     this.form.get('mobile').valueChanges.subscribe(() => {