diff --git a/src/components/Connection/ConnectionResult.tsx b/src/components/Connection/ConnectionResult.tsx
index 60740d100b40f11a1c9ea0ef2548fdf3b4922d45..f4fa59af79eb9265b72db5ecb5217b16fdbbab76 100644
--- a/src/components/Connection/ConnectionResult.tsx
+++ b/src/components/Connection/ConnectionResult.tsx
@@ -165,6 +165,17 @@ const ConnectionResult: React.FC<ConnectionResultProps> = ({
     }
   }, [fluidStatus.connection.triggerState, isOutdated])
 
+  const getFluidTypeTranslation = (fluidType: FluidType) => {
+    switch (fluidType) {
+      case FluidType.GAS:
+        return 'de gaz'
+      case FluidType.ELECTRICITY:
+        return "d'électricité"
+      default:
+        return "d'eau"
+    }
+  }
+
   return (
     <div className="connection-update-result">
       <div
@@ -185,93 +196,21 @@ const ConnectionResult: React.FC<ConnectionResultProps> = ({
           </div>
         ) : status === 'errored' ? (
           // Else check if konnector is in error state
-          <div className="connection-caption-errored warning-white text-16-normal">
-            <StyledIcon
-              icon={warningWhite}
-              size={36}
-              className="warning-icon"
-              role="img"
-              title="Attention"
-              ariaHidden={false}
-            />
-            {konnectorError === 'login_failed' ? (
-              <div className="text-16-normal">
-                {t('konnector_form.login_failed')}
-              </div>
-            ) : (
-              <div className="text-16-normal">
-                {t(`konnector_form.${konnectorError}`, {
-                  fluid:
-                    fluidType === FluidType.GAS
-                      ? 'de gaz'
-                      : fluidType === FluidType.ELECTRICITY
-                      ? "d'électricité"
-                      : "d'eau",
-                })}
-                {konnectorError !== 'error_update_oauth' && (
-                  <>
-                    <div className="connection-caption">
-                      {t('konnector_form.label_updated_at')}
-                    </div>
-                    <div className="text-16-bold">
-                      {lastExecutionDate.toLocaleString()}
-                    </div>
-                  </>
-                )}
-              </div>
-            )}
-          </div>
+          <DisplayKonnectorErrorState
+            konnectorError={konnectorError}
+            lastExecutionDate={lastExecutionDate}
+            fluidConcerned={getFluidTypeTranslation(fluidType)}
+          />
         ) : outDatedDataDays ? (
           // Else check if data is outdated
-          <div className="connection-caption text-16-normal">
-            <div className="text-16-normal">
-              <>
-                {hasUpdatedToday() === true ? (
-                  // If user has already ran an update today, display a message about energy provider issue
-                  <>
-                    <div className="connection-caption">
-                      {t('konnector_form.label_updated_at')}
-                    </div>
-                    <div className="text-16-bold">
-                      {lastExecutionDate.toLocaleString()}
-                    </div>
-                    <div>
-                      {fluidStatus?.connection?.konnector &&
-                        t('konnector_form.issue') +
-                          ' ' +
-                          fluidStatus.connection.konnector.name +
-                          '.'}
-                    </div>
-                  </>
-                ) : (
-                  // Otherwise tells user to run a manual update
-                  <div className="connection-caption-errored connection-update-errored warning-white text-16-normal">
-                    <StyledIcon
-                      icon={warningWhite}
-                      size={36}
-                      className="warning-icon"
-                      role="img"
-                      title="Attention"
-                      ariaHidden={false}
-                    />
-                    <div className="text-16-normal">
-                      {t('konnector_form.resolve')}
-                    </div>
-                  </div>
-                )}
-              </>
-            </div>
-          </div>
+          <DisplayDataOutdated
+            fluidStatus={fluidStatus}
+            fluidType={fluidType}
+            lastExecutionDate={lastExecutionDate}
+            hasUpdatedToday={hasUpdatedToday()}
+          />
         ) : (
-          //If no partner error nor konnector error, display the last update date
-          <div>
-            <div className="connection-caption text-16-normal">
-              {t('konnector_form.label_updated_at')}
-            </div>
-            <div className="text-16-bold">
-              {lastExecutionDate.toLocaleString()}
-            </div>
-          </div>
+          <DisplayLastUpdateDate lastExecutionDate={lastExecutionDate} />
         )}
       </div>
       <div className="inline-buttons">
@@ -288,8 +227,9 @@ const ConnectionResult: React.FC<ConnectionResultProps> = ({
             label: 'text-16-normal',
           }}
         >
-          {deleting && <Loader fluidType={fluidType} />}
-          {!deleting && t('konnector_form.button_delete')}
+          {deleting
+            ? t('konnector_form.loading')
+            : t('konnector_form.button_delete')}
         </Button>
         <Button
           aria-label={t('konnector_form.accessibility.button_update')}
@@ -325,4 +265,151 @@ const ConnectionResult: React.FC<ConnectionResultProps> = ({
   )
 }
 
+const DisplayKonnectorErrorState = ({
+  konnectorError,
+  lastExecutionDate,
+  fluidConcerned,
+}: {
+  konnectorError: string
+  lastExecutionDate: string | DateTime
+  fluidConcerned: string
+}) => {
+  const { t } = useI18n()
+  return (
+    <div className="connection-caption-errored warning-white text-16-normal">
+      <StyledIcon
+        icon={warningWhite}
+        size={36}
+        className="warning-icon"
+        role="img"
+        title="Attention"
+        ariaHidden={false}
+      />
+      {konnectorError === 'login_failed' ? (
+        <div className="text-16-normal">{t('konnector_form.login_failed')}</div>
+      ) : (
+        <div className="text-16-normal">
+          {t(`konnector_form.${konnectorError}`, {
+            fluid: fluidConcerned,
+          })}
+          {konnectorError !== 'error_update_oauth' && (
+            <>
+              <div className="connection-caption">
+                {t('konnector_form.label_updated_at')}
+              </div>
+              <div className="text-16-bold">
+                {lastExecutionDate.toLocaleString()}
+              </div>
+            </>
+          )}
+        </div>
+      )}
+    </div>
+  )
+}
+
+const DisplayDataOutdated = ({
+  fluidStatus,
+  fluidType,
+  lastExecutionDate,
+  hasUpdatedToday,
+}: {
+  fluidStatus: FluidStatus
+  fluidType: FluidType
+  lastExecutionDate: string | DateTime
+  hasUpdatedToday: boolean
+}) => {
+  return (
+    <div className="connection-caption text-16-normal">
+      <div className="text-16-normal">
+        <>
+          {hasUpdatedToday ? (
+            // If user has already ran an update today, display a message about energy provider issue
+            <DisplayAlreadyUpdatedToday
+              fluidStatus={fluidStatus}
+              fluidType={fluidType}
+              lastExecutionDate={lastExecutionDate.toLocaleString()}
+            />
+          ) : (
+            <DisplayManualUpdate />
+          )}
+        </>
+      </div>
+    </div>
+  )
+}
+
+/** If user has already ran an update today, display a message about energy provider issue */
+const DisplayAlreadyUpdatedToday = ({
+  fluidStatus,
+  fluidType,
+  lastExecutionDate,
+}: {
+  fluidStatus: FluidStatus
+  fluidType: FluidType
+  lastExecutionDate: string | DateTime
+}) => {
+  const { t } = useI18n()
+
+  const getFluidTypeKonnectorTranslation = (fluidType: FluidType) => {
+    switch (fluidType) {
+      case FluidType.GAS:
+        return 'GRDF'
+      case FluidType.ELECTRICITY:
+        return 'Enedis'
+      default:
+        return 'Eau Publique du Grand Lyon'
+    }
+  }
+  return (
+    <>
+      <div className="connection-caption">
+        {t('konnector_form.label_updated_at')}
+      </div>
+      <div className="text-16-bold">{lastExecutionDate.toLocaleString()}</div>
+      <div>
+        {fluidStatus?.connection?.konnector &&
+          t('konnector_form.issue') +
+            ' ' +
+            getFluidTypeKonnectorTranslation(fluidType) +
+            '.'}
+      </div>
+    </>
+  )
+}
+
+/** Tells user to run a manual update */
+const DisplayManualUpdate = () => {
+  const { t } = useI18n()
+  return (
+    <div className="connection-caption-errored connection-update-errored warning-white text-16-normal">
+      <StyledIcon
+        icon={warningWhite}
+        size={36}
+        className="warning-icon"
+        role="img"
+        title="Attention"
+        ariaHidden={false}
+      />
+      <div className="text-16-normal">{t('konnector_form.resolve')}</div>
+    </div>
+  )
+}
+
+const DisplayLastUpdateDate = ({
+  lastExecutionDate,
+}: {
+  lastExecutionDate: string | DateTime
+}) => {
+  const { t } = useI18n()
+  return (
+    <div>
+      <div className="connection-caption text-16-normal">
+        {t('konnector_form.label_updated_at')}
+      </div>
+      <div className="text-16-bold">{lastExecutionDate.toLocaleString()}</div>
+    </div>
+  )
+}
+
 export default ConnectionResult
diff --git a/src/locales/fr.json b/src/locales/fr.json
index 80b8133f3b3cec645cb65bdbf72b2e3a4c12e20c..735d8a727fbe2774e2aed683e2b32f51f51f28be 100644
--- a/src/locales/fr.json
+++ b/src/locales/fr.json
@@ -728,6 +728,7 @@
   "konnector_form": {
     "label_updated_at": "Dernière mise-à-jour le",
     "button_update": "Mettre à jour",
+    "loading": "Chargement...",
     "wait_end_issue": "Attendre la fin de la maintenance avant de mettre à jour.",
     "button_delete": "Supprimer",
     "issue": "Le problème semble venir de ",