diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 4bcd6304d3813d6bd95d4cca06889bd9a0ebcb63..1eab128961b26274a16980a06e0958b0fbb70ac4 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -53,17 +53,18 @@ build dev on gitlab.pasteur.fr:
       --docker-username="$DOCKER_USER"
       --docker-password="$DOCKER_TOKEN"
       --docker-email=kubernetes@pasteur.fr
-      -n "$NAMESPACE"
+      -n "$KUBE_NAMESPACE"
       --dry-run=client -o yaml | kubectl apply -f -
-    - envsubst < k8s/front-deployment.yaml | kubectl apply -n "$NAMESPACE" -f -
-    - envsubst < k8s/front-service.yaml | kubectl apply -n "$NAMESPACE" -f -
-    - envsubst < k8s/ingress.yaml | kubectl apply -n "$NAMESPACE" -f -
-  rules:
-    - if: $CI_PROJECT_ID == $GITLAB_PASTEUR_PROJECT_ID      # gitlab.pasteur.fr only
+    - envsubst < k8s/front-deployment.yaml | kubectl apply -n "$KUBE_NAMESPACE" -f -
+    - envsubst < k8s/front-service.yaml | kubectl apply -n "$KUBE_NAMESPACE" -f -
+    - envsubst < k8s/ingress.yaml | kubectl apply -n "$KUBE_NAMESPACE" -f -
 
 .deploy-with-helm:
   stage: deploy
   image: docker.io/enix/ci-toolbox:1.21
+  variables:
+    IMAGE_NAME: "front"
+    IMAGE_POLICY: "Always"
   script:
     - kubectl create secret
       docker-registry registry-gitlab
@@ -73,17 +74,13 @@ build dev on gitlab.pasteur.fr:
       --docker-email=kubernetes@pasteur.fr
       --dry-run=client
       -n "$NAMESPACE" -o yaml | kubectl apply -f -
-   # - cd $CI_PROJECT_DIR/nyxui
     - helmfile lint
     - helmfile template
     - helmfile sync
-  rules:
-    - if: $CI_PROJECT_ID == $GITLAB_PASTEUR_PROJECT_ID      # gitlab.pasteur.fr only
 
 deploy to pasteur.cloud:
   extends: .deploy-with-helm
   variables:
-    IMAGE_URL: "$CI_REGISTRY_IMAGE/front:$CI_COMMIT_SHORT_SHA"
     SERVICE_TARGET_PORT: "8080"
     IMAGE_SECRETS: "registry-gitlab"
     KUBE_NAMESPACE: "nyx-prod"
@@ -94,18 +91,17 @@ deploy to pasteur.cloud:
     LIMITS_CPU: "2"
     LIMITS_MEMORY: "4Gi"
     LIMITS_STORAGE: "1Gi"
-    IMAGE_POLICY: "Always"
   environment:
     name: k8sprod-02/nyx-prod
     url: https://nyx.pasteur.cloud
   rules:
-    - if: $CI_COMMIT_BRANCH == "main"
+    - if: ($CI_COMMIT_BRANCH == "main" &&
+        $CI_PROJECT_ID == $GITLAB_PASTEUR_PROJECT_ID)      # gitlab.pasteur.fr only
       when: manual
 
 deploy to dev.pasteur.cloud:
   extends: .deploy-with-helm
   variables:
-    IMAGE_URL: "$CI_REGISTRY_IMAGE/front:$CI_COMMIT_SHORT_SHA"
     SERVICE_TARGET_PORT: "8080"
     IMAGE_SECRETS: "registry-gitlab"
     KUBE_NAMESPACE: "nyx-dev"
@@ -116,10 +112,10 @@ deploy to dev.pasteur.cloud:
     LIMITS_CPU: "2"
     LIMITS_MEMORY: "4Gi"
     LIMITS_STORAGE: "1Gi"
-    IMAGE_POLICY: "Always"
   environment:
     name: k8sdev-01/nyx-dev
     url: https://nyx.dev.pasteur.cloud
   rules:
-    - if: $CI_COMMIT_BRANCH == "dev"
+    - if: ($CI_COMMIT_BRANCH == "dev" &&
+        $CI_PROJECT_ID == $GITLAB_PASTEUR_PROJECT_ID)      # gitlab.pasteur.fr only
       when: manual
diff --git a/nyxui/templates/deployment-front.yaml b/nyxui/templates/deployment-front.yaml
index 6205979f172ffaedd929e9f85c1021d77800b067..e4319b60f95077b28ca3c82ebbb063a4c36914a9 100644
--- a/nyxui/templates/deployment-front.yaml
+++ b/nyxui/templates/deployment-front.yaml
@@ -34,7 +34,7 @@ spec:
         - name: {{ .Chart.Name }}
           securityContext:
             {{- toYaml .Values.securityContext | nindent 12 }}
-          image: "{{ .Values.front.image.repository }}:{{ .Values.front.image.sha }}"
+          image: "{{ .Values.front.image.repository }}/{{ .Values.front.image.name }}:{{ .Values.front.image.tag }}"
           imagePullPolicy: {{ .Values.front.image.pullPolicy }}
           ports:
             - name: http
diff --git a/nyxui/values.yaml b/nyxui/values.yaml
index 535e5750d602c60abd5e49dab05d0d5bd00ef11b..c7bde4b53aa898e7b498be9c48dd79fee0850467 100644
--- a/nyxui/values.yaml
+++ b/nyxui/values.yaml
@@ -6,8 +6,9 @@ replicaCount: 1
 
 front:
   image:
-    repository: registry-gitlab.pasteur.fr/nyx/nyxui/front
-    sha: ""
+    repository: registry-gitlab.pasteur.fr/nyx/nyxui.jl
+    name: front
+    tag: ""
     pullPolicy: Always
   service:
     targetPort: 8080
diff --git a/values-yaml.gotmpl b/values-yaml.gotmpl
index 4d1bb857f67f6b3c836cc9b5c029953d085e126f..d2b4df2f2498b992c4b4f9c3589308ffe201af6f 100644
--- a/values-yaml.gotmpl
+++ b/values-yaml.gotmpl
@@ -6,9 +6,10 @@ replicaCount: 1
 
 front:
   image:
-    repository: {{ requiredEnv "IMAGE_URL" }}
+    repository: {{ requiredEnv "CI_REGISTRY_IMAGE" }}
+    name: {{ requiredEnv "IMAGE_NAME" }}
+    tag: {{ requiredEnv "CI_COMMIT_SHORT_SHA" }}
     pullPolicy: {{ requiredEnv "IMAGE_POLICY" }}
-    sha: {{ requiredEnv "CI_COMMIT_SHORT_SHA" }}
   service:
     targetPort: {{ requiredEnv "SERVICE_TARGET_PORT" }}