From 620ba06e3132d82578d4dede4d7fef82fc9bf1fd Mon Sep 17 00:00:00 2001 From: William Phetsinorath Date: Mon, 10 Aug 2026 11:21:12 +0200 Subject: [PATCH 1/2] fix: missing observability icon Signed-off-by: William Phetsinorath Change-Id: Ifa7abc48d60cd8818c46f2fefc4145ea6a6a6964 --- apps/client/public/img/grafana.png | Bin 0 -> 8091 bytes .../observability-plugin.service.ts | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 apps/client/public/img/grafana.png diff --git a/apps/client/public/img/grafana.png b/apps/client/public/img/grafana.png new file mode 100644 index 0000000000000000000000000000000000000000..2ac9ef9ab75ac94e93141336e948f94c085c35f2 GIT binary patch literal 8091 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 literal 0 HcmV?d00001 diff --git a/apps/server-nestjs/src/modules/observability/observability-plugin.service.ts b/apps/server-nestjs/src/modules/observability/observability-plugin.service.ts index b2f5f98347..7dadfa9962 100644 --- a/apps/server-nestjs/src/modules/observability/observability-plugin.service.ts +++ b/apps/server-nestjs/src/modules/observability/observability-plugin.service.ts @@ -35,7 +35,7 @@ export class ObservabilityPluginService { return urls }, title: 'Grafana', - imgSrc: '/img/grafana.svg', + imgSrc: '/img/grafana.png', description: 'Grafana est un outil de visualisation de métriques et de logs', config: { global: [{ From 08534531a9e078e35a440b94d34db468f201530a Mon Sep 17 00:00:00 2001 From: Shikanime Deva Date: Fri, 7 Aug 2026 15:06:21 +0200 Subject: [PATCH 2/2] fix(server-nestjs): register SystemConfigModule to unblock system/plugins routes SystemConfigModule was implemented but never imported into MainModule, leaving GET/POST /api/v1/system/plugins as dead routes (404). Registers the module alongside SystemSettingsModule. Removes the orphan system-config-queries.utils.ts (unimported, duplicates inline select in system-config.service.ts). Updates MODULARISATION-CARTOGRAPHIE.md with corrected route paths and marks system/config as migrated. Resolves #2208 (dev-mode functional endpoints). Signed-off-by: Shikanime Deva --- .../MODULARISATION-CARTOGRAPHIE.md | 6 +++--- apps/server-nestjs/src/main.module.ts | 2 ++ 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/server-nestjs/documentation/Modularisation-de-console-server/MODULARISATION-CARTOGRAPHIE.md b/apps/server-nestjs/documentation/Modularisation-de-console-server/MODULARISATION-CARTOGRAPHIE.md index a5e6b10c1d..3e775bfb6a 100644 --- a/apps/server-nestjs/documentation/Modularisation-de-console-server/MODULARISATION-CARTOGRAPHIE.md +++ b/apps/server-nestjs/documentation/Modularisation-de-console-server/MODULARISATION-CARTOGRAPHIE.md @@ -275,7 +275,7 @@ les premiers modules via Nginx. --- -### 3. system/config +### 3. system/config — ✅ MIGRE | Attribut | Valeur | |----------|--------| @@ -285,8 +285,8 @@ les premiers modules via Nginx. | **Dev** | A | **Routes** : -- `GET /api/v1/admin/plugins-config` - Configuration des plugins -- `PUT /api/v1/admin/plugins-config` - Mise a jour de la configuration +- `GET /api/v1/system/plugins` - Configuration des plugins +- `POST /api/v1/system/plugins` - Mise a jour de la configuration **Dependances sortantes** : Aucune (queries propres) **Dependances entrantes** : Aucune diff --git a/apps/server-nestjs/src/main.module.ts b/apps/server-nestjs/src/main.module.ts index 03698156e5..013514660c 100644 --- a/apps/server-nestjs/src/main.module.ts +++ b/apps/server-nestjs/src/main.module.ts @@ -17,6 +17,7 @@ import { ProjectSecretsModule } from './modules/project-secrets/project-secrets. import { ProjectServicesModule } from './modules/project-services/project-services.module' import { ProjectModule } from './modules/project/project.module' import { RepositoryModule } from './modules/repository/repository.module' +import { SystemConfigModule } from './modules/system-config/system-config.module' import { SystemSettingsModule } from './modules/system-settings/system-settings.module' import { VersionModule } from './modules/version/version.module' import { getDotenvPaths } from './utils/dotenv.utils' @@ -44,6 +45,7 @@ import { getDotenvPaths } from './utils/dotenv.utils' ProjectServicesModule, RepositoryModule, ScheduleModule.forRoot(), + SystemConfigModule, SystemSettingsModule, VersionModule, ],