diff --git a/src/components/OcConnectionForm/OcConnectionForm.vue b/src/components/OcConnectionForm/OcConnectionForm.vue
index b90619541e07eda95aff6e240f05923026c9bc78..39fef0a59b3ee71e6cc6b16d1a3e5fa396373356 100644
--- a/src/components/OcConnectionForm/OcConnectionForm.vue
+++ b/src/components/OcConnectionForm/OcConnectionForm.vue
@@ -2,11 +2,11 @@
   <Form
     class="flex flex-col gap-2"
     :validation-schema="validationSchema"
-    @submit="emit('login', $event.username, $event.password)"
+    @submit="emit('login', $event.email, $event.password)"
   >
-    <Field name="username" v-slot="{ field, errorMessage }">
-      <label for="username">{{ t('connection.username') }}</label>
-      <InputText id="username" v-bind="field" :invalid="!!errorMessage" />
+    <Field name="email" v-slot="{ field, errorMessage }">
+      <label for="email">{{ t('connection.emailAddress') }}</label>
+      <InputText id="email" v-bind="field" :invalid="!!errorMessage" />
       <Message v-if="errorMessage" severity="error">{{ errorMessage }}</Message>
     </Field>
     <Field name="password" v-slot="{ value, errorMessage, handleChange }">
@@ -40,14 +40,14 @@ import Message from 'primevue/message'
 import Password from 'primevue/password'
 
 const emit = defineEmits<{
-  login: [username: string, password: string]
+  login: [email: string, password: string]
 }>()
 
 const { t } = useI18n()
 
 const validationSchema = toTypedSchema(
   yup.object({
-    username: yup.string().required().label(t('connection.username')),
+    email: yup.string().required().label(t('connection.emailAddress')),
     password: yup.string().required().label(t('connection.password'))
   })
 )
diff --git a/src/declarations.ts b/src/declarations.ts
index 1ee6e8a11a1990acb646d19da72dddedb18b4fbe..7aba1f002fbe5662baaae824d832cea9eb836b81 100644
--- a/src/declarations.ts
+++ b/src/declarations.ts
@@ -63,7 +63,7 @@ export type OcTreeNode = {
 }
 
 export type Credentials = {
-  username: string
+  email: string
   password: string
 }
 
diff --git a/src/helpers/http.ts b/src/helpers/http.ts
index 7e3648d1fb9e063b5034f2b14c9077036eece6f1..076c252962e1384fd9b7840838819c0193f68140 100644
--- a/src/helpers/http.ts
+++ b/src/helpers/http.ts
@@ -18,7 +18,7 @@ export function httpFetch(
       options?.method ?? 'GET',
       url,
       true,
-      options?.auth?.username,
+      options?.auth?.email,
       options?.auth?.password
     );
 
diff --git a/src/locales/en.ts b/src/locales/en.ts
index f2834d90e56f7447e6268cff35500dd1a86b969a..036f54fb8a7d85990965c21ea589a5367c76073b 100644
--- a/src/locales/en.ts
+++ b/src/locales/en.ts
@@ -53,7 +53,7 @@ export default {
   },
   connection: {
     catchphrase: 'One account, different community data-sharing areas',
-    username: 'Username',
+    emailAddress: 'E-mail address',
     password: 'Password',
     login: 'Login',
     logout: 'Logout',
diff --git a/src/locales/fr.ts b/src/locales/fr.ts
index cee97fe59303e1daf4b0721098d482713f47c0b3..e449f3a63654865d78e5a27c00eec778a73966f0 100644
--- a/src/locales/fr.ts
+++ b/src/locales/fr.ts
@@ -53,7 +53,7 @@ export default {
   },
   connection: {
     catchphrase: 'Un seul compte, différents espaces communautaires de partage de données',
-    username: 'Nom d\'utilisateur',
+    emailAddress: 'Adresse e-mail',
     password: 'Mot de passe',
     login: 'Connexion',
     logout: 'Déconnexion',
diff --git a/src/pages/connection.vue b/src/pages/connection.vue
index f66fc465cb77302e9eedf84eaff01be9b5e3f93e..f4bf3c7f2d140b6ffe8a793e2cb41e8c049942a3 100644
--- a/src/pages/connection.vue
+++ b/src/pages/connection.vue
@@ -71,12 +71,12 @@ const breadcrumbItems = computed<OcBreadcrumbItem[]>(() => [
   }
 ])
 
-async function connection(username: string, password: string) {
-  const profileInfos = await getProfileInfos({ username: username, password: password })
+async function connection(email: string, password: string) {
+  const profileInfos = await getProfileInfos({ email, password })
 
   if (profileInfos) {
     accountStore.auth = {
-      username: username,
+      email: email,
       password: password
     }
     accountStore.infos = profileInfos.infos
diff --git a/src/stores/account.ts b/src/stores/account.ts
index c343fd15b8843864dec6498104ae01651d4dc692..61a4371663186cd1974be6ab3b57b8766035ce72 100644
--- a/src/stores/account.ts
+++ b/src/stores/account.ts
@@ -17,11 +17,12 @@ export const useAccountStore = defineStore<string, AccountState>('account', () =
   const localAuth = localStorage.getItem('token')
 
   if (localAuth !== null) {
-    const [username, password] = atob(localAuth).split(':')
-
-    auth.value = {
-      username: username,
-      password: password,
+    const [email, password] = atob(localAuth).split(':')
+    if (email && password) {
+      auth.value = {
+        email: email,
+        password: password,
+      }
     }
   }
 
@@ -33,7 +34,7 @@ export const useAccountStore = defineStore<string, AccountState>('account', () =
 
   watch(auth, (auth: Credentials) => {
     if (auth) {
-      localStorage.setItem("token", btoa(`${auth.username}:${auth.password}`));
+      localStorage.setItem("token", btoa(`${auth.email}:${auth.password}`));
     } else {
       localStorage.removeItem("token")
     }