diff --git a/apps/transport/lib/transport_web/templates/dataset/_netex_conversion_modal.html.heex b/apps/transport/lib/transport_web/templates/dataset/_netex_conversion_modal.html.heex
new file mode 100644
index 0000000000..0f46b101a0
--- /dev/null
+++ b/apps/transport/lib/transport_web/templates/dataset/_netex_conversion_modal.html.heex
@@ -0,0 +1,29 @@
+
+
+
+ <%= dgettext(
+ "page-dataset-details",
+ "Automatic NeTEx conversion are created from the associated GTFS file and don't contain additional information which can be described in NeTEx."
+ ) %>
+
+
+ <%= raw(
+ dgettext(
+ "page-dataset-details",
+ "Automatic NeTEx conversions will not be available after 2025-06-01."
+ )
+ ) %>
+
diff --git a/apps/transport/priv/gettext/en/LC_MESSAGES/page-dataset-details.po b/apps/transport/priv/gettext/en/LC_MESSAGES/page-dataset-details.po
index fbe6516336..3b44e9572a 100644
--- a/apps/transport/priv/gettext/en/LC_MESSAGES/page-dataset-details.po
+++ b/apps/transport/priv/gettext/en/LC_MESSAGES/page-dataset-details.po
@@ -721,3 +721,19 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "This unofficial dataset is provided experimentally. Do not use it for travel information purpose."
msgstr ""
+
+#, elixir-autogen, elixir-format
+msgid "Automatic NeTEx conversion are created from the associated GTFS file and don't contain additional information which can be described in NeTEx."
+msgstr ""
+
+#, elixir-autogen, elixir-format
+msgid "Automatic NeTEx conversions will not be available after 2025-06-01."
+msgstr ""
+
+#, elixir-autogen, elixir-format
+msgid "Cancel"
+msgstr ""
+
+#, elixir-autogen, elixir-format
+msgid "Download the automatic NeTEx conversion"
+msgstr ""
diff --git a/apps/transport/priv/gettext/fr/LC_MESSAGES/page-dataset-details.po b/apps/transport/priv/gettext/fr/LC_MESSAGES/page-dataset-details.po
index b49c24f951..d597eb0025 100644
--- a/apps/transport/priv/gettext/fr/LC_MESSAGES/page-dataset-details.po
+++ b/apps/transport/priv/gettext/fr/LC_MESSAGES/page-dataset-details.po
@@ -721,3 +721,19 @@ msgstr "Données sous la responsabilité de"
#, elixir-autogen, elixir-format
msgid "This unofficial dataset is provided experimentally. Do not use it for travel information purpose."
msgstr "Ce jeu de données non officiel est publié à titre expérimental. Veuillez ne pas le réutiliser à des fins d’information voyageur."
+
+#, elixir-autogen, elixir-format
+msgid "Automatic NeTEx conversion are created from the associated GTFS file and don't contain additional information which can be described in NeTEx."
+msgstr "Les conversions automatiques NeTEx sont générées à partir du fichier GTFS associé et ne contiennent pas d'informations supplémentaires qui peuvent être décrites en NeTEx."
+
+#, elixir-autogen, elixir-format
+msgid "Automatic NeTEx conversions will not be available after 2025-06-01."
+msgstr "Les conversions automatiques NeTEx ne seront plus disponibles après le 01/06/2025."
+
+#, elixir-autogen, elixir-format
+msgid "Cancel"
+msgstr "Annuler"
+
+#, elixir-autogen, elixir-format
+msgid "Download the automatic NeTEx conversion"
+msgstr "Télécharger la conversion automatique NeTEx"
diff --git a/apps/transport/priv/gettext/page-dataset-details.pot b/apps/transport/priv/gettext/page-dataset-details.pot
index 43d6d175dd..d44699ffef 100644
--- a/apps/transport/priv/gettext/page-dataset-details.pot
+++ b/apps/transport/priv/gettext/page-dataset-details.pot
@@ -721,3 +721,19 @@ msgstr ""
#, elixir-autogen, elixir-format
msgid "This unofficial dataset is provided experimentally. Do not use it for travel information purpose."
msgstr ""
+
+#, elixir-autogen, elixir-format
+msgid "Automatic NeTEx conversion are created from the associated GTFS file and don't contain additional information which can be described in NeTEx."
+msgstr ""
+
+#, elixir-autogen, elixir-format
+msgid "Automatic NeTEx conversions will not be available after 2025-06-01."
+msgstr ""
+
+#, elixir-autogen, elixir-format
+msgid "Cancel"
+msgstr ""
+
+#, elixir-autogen, elixir-format
+msgid "Download the automatic NeTEx conversion"
+msgstr ""
diff --git a/apps/transport/test/transport_web/controllers/dataset_controller_test.exs b/apps/transport/test/transport_web/controllers/dataset_controller_test.exs
index c57436d36e..db1a2c9de9 100644
--- a/apps/transport/test/transport_web/controllers/dataset_controller_test.exs
+++ b/apps/transport/test/transport_web/controllers/dataset_controller_test.exs
@@ -61,7 +61,7 @@ defmodule TransportWeb.DatasetControllerTest do
convert_from: "GTFS",
convert_to: "NeTEx",
converter: DB.DataConversion.converter_to_use("NeTEx"),
- payload: %{"permanent_url" => conversion_url = "https://super-cellar-url.com/netex"}
+ payload: %{"permanent_url" => other_conversion_url = "https://super-cellar-url.com/netex"}
)
Transport.History.Fetcher.Mock
@@ -77,8 +77,23 @@ defmodule TransportWeb.DatasetControllerTest do
html_response = conn |> get(dataset_path(conn, :details, dataset.slug)) |> html_response(200)
assert html_response =~ "Conversions automatiques"
assert html_response =~ "NeTEx"
- assert html_response =~ conversion_path(conn, :get, resource.id, :NeTEx)
- refute html_response =~ conversion_url
+
+ # NeTEx conversion's URL is displayed in a modal with 2 buttons
+ netex_url = conversion_url(TransportWeb.Endpoint, :get, resource.id, :NeTEx)
+
+ assert [
+ {"a", [{"class", "classic button"}, {"rel", "nofollow"}, {"href", ^netex_url}],
+ [
+ {"i", _, []},
+ "Télécharger la conversion automatique NeTEx\n "
+ ]},
+ {"a", [{"href", "#"}, {"class", "classic button secondary"}], ["\nAnnuler\n "]}
+ ] =
+ html_response
+ |> Floki.parse_document!()
+ |> Floki.find(".modal .button__group .button")
+
+ refute html_response =~ other_conversion_url
refute html_response =~ "GeoJSON"
end
end