diff --git a/backend/src/main/java/fr/inra/urgi/faidare/config/FaidareProperties.java b/backend/src/main/java/fr/inra/urgi/faidare/config/FaidareProperties.java
index c4cba9858db96ceb01def7b3a5c26d7bcf759722..ea790cf2a731e625f6ccf9b0843b7afd9ba4132a 100644
--- a/backend/src/main/java/fr/inra/urgi/faidare/config/FaidareProperties.java
+++ b/backend/src/main/java/fr/inra/urgi/faidare/config/FaidareProperties.java
@@ -31,6 +31,13 @@ public class FaidareProperties {
     private String securityUserGroupWsUrl;
     private String securityUserGroupWsToken;
 
+    /**
+     * The URL used by the germplasm card to generate links to the faidare search application
+     * (i.e. the faidare flavor of data-discovery).
+     */
+    @NotBlank
+    private String searchUrl;
+
     private List<DataSourceImpl> dataSources = new ArrayList<>();
 
     public String getElasticsearchIndexingTemplate() {
@@ -118,6 +125,11 @@ public class FaidareProperties {
             .replace("{documentType}", documentType.toLowerCase());
     }
 
+    public String getSearchUrl() {
+        return searchUrl;
+    }
 
-
+    public void setSearchUrl(String searchUrl) {
+        this.searchUrl = searchUrl;
+    }
 }
diff --git a/backend/src/main/java/fr/inra/urgi/faidare/web/thymeleaf/FaidareDialect.java b/backend/src/main/java/fr/inra/urgi/faidare/web/thymeleaf/FaidareDialect.java
index 2a02a842a28ba411f8f6d16d6c5254e41a53524b..26bfc5611683c9a854efbe84084a2164827c57f6 100644
--- a/backend/src/main/java/fr/inra/urgi/faidare/web/thymeleaf/FaidareDialect.java
+++ b/backend/src/main/java/fr/inra/urgi/faidare/web/thymeleaf/FaidareDialect.java
@@ -1,5 +1,6 @@
 package fr.inra.urgi.faidare.web.thymeleaf;
 
+import fr.inra.urgi.faidare.config.FaidareProperties;
 import org.springframework.stereotype.Component;
 import org.thymeleaf.dialect.AbstractDialect;
 import org.thymeleaf.dialect.IExpressionObjectDialect;
@@ -12,14 +13,15 @@ import org.thymeleaf.expression.IExpressionObjectFactory;
 @Component
 public class FaidareDialect extends AbstractDialect implements IExpressionObjectDialect {
 
-    private final IExpressionObjectFactory FAIDARE_EXPRESSION_OBJECTS_FACTORY = new FaidareExpressionFactory();
+    private final IExpressionObjectFactory faidareExpressionFactory;
 
-    protected FaidareDialect() {
+    public FaidareDialect(FaidareProperties faidareProperties) {
         super("faidare");
+        faidareExpressionFactory = new FaidareExpressionFactory(faidareProperties.getSearchUrl());
     }
 
     @Override
     public IExpressionObjectFactory getExpressionObjectFactory() {
-        return FAIDARE_EXPRESSION_OBJECTS_FACTORY;
+        return faidareExpressionFactory;
     }
 }
diff --git a/backend/src/main/java/fr/inra/urgi/faidare/web/thymeleaf/FaidareExpressionFactory.java b/backend/src/main/java/fr/inra/urgi/faidare/web/thymeleaf/FaidareExpressionFactory.java
index e873375c1a7681d2837c0bf6591174d1aa557e3d..8ccd5fe9aadb56f9799d230e153b37c3525d37bd 100644
--- a/backend/src/main/java/fr/inra/urgi/faidare/web/thymeleaf/FaidareExpressionFactory.java
+++ b/backend/src/main/java/fr/inra/urgi/faidare/web/thymeleaf/FaidareExpressionFactory.java
@@ -16,6 +16,12 @@ public class FaidareExpressionFactory implements IExpressionObjectFactory {
     private static final Set<String> ALL_EXPRESSION_OBJECT_NAMES =
         Collections.singleton(FAIDARE_EVALUATION_VARIABLE_NAME);
 
+    private final String searchUrl;
+
+    public FaidareExpressionFactory(String searchUrl) {
+        this.searchUrl = searchUrl;
+    }
+
     @Override
     public Set<String> getAllExpressionObjectNames() {
         return ALL_EXPRESSION_OBJECT_NAMES;
@@ -23,7 +29,7 @@ public class FaidareExpressionFactory implements IExpressionObjectFactory {
 
     @Override
     public Object buildObject(IExpressionContext context, String expressionObjectName) {
-        return new FaidareExpressions(context.getLocale());
+        return new FaidareExpressions(context.getLocale(), searchUrl);
     }
 
     @Override
diff --git a/backend/src/main/java/fr/inra/urgi/faidare/web/thymeleaf/FaidareExpressions.java b/backend/src/main/java/fr/inra/urgi/faidare/web/thymeleaf/FaidareExpressions.java
index e5da621504f8f4b8b41ec64ce7abddf350274e86..a88283830f9c0fb1408a3b59423bd74456933db8 100644
--- a/backend/src/main/java/fr/inra/urgi/faidare/web/thymeleaf/FaidareExpressions.java
+++ b/backend/src/main/java/fr/inra/urgi/faidare/web/thymeleaf/FaidareExpressions.java
@@ -57,9 +57,11 @@ public class FaidareExpressions {
     }
 
     private final Locale locale;
+    private final String searchUrl;
 
-    public FaidareExpressions(Locale locale) {
+    public FaidareExpressions(Locale locale, String searchUrl) {
         this.locale = locale;
+        this.searchUrl = searchUrl;
     }
 
     public String toSiteParam(String siteId) {
@@ -85,7 +87,7 @@ public class FaidareExpressions {
     }
 
     public String searchUrl() {
-        return "https://urgi.versailles.inrae.fr/faidare/search";
+        return searchUrl;
     }
 
     private String collPopTitle(CollPopVO collPopVO, Function<String, String> nameTransformer) {
diff --git a/backend/src/main/resources/application.yml b/backend/src/main/resources/application.yml
index 8a14dabc7c937b66f11118467eb523667c82994e..c914130444ca8fa5f2d53e0f30adfeb52100324d 100644
--- a/backend/src/main/resources/application.yml
+++ b/backend/src/main/resources/application.yml
@@ -43,6 +43,8 @@ faidare:
   security-user-group-ws-url:
   security-user-group-ws-token:
 
+  search-url: https://urgi.versailles.inrae.fr/faidare/search
+
   # TODO: Update URIs to match URL (update in generated JSON document too)
   # Warning! URIs should match with FAIDARE datadiscovery 'schema:includedInDataCatalog' field value
   data-sources: