diff --git a/apps/clients/index.html b/apps/clients/index.html
index 0c424af..ba3e01b 100644
--- a/apps/clients/index.html
+++ b/apps/clients/index.html
@@ -2,6 +2,7 @@
+
Xtablo — Portail client
diff --git a/apps/clients/package.json b/apps/clients/package.json
index 699fa82..bae1419 100644
--- a/apps/clients/package.json
+++ b/apps/clients/package.json
@@ -38,6 +38,8 @@
"wrangler": "^4.24.3"
},
"dependencies": {
+ "@datadog/browser-rum": "^6.13.0",
+ "@datadog/browser-rum-react": "^6.13.0",
"@tanstack/react-query": "^5.69.0",
"@xtablo/auth-ui": "workspace:*",
"@xtablo/shared": "workspace:*",
diff --git a/apps/clients/public/icon.jpg b/apps/clients/public/icon.jpg
new file mode 100644
index 0000000..026425e
Binary files /dev/null and b/apps/clients/public/icon.jpg differ
diff --git a/apps/clients/src/lib/rum.ts b/apps/clients/src/lib/rum.ts
new file mode 100644
index 0000000..4a512ab
--- /dev/null
+++ b/apps/clients/src/lib/rum.ts
@@ -0,0 +1,23 @@
+import { datadogRum } from "@datadog/browser-rum";
+import { reactPlugin } from "@datadog/browser-rum-react";
+
+datadogRum.init({
+ applicationId: "8e268e1a-1be0-44c6-b12a-978530d497c7",
+ clientToken: "pub1761af09ab04e215cc90d34da6ac576b",
+ site: "datadoghq.com",
+ service: "xtablo-clients-ui",
+ env: import.meta.env.MODE,
+ version: import.meta.env.VITE_APP_VERSION,
+
+ sessionSampleRate: 100,
+ sessionReplaySampleRate: 80,
+ defaultPrivacyLevel: "mask-user-input",
+ plugins: [reactPlugin({ router: true })],
+ trackViewsManually: true,
+ trackUserInteractions: true,
+ trackResources: true,
+ trackingConsent: "granted",
+ startSessionReplayRecordingManually: false,
+});
+
+export default datadogRum;
diff --git a/apps/clients/src/main.tsx b/apps/clients/src/main.tsx
index 073fb40..6d41477 100644
--- a/apps/clients/src/main.tsx
+++ b/apps/clients/src/main.tsx
@@ -13,6 +13,7 @@ import "@xtablo/ui/styles/globals.css";
import "@xtablo/tablo-views/styles/tablo-details-shell.css";
import "./main.css";
import "./i18n";
+import "./lib/rum";
createRoot(document.getElementById("client-root")!).render(
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index ef82179..5b8c7a5 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -19,7 +19,7 @@ importers:
version: 2.2.5
'@datadog/datadog-ci':
specifier: ^4.3.0
- version: 4.4.0(@types/node@22.18.12)
+ version: 4.4.0
turbo:
specifier: ^2.5.8
version: 2.5.8
@@ -218,6 +218,12 @@ importers:
apps/clients:
dependencies:
+ '@datadog/browser-rum':
+ specifier: ^6.13.0
+ version: 6.22.0
+ '@datadog/browser-rum-react':
+ specifier: ^6.13.0
+ version: 6.22.0(@datadog/browser-rum@6.22.0)(react-router-dom@7.9.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-router@7.9.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react@19.0.0)
'@tanstack/react-query':
specifier: ^5.69.0
version: 5.90.5(react@19.0.0)
@@ -11635,7 +11641,7 @@ snapshots:
- '@types/node'
- supports-color
- '@datadog/datadog-ci-base@4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)(@types/node@22.18.12)':
+ '@datadog/datadog-ci-base@4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)':
dependencies:
'@antfu/install-pkg': 1.1.0
'@types/datadog-metrics': 0.6.1
@@ -11649,7 +11655,7 @@ snapshots:
fast-xml-parser: 4.5.3
form-data: 4.0.4
glob: 10.5.0
- inquirer: 8.2.7(@types/node@22.18.12)
+ inquirer: 8.2.7(@types/node@20.19.23)
jest-diff: 30.2.0
jszip: 3.10.1
proxy-agent: 6.5.0
@@ -11689,7 +11695,7 @@ snapshots:
'@datadog/datadog-ci-plugin-deployment@4.4.0(@datadog/datadog-ci-base@4.4.0)':
dependencies:
- '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)(@types/node@22.18.12)
+ '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)
axios: 1.12.2(debug@4.4.3)
chalk: 3.0.0
simple-git: 3.16.0
@@ -11699,7 +11705,7 @@ snapshots:
'@datadog/datadog-ci-plugin-dora@4.4.0(@datadog/datadog-ci-base@4.4.0)':
dependencies:
- '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)(@types/node@22.18.12)
+ '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)
axios: 1.12.2(debug@4.4.3)
chalk: 3.0.0
simple-git: 3.16.0
@@ -11709,7 +11715,7 @@ snapshots:
'@datadog/datadog-ci-plugin-gate@4.4.0(@datadog/datadog-ci-base@4.4.0)':
dependencies:
- '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)(@types/node@22.18.12)
+ '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)
'@types/uuid': 9.0.8
axios: 1.12.2(debug@4.4.3)
chalk: 3.0.0
@@ -11719,7 +11725,7 @@ snapshots:
'@datadog/datadog-ci-plugin-sarif@4.4.0(@datadog/datadog-ci-base@4.4.0)':
dependencies:
- '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)(@types/node@22.18.12)
+ '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)
ajv: 8.18.0
ajv-formats: 2.1.1(ajv@8.18.0)
axios: 1.12.2(debug@4.4.3)
@@ -11734,7 +11740,7 @@ snapshots:
'@datadog/datadog-ci-plugin-sbom@4.4.0(@datadog/datadog-ci-base@4.4.0)':
dependencies:
- '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)(@types/node@22.18.12)
+ '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)
ajv: 8.18.0
ajv-formats: 2.1.1(ajv@8.18.0)
axios: 1.12.2(debug@4.4.3)
@@ -11748,7 +11754,7 @@ snapshots:
'@datadog/datadog-ci-plugin-synthetics@4.4.0(@datadog/datadog-ci-base@4.4.0)':
dependencies:
- '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)(@types/node@22.18.12)
+ '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)
axios: 1.12.2(debug@4.4.3)
chalk: 3.0.0
debug: 4.4.3
@@ -11768,9 +11774,9 @@ snapshots:
- supports-color
- utf-8-validate
- '@datadog/datadog-ci@4.4.0(@types/node@22.18.12)':
+ '@datadog/datadog-ci@4.4.0':
dependencies:
- '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)(@types/node@22.18.12)
+ '@datadog/datadog-ci-base': 4.4.0(@datadog/datadog-ci-plugin-deployment@4.4.0)(@datadog/datadog-ci-plugin-dora@4.4.0)(@datadog/datadog-ci-plugin-gate@4.4.0)(@datadog/datadog-ci-plugin-sarif@4.4.0)(@datadog/datadog-ci-plugin-sbom@4.4.0)(@datadog/datadog-ci-plugin-synthetics@4.4.0)
'@datadog/datadog-ci-plugin-deployment': 4.4.0(@datadog/datadog-ci-base@4.4.0)
'@datadog/datadog-ci-plugin-dora': 4.4.0(@datadog/datadog-ci-base@4.4.0)
'@datadog/datadog-ci-plugin-gate': 4.4.0(@datadog/datadog-ci-base@4.4.0)
@@ -12383,13 +12389,6 @@ snapshots:
optionalDependencies:
'@types/node': 20.19.23
- '@inquirer/external-editor@1.0.2(@types/node@22.18.12)':
- dependencies:
- chardet: 2.1.1
- iconv-lite: 0.7.0
- optionalDependencies:
- '@types/node': 22.18.12
-
'@internationalized/date@3.10.0':
dependencies:
'@swc/helpers': 0.5.17
@@ -17550,26 +17549,6 @@ snapshots:
transitivePeerDependencies:
- '@types/node'
- inquirer@8.2.7(@types/node@22.18.12):
- dependencies:
- '@inquirer/external-editor': 1.0.2(@types/node@22.18.12)
- ansi-escapes: 4.3.2
- chalk: 4.1.2
- cli-cursor: 3.1.0
- cli-width: 3.0.0
- figures: 3.2.0
- lodash: 4.17.21
- mute-stream: 0.0.8
- ora: 5.4.1
- run-async: 2.4.1
- rxjs: 7.8.2
- string-width: 4.2.3
- strip-ansi: 6.0.1
- through: 2.3.8
- wrap-ansi: 6.2.0
- transitivePeerDependencies:
- - '@types/node'
-
internal-slot@1.1.0:
dependencies:
es-errors: 1.3.0