diff --git a/packages/manager/apps/container/src/container/legacy/server-sidebar/universe/public-cloud/pci-menu.ts b/packages/manager/apps/container/src/container/legacy/server-sidebar/universe/public-cloud/pci-menu.ts
index a4bec1d8e397..7b3097b2abc6 100644
--- a/packages/manager/apps/container/src/container/legacy/server-sidebar/universe/public-cloud/pci-menu.ts
+++ b/packages/manager/apps/container/src/container/legacy/server-sidebar/universe/public-cloud/pci-menu.ts
@@ -255,7 +255,7 @@ export function getPciProjectMenu(
if (
isFeaturesAvailable(
'pci-databases-analytics-operational',
- 'pci-databases-analytics-streaming',
+ 'pci-databases-analytics-analysis',
'pci-dataplatform',
'data-platform',
'logs-data-platform',
diff --git a/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_de_DE.json b/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_de_DE.json
index 6b90b03df3a2..757fc4fcc70a 100644
--- a/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_de_DE.json
+++ b/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_de_DE.json
@@ -1,7 +1,7 @@
{
- "Title": "QPUs",
- "createNotebookButton": "Ein Notebook erstellen",
- "Description1": "Entdecken Sie das Quantencomputing in aller Freiheit mit unseren gebrauchsfertigen Notebooks in der Cloud.",
- "Description2": "Simulieren Sie bis zu 20 Qubit in wenigen Sekunden ohne Installations- oder Konfigurationseinschränkungen.",
- "Description3": "Greifen Sie auf eine vorkonfigurierte Umgebung zu, die mit den wichtigsten Frameworks kompatibel ist (Pulser, Mimiq, Perceval, Callisto, Qleo, Qiskit, MyQLM …), und arbeiten Sie ganz einfach über ein gemeinsam genutztes und abgesichertes Interface mit Ihren Teams zusammen."
+ "Title": "Quantencomputer (QPU)",
+ "createNotebookButton": "Notebook erstellen",
+ "Description1": "Greifen Sie auf die echte Quantenleistung in QaaS von OVHcloud zu.",
+ "Description2": "Führen Sie Ihre Algorithmen sicher auf physischen Quantenprozessoren (QPUs) aus, ohne Infrastruktur verwalten zu müssen.",
+ "Description3": "Profitieren Sie von einer nahtlosen Integration mit unseren Emulatoren und einer Abrechnung pro Sekunde, um Ihre Kosten besser zu verwalten."
}
diff --git a/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_en_GB.json b/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_en_GB.json
index b68614d029ec..973c7220f12a 100644
--- a/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_en_GB.json
+++ b/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_en_GB.json
@@ -1,7 +1,7 @@
{
- "Title": "QPUs",
+ "Title": "Quantum Computers (QPU)",
"createNotebookButton": "Create a Notebook",
- "Description1": "Dive into quantum computing with complete freedom using our turnkey, cloud-based notebooks.",
- "Description2": "Run 20-qubit simulations in seconds—no installation or configuration needed.",
- "Description3": "Access a preconfigured environment compatible with the main frameworks (Pulser, Mimiq, Perceval, Callisto, Qleo, Qiskit, MyQLM) and easily collaborate with your teams via a shared, secure interface"
+ "Description1": "Access the real power of quantum in QaaS from OVHcloud.",
+ "Description2": "Run your algorithms on physical quantum processors (QPUs) safely, with no infrastructure to manage.",
+ "Description3": "Enjoy seamless integration with our emulators, and pay-per-second billing to help manage your costs."
}
diff --git a/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_es_ES.json b/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_es_ES.json
index f79c2ce4da7a..165537643a2d 100644
--- a/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_es_ES.json
+++ b/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_es_ES.json
@@ -1,7 +1,7 @@
{
- "Title": "QPU",
- "createNotebookButton": "Crear un notebook",
- "Description1": "Explore la informática cuántica con total libertad gracias a nuestros notebooks listos para usar en el cloud",
- "Description2": "Simule hasta 20 cúbits en cuestión de segundos, sin restricciones de instalación ni configuración.",
- "Description3": "Acceda a un entorno preconfigurado, compatible con los principales frameworks (Pulser, Mimiq, Perceval, Callisto, Qleo, Qiskit, MyQLM...) y colabore fácilmente con sus equipos a través de una interfaz compartida y segura"
+ "Title": "Ordenadores Cuánticos (QPU)",
+ "createNotebookButton": "Crear un Notebook",
+ "Description1": "Accede al verdadero poder de la computación cuántica en QaaS desde OVHcloud.",
+ "Description2": "Ejecuta tus algoritmos en procesadores cuánticos físicos (QPUs), de forma segura y sin infraestructura que gestionar.",
+ "Description3": "Disfruta de una integración fluida con nuestros emuladores y de una facturación por segundo para gestionar mejor tus costos."
}
diff --git a/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_fr_CA.json b/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_fr_CA.json
index d4e245b77f5a..a598f298e095 100644
--- a/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_fr_CA.json
+++ b/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_fr_CA.json
@@ -1,7 +1,7 @@
{
- "Title": "QPUs",
+ "Title": "Ordinateurs Quantiques (QPU)",
"createNotebookButton": "Créer un Notebook",
- "Description1": "Explorez l'informatique quantique en toute liberté grâce à nos notebooks prêts à l'emploi dans le cloud",
- "Description2": "Simulez jusqu'à 20 qubits en quelques secondes, sans contrainte d'installation ni de configuration.",
- "Description3": "Accédez à un environnement préconfiguré, compatible avec les principaux frameworks (Pulser, Mimiq, Perceval, Callisto, Qleo, Qiskit, MyQLM, …) et collaborez facilement avec vos équipes via une interface partagée et sécurisée"
+ "Description1": "Accédez à la puissance réelle du quantique en QaaS depuis OVHcloud.",
+ "Description2": "Exécutez vos algorithmes sur des processeurs quantiques physiques (QPUs), en toute sécurité et sans infrastructure à gérer.",
+ "Description3": "Profitez d'une intégration transparente avec nos émulateurs et d'une facturation à la seconde pour mieux gérer vos coûts."
}
diff --git a/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_fr_FR.json b/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_fr_FR.json
index d4e245b77f5a..a598f298e095 100644
--- a/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_fr_FR.json
+++ b/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_fr_FR.json
@@ -1,7 +1,7 @@
{
- "Title": "QPUs",
+ "Title": "Ordinateurs Quantiques (QPU)",
"createNotebookButton": "Créer un Notebook",
- "Description1": "Explorez l'informatique quantique en toute liberté grâce à nos notebooks prêts à l'emploi dans le cloud",
- "Description2": "Simulez jusqu'à 20 qubits en quelques secondes, sans contrainte d'installation ni de configuration.",
- "Description3": "Accédez à un environnement préconfiguré, compatible avec les principaux frameworks (Pulser, Mimiq, Perceval, Callisto, Qleo, Qiskit, MyQLM, …) et collaborez facilement avec vos équipes via une interface partagée et sécurisée"
+ "Description1": "Accédez à la puissance réelle du quantique en QaaS depuis OVHcloud.",
+ "Description2": "Exécutez vos algorithmes sur des processeurs quantiques physiques (QPUs), en toute sécurité et sans infrastructure à gérer.",
+ "Description3": "Profitez d'une intégration transparente avec nos émulateurs et d'une facturation à la seconde pour mieux gérer vos coûts."
}
diff --git a/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_it_IT.json b/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_it_IT.json
index 3be2c591754a..a07e57c2a10d 100644
--- a/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_it_IT.json
+++ b/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_it_IT.json
@@ -1,7 +1,7 @@
{
- "Title": "QPU",
- "createNotebookButton": "Crea un notebook",
- "Description1": "Esplora il calcolo quantistico in totale libertà grazie ai nostri notebook pronti all'uso nel cloud",
- "Description2": "Simula fino a 20 qubit in pochi secondi, senza limiti di installazione e configurazione.",
- "Description3": "Accedi a un ambiente preconfigurato, compatibile con i principali framework (Pulser, Mimiq, Perceval, Callisto, Qleo, Qiskit, MyQLM, etc.) e collabora facilmente con i tuoi team tramite un'interfaccia condivisa e sicura."
+ "Title": "Computer Quantistici (QPU)",
+ "createNotebookButton": "Crea un Notebook",
+ "Description1": "Accedi al potere reale del quantistico in QaaS da OVHcloud.",
+ "Description2": "Esegui i tuoi algoritmi su processori quantistici fisici (QPUs), in tutta sicurezza e senza infrastruttura da gestire.",
+ "Description3": "Goditi un'integrazione fluida con i nostri emulatori e una fatturazione al secondo per gestire meglio i tuoi costi."
}
diff --git a/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_pl_PL.json b/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_pl_PL.json
index 51e26cee48fe..a177766a5b19 100644
--- a/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_pl_PL.json
+++ b/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_pl_PL.json
@@ -1,7 +1,7 @@
{
- "Title": "QPUs",
- "createNotebookButton": "Stwórz notebook",
- "Description1": "Realizuj projekty z zakresu informatyki kwantowej, korzystając z gotowych notebooków w chmurze",
- "Description2": "Symuluj do 20 kubitów w kilka sekund - bez instalacji i konfiguracji.",
- "Description3": "Zyskaj dostęp do wstępnie skonfigurowanego środowiska kompatybilnego z głównymi frameworkami (Pulser, Mimiq, Perceval, Callisto, Qleo, Qiskit, MyQLM, ...) i współpracuj łatwo dzięki wspólnemu i bezpiecznemu interfejsowi"
+ "Title": "Komputery Kwantowe (QPU)",
+ "createNotebookButton": "Utwórz Notatnik",
+ "Description1": "Uzyskaj dostęp do rzeczywistej mocy kwantowej w QaaS z OVHcloud.",
+ "Description2": "Uruchom swoje algorytmy na fizycznych procesorach kwantowych (QPU), w pełni bezpiecznie i bez potrzeby zarządzania infrastrukturą.",
+ "Description3": "Skorzystaj z płynnej integracji z naszymi emulatorami i rozliczania co sekundę, aby lepiej zarządzać swoimi kosztami."
}
diff --git a/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_pt_PT.json b/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_pt_PT.json
index 46bb3c6bc0e0..a6c88c19bec0 100644
--- a/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_pt_PT.json
+++ b/packages/manager/apps/pci-ai-tools/public/translations/ai-tools/qpu/onboarding/Messages_pt_PT.json
@@ -1,7 +1,7 @@
{
- "Title": "QPUs",
+ "Title": "Computadores Quânticos (QPU)",
"createNotebookButton": "Criar um Notebook",
- "Description1": "Explore a informática quântica com toda a liberdade, graças aos nossos notebooks prontos a usar na cloud",
- "Description2": "Simule até 20 qubits em alguns segundos, sem problemas de instalação ou de configuração.",
- "Description3": "Aceda a um ambiente pré-configurado, compatível com os principais frameworks (Pulser, Mimiq, Perceval, Calisto, Qleo, Qiskit, MySQL, ...) e colabore facilmente com as suas equipas através de uma interface partilhada e segura"
+ "Description1": "Aceda ao verdadeiro poder do quântico em QaaS a partir da OVHcloud.",
+ "Description2": "Execute os seus algoritmos em processadores quânticos físicos (QPUs), de forma segura e sem infraestrutura para gerir.",
+ "Description3": "Desfrute de uma integração perfeita com os nossos emuladores e de uma faturação por segundo para melhor gerir os seus custos."
}
diff --git a/packages/manager/apps/pci-ai-tools/src/pages/qpus/create/_components/useOrderFunnel.hook.tsx b/packages/manager/apps/pci-ai-tools/src/pages/qpus/create/_components/useOrderFunnel.hook.tsx
index 2c5f9e43f1b4..cc6dfc592430 100644
--- a/packages/manager/apps/pci-ai-tools/src/pages/qpus/create/_components/useOrderFunnel.hook.tsx
+++ b/packages/manager/apps/pci-ai-tools/src/pages/qpus/create/_components/useOrderFunnel.hook.tsx
@@ -237,8 +237,13 @@ export function useOrderFunnel(
'frameworkWithVersion.version',
listFramework[0]?.versions[0],
);
- }, [regionObject, region, listFramework, flavorQuery.isSuccess]);
-
+ }, [
+ regionObject,
+ region,
+ listFramework,
+ flavorQuery.isSuccess,
+ qpuFlavorQuery.isSuccess,
+ ]);
// Change editors when region change?
useEffect(() => {
const suggestedEditor =
diff --git a/packages/manager/apps/pci-block-storage/package.json b/packages/manager/apps/pci-block-storage/package.json
index 8c21c9bbf446..57b5118ac0f5 100644
--- a/packages/manager/apps/pci-block-storage/package.json
+++ b/packages/manager/apps/pci-block-storage/package.json
@@ -16,7 +16,7 @@
"@ovh-ux/manager-common-translations": "^0.21.0",
"@ovh-ux/manager-config": "^8.6.7",
"@ovh-ux/manager-core-api": "^0.19.0",
- "@ovh-ux/manager-pci-common": "^0.20.0",
+ "@ovh-ux/manager-pci-common": "^0.20.1",
"@ovh-ux/manager-react-components": "^1.46.0",
"@ovh-ux/manager-react-core-application": "^0.12.10",
"@ovh-ux/manager-react-shell-client": "^0.11.1",
diff --git a/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_de_DE.json b/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_de_DE.json
new file mode 100644
index 000000000000..cb8520f808b5
--- /dev/null
+++ b/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_de_DE.json
@@ -0,0 +1,5 @@
+{
+ "pci_project_file_storage_alpha_banner_message_title": "Dateispeicher",
+ "pci_project_file_storage_alpha_banner_message": "Haben Sie Schwierigkeiten, Speicherplatz zwischen Instanzen oder Containern zu teilen? Dateispeicher ist jetzt in der öffentlichen Alpha-Version bis zum 12. Januar 2026 kostenlos verfügbar!",
+ "pci_project_file_storage_alpha_banner_button": "Alpha entdecken"
+}
diff --git a/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_en_GB.json b/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_en_GB.json
new file mode 100644
index 000000000000..0664bb4e7507
--- /dev/null
+++ b/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_en_GB.json
@@ -0,0 +1,5 @@
+{
+ "pci_project_file_storage_alpha_banner_message_title": "File Storage",
+ "pci_project_file_storage_alpha_banner_message": "Struggling to share storage volumes between instances or containers? File Storage is now available in Public Alpha until January 12th 2026, free of charge!",
+ "pci_project_file_storage_alpha_banner_button": "Explore the alpha"
+}
diff --git a/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_es_ES.json b/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_es_ES.json
new file mode 100644
index 000000000000..1dee9bf14839
--- /dev/null
+++ b/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_es_ES.json
@@ -0,0 +1,5 @@
+{
+ "pci_project_file_storage_alpha_banner_message_title": "Almacenamiento de archivos",
+ "pci_project_file_storage_alpha_banner_message": "¿Tienes dificultades para compartir volúmenes de almacenamiento entre instancias o contenedores? Almacenamiento de archivos ahora está disponible en versión Alpha pública hasta el 12 de enero de 2026, ¡sin costo!",
+ "pci_project_file_storage_alpha_banner_button": "Descubrir la alpha"
+}
diff --git a/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_fr_CA.json b/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_fr_CA.json
new file mode 100644
index 000000000000..57c1ea6d8522
--- /dev/null
+++ b/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_fr_CA.json
@@ -0,0 +1,5 @@
+{
+ "pci_project_file_storage_alpha_banner_message_title": "File Storage",
+ "pci_project_file_storage_alpha_banner_message": "Vous rencontrez des difficultés pour partager des volumes de stockage entre instances ou conteneurs ? File Storage est désormais disponible en version Alpha publique jusqu'au 12 janvier 2026, sans frais !",
+ "pci_project_file_storage_alpha_banner_button": "Découvrir l'alpha"
+}
diff --git a/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_fr_FR.json b/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_fr_FR.json
new file mode 100644
index 000000000000..57c1ea6d8522
--- /dev/null
+++ b/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_fr_FR.json
@@ -0,0 +1,5 @@
+{
+ "pci_project_file_storage_alpha_banner_message_title": "File Storage",
+ "pci_project_file_storage_alpha_banner_message": "Vous rencontrez des difficultés pour partager des volumes de stockage entre instances ou conteneurs ? File Storage est désormais disponible en version Alpha publique jusqu'au 12 janvier 2026, sans frais !",
+ "pci_project_file_storage_alpha_banner_button": "Découvrir l'alpha"
+}
diff --git a/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_it_IT.json b/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_it_IT.json
new file mode 100644
index 000000000000..8c5cef3c81c3
--- /dev/null
+++ b/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_it_IT.json
@@ -0,0 +1,5 @@
+{
+ "pci_project_file_storage_alpha_banner_message_title": "File Storage",
+ "pci_project_file_storage_alpha_banner_message": "Hai difficoltà a condividere volumi di archiviazione tra istanze o contenitori? File Storage è ora disponibile in versione Alpha pubblica fino al 12 gennaio 2026, senza costi!",
+ "pci_project_file_storage_alpha_banner_button": "Scopri l'alpha"
+}
diff --git a/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_pl_PL.json b/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_pl_PL.json
new file mode 100644
index 000000000000..75b5a41c8c60
--- /dev/null
+++ b/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_pl_PL.json
@@ -0,0 +1,5 @@
+{
+ "pci_project_file_storage_alpha_banner_message_title": "Przechowywanie plików",
+ "pci_project_file_storage_alpha_banner_message": "Czy masz trudności z udostępnianiem wolumenów pamięci masowej między instancjami lub kontenerami? Przechowywanie plików jest teraz dostępne w wersji Alpha publicznej do 12 stycznia 2026 roku, bez opłat!",
+ "pci_project_file_storage_alpha_banner_button": "Poznaj wersję alpha"
+}
diff --git a/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_pt_PT.json b/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_pt_PT.json
new file mode 100644
index 000000000000..ee83c992f7da
--- /dev/null
+++ b/packages/manager/apps/pci-block-storage/public/translations/general-banners/Messages_pt_PT.json
@@ -0,0 +1,5 @@
+{
+ "pci_project_file_storage_alpha_banner_message_title": "Armazenamento de Arquivos",
+ "pci_project_file_storage_alpha_banner_message": "Você está tendo dificuldades para compartilhar volumes de armazenamento entre instâncias ou contêineres? O Armazenamento de Arquivos está agora disponível em versão Alpha pública até 12 de janeiro de 2026, sem custos!",
+ "pci_project_file_storage_alpha_banner_button": "Descobrir a alpha"
+}
diff --git a/packages/manager/apps/pci-block-storage/src/App.tsx b/packages/manager/apps/pci-block-storage/src/App.tsx
index 1a428d9f2c44..3d4cd729844a 100644
--- a/packages/manager/apps/pci-block-storage/src/App.tsx
+++ b/packages/manager/apps/pci-block-storage/src/App.tsx
@@ -1,4 +1,4 @@
-import { RouterProvider, createHashRouter } from 'react-router-dom';
+import { createHashRouter, RouterProvider } from 'react-router-dom';
import { QueryClientProvider } from '@tanstack/react-query';
import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
import { odsSetup } from '@ovhcloud/ods-common-core';
@@ -10,6 +10,7 @@ import '@ovhcloud/ods-themes/default';
import '@ovhcloud/ods-theme-blue-jeans';
import '@ovh-ux/manager-pci-common/dist/style.css';
import './index.scss';
+import { GeneralBannerContextProvider } from '@/contexts/GeneralBanner.context';
odsSetup();
@@ -18,7 +19,9 @@ const router = createHashRouter(appRoutes);
function App() {
return (
-
+
+
+
);
diff --git a/packages/manager/apps/pci-block-storage/src/api/feature.tsx b/packages/manager/apps/pci-block-storage/src/api/feature.tsx
new file mode 100644
index 000000000000..fe4e7464c286
--- /dev/null
+++ b/packages/manager/apps/pci-block-storage/src/api/feature.tsx
@@ -0,0 +1,9 @@
+import { usePCIFeatureAvailability } from '@ovh-ux/manager-pci-common';
+
+export const FILE_STORAGE_ALPHA = 'pci-block-storage:file-storage-alpha-banner';
+
+export const useIsFileStorageAlphaBannerAvailable = () => {
+ const { data } = usePCIFeatureAvailability([FILE_STORAGE_ALPHA]);
+
+ return data?.get(FILE_STORAGE_ALPHA) ?? false;
+};
diff --git a/packages/manager/apps/pci-block-storage/src/components/banner/Banner.component.tsx b/packages/manager/apps/pci-block-storage/src/components/banner/Banner.component.tsx
new file mode 100644
index 000000000000..ff20d24950cd
--- /dev/null
+++ b/packages/manager/apps/pci-block-storage/src/components/banner/Banner.component.tsx
@@ -0,0 +1,42 @@
+import { PropsWithChildren, useState } from 'react';
+import {
+ IconName,
+ Message,
+ MessageBody,
+ MessageIcon,
+ MessageProp,
+} from '@ovhcloud/ods-react';
+
+type BannerProps = PropsWithChildren<
+ {
+ iconName?: IconName;
+ } & MessageProp
+>;
+
+export const Banner = ({
+ iconName,
+ children,
+ onRemove,
+ dismissible = false,
+ ...messageProps
+}: BannerProps) => {
+ const [displayBanner, setDisplayBanner] = useState(true);
+
+ const handleRemove = () => {
+ onRemove?.();
+ if (dismissible) setDisplayBanner(false);
+ };
+
+ if (!displayBanner) return null;
+
+ return (
+
+ {iconName && }
+ {children}
+
+ );
+};
diff --git a/packages/manager/apps/pci-block-storage/src/components/banner/FileStorageAlphaBanner.component.tsx b/packages/manager/apps/pci-block-storage/src/components/banner/FileStorageAlphaBanner.component.tsx
new file mode 100644
index 000000000000..18dad547aa7f
--- /dev/null
+++ b/packages/manager/apps/pci-block-storage/src/components/banner/FileStorageAlphaBanner.component.tsx
@@ -0,0 +1,44 @@
+import { useEffect } from 'react';
+import { useTranslation } from 'react-i18next';
+import { useGeneralBannerContext } from '@/contexts/GeneralBanner.context';
+import { Banner } from '@/components/banner/Banner.component';
+import { ButtonLink } from '@/components/button-link/ButtonLink';
+import { useIsFileStorageAlphaBannerAvailable } from '@/api/feature';
+
+export const FileStorageAlphaBanner = () => {
+ const { t } = useTranslation(['general-banners']);
+
+ const { addBanner, getBanner } = useGeneralBannerContext();
+ const isFileStorageAlphaBannerAvailable = useIsFileStorageAlphaBannerAvailable();
+
+ useEffect(() => {
+ if (!isFileStorageAlphaBannerAvailable) return;
+
+ addBanner('alpha_file_storage', ({ onRemove }) => (
+
+