diff --git a/data/grid5000/sites/lille/servers/frontend-dev.json b/data/grid5000/sites/lille/servers/frontend-dev.json
new file mode 100644
index 0000000000000000000000000000000000000000..95837b81c3c8090199060b47ea75cf88753d199c
--- /dev/null
+++ b/data/grid5000/sites/lille/servers/frontend-dev.json
@@ -0,0 +1,10 @@
+{
+  "kind": "virtual",
+  "network_adapters": {
+    "default": {
+      "ip": "172.16.47.145"
+    }
+  },
+  "type": "server",
+  "uid": "frontend-dev"
+}
\ No newline at end of file
diff --git a/data/grid5000/sites/lyon/servers/frontend-dev.json b/data/grid5000/sites/lyon/servers/frontend-dev.json
new file mode 100644
index 0000000000000000000000000000000000000000..a7f3ee7d32851af432712aa71726041a859e917e
--- /dev/null
+++ b/data/grid5000/sites/lyon/servers/frontend-dev.json
@@ -0,0 +1,10 @@
+{
+  "kind": "virtual",
+  "network_adapters": {
+    "default": {
+      "ip": "172.16.63.131"
+    }
+  },
+  "type": "server",
+  "uid": "frontend-dev"
+}
\ No newline at end of file
diff --git a/data/grid5000/sites/nancy/servers/frontend-dev.json b/data/grid5000/sites/nancy/servers/frontend-dev.json
new file mode 100644
index 0000000000000000000000000000000000000000..c1563c90a983cbfc3b38ba12271ae2f1cd1fcc7b
--- /dev/null
+++ b/data/grid5000/sites/nancy/servers/frontend-dev.json
@@ -0,0 +1,10 @@
+{
+  "kind": "virtual",
+  "network_adapters": {
+    "default": {
+      "ip": "172.16.79.161"
+    }
+  },
+  "type": "server",
+  "uid": "frontend-dev"
+}
\ No newline at end of file
diff --git a/data/grid5000/sites/rennes/servers/frontend-dev.json b/data/grid5000/sites/rennes/servers/frontend-dev.json
new file mode 100644
index 0000000000000000000000000000000000000000..7d3067f6add4fa525f227e3a3b91fa2d87a32eb4
--- /dev/null
+++ b/data/grid5000/sites/rennes/servers/frontend-dev.json
@@ -0,0 +1,10 @@
+{
+  "kind": "virtual",
+  "network_adapters": {
+    "default": {
+      "ip": "172.16.111.144"
+    }
+  },
+  "type": "server",
+  "uid": "frontend-dev"
+}
\ No newline at end of file
diff --git a/grid5000-all.json b/grid5000-all.json
index 8eeb3d2898971fce82a62499ca3e24c2480b4c8d..e973d7394a67b918bf5c7cec52623eab4ae33af6 100644
--- a/grid5000-all.json
+++ b/grid5000-all.json
@@ -28239,6 +28239,16 @@
           "type": "server",
           "uid": "flille"
         },
+        "frontend-dev": {
+          "kind": "virtual",
+          "network_adapters": {
+            "default": {
+              "ip": "172.16.47.145"
+            }
+          },
+          "type": "server",
+          "uid": "frontend-dev"
+        },
         "ganglia": {
           "kind": "virtual",
           "network_adapters": {
@@ -63501,6 +63511,16 @@
           "type": "server",
           "uid": "flyon"
         },
+        "frontend-dev": {
+          "kind": "virtual",
+          "network_adapters": {
+            "default": {
+              "ip": "172.16.63.131"
+            }
+          },
+          "type": "server",
+          "uid": "frontend-dev"
+        },
         "ganglia": {
           "kind": "virtual",
           "network_adapters": {
@@ -156612,6 +156632,16 @@
           "type": "server",
           "uid": "fnancy"
         },
+        "frontend-dev": {
+          "kind": "virtual",
+          "network_adapters": {
+            "default": {
+              "ip": "172.16.79.161"
+            }
+          },
+          "type": "server",
+          "uid": "frontend-dev"
+        },
         "ganglia": {
           "kind": "virtual",
           "network_adapters": {
@@ -207549,6 +207579,16 @@
           "type": "server",
           "uid": "frennes"
         },
+        "frontend-dev": {
+          "kind": "virtual",
+          "network_adapters": {
+            "default": {
+              "ip": "172.16.111.144"
+            }
+          },
+          "type": "server",
+          "uid": "frontend-dev"
+        },
         "g5kschool": {
           "kind": "virtual",
           "network_adapters": {
diff --git a/input/grid5000/sites/lille/servers/virtual.yaml b/input/grid5000/sites/lille/servers/virtual.yaml
index d31acb4ebbb7f213bcdd50a6010ee8b4816bc849..d2ce10b181fb053323457c83bdfe03ea8067d4e5 100644
--- a/input/grid5000/sites/lille/servers/virtual.yaml
+++ b/input/grid5000/sites/lille/servers/virtual.yaml
@@ -220,3 +220,8 @@ backupg5k:
   network_adapters:
     default:
       ip: 172.16.47.144
+frontend-dev:
+  kind: virtual
+  network_adapters:
+    default:
+      ip: 172.16.47.145
diff --git a/input/grid5000/sites/lyon/servers/virtual.yaml b/input/grid5000/sites/lyon/servers/virtual.yaml
index 144cf0e4b7c301c823317c52a4269c50a0d5d2db..f3362e191a26c35cba9197479e38d249fe794d06 100644
--- a/input/grid5000/sites/lyon/servers/virtual.yaml
+++ b/input/grid5000/sites/lyon/servers/virtual.yaml
@@ -91,3 +91,6 @@ nat:
 supervision2:
   kind: virtual
   network_adapters: {default: {ip: 172.16.63.128}}
+frontend-dev:
+  kind: virtual
+  network_adapters: {default: {ip: 172.16.63.131}}
diff --git a/input/grid5000/sites/nancy/servers/virtual.yaml b/input/grid5000/sites/nancy/servers/virtual.yaml
index df504557093a470ef91de9c40d143b888687df7b..d729f5104e837c5683d0716415c4e92e474ae3e0 100644
--- a/input/grid5000/sites/nancy/servers/virtual.yaml
+++ b/input/grid5000/sites/nancy/servers/virtual.yaml
@@ -113,3 +113,6 @@ jenkins:
 nat:
   kind: virtual
   network_adapters: {default: {ip: 172.16.79.200}}
+frontend-dev:
+  kind: virtual
+  network_adapters: {default: {ip: 172.16.79.161}}
diff --git a/input/grid5000/sites/rennes/servers/virtual.yaml b/input/grid5000/sites/rennes/servers/virtual.yaml
index bc4fce6b8dff1acecfb32f530711860aed504f63..59149a27052ccbbdb5ceefe7518a01e104283e00 100644
--- a/input/grid5000/sites/rennes/servers/virtual.yaml
+++ b/input/grid5000/sites/rennes/servers/virtual.yaml
@@ -144,3 +144,6 @@ nfs-qualif:
 users-api-qualif:
   kind: virtual
   network_adapters: {default: {ip: 172.16.111.157}}
+frontend-dev:
+  kind: virtual
+  network_adapters: {default: {ip: 172.16.111.144}}