From f0cd2caa1b3ebba37d36cbf0e25163f9da9a63c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manus=20D=C3=A9ploiement=20Santinova?= Date: Fri, 4 Sep 2026 15:51:49 +0000 Subject: [PATCH] feat: ajouter l onglet infrastructure dynamique --- index.html | 33 ++++++++++++++++++++++++++++----- 1 file changed, 28 insertions(+), 5 deletions(-) diff --git a/index.html b/index.html index 614923c..cfa7fa2 100644 --- a/index.html +++ b/index.html @@ -338,6 +338,10 @@ Applications Santinova … + @@ -365,6 +369,17 @@ + +
+
+

Infrastructure

+

Accès direct aux services techniques de cet environnement

+
+
+
Chargement des applications…
+
+
+ @@ -431,24 +446,30 @@ } function renderApps(apps) { - // Défense en profondeur : le dashboard exclut INFRA et le portail le fait aussi. - var visibleApps = apps.filter(function(app) { - return app.category !== 'INFRA' && isHttpsUrl(app.urls && app.urls[ENV]); + // La source est le dashboard local : chaque app est présentée dans son onglet métier. + var deployableApps = apps.filter(function(app) { + return isHttpsUrl(app.urls && app.urls[ENV]); }); - var itinovaApps = visibleApps.filter(function(app) { return app.category === 'ITINOVA'; }); - var santinovaApps = visibleApps.filter(function(app) { return app.category === 'SANTINOVA'; }); + var itinovaApps = deployableApps.filter(function(app) { return app.category === 'ITINOVA'; }); + var santinovaApps = deployableApps.filter(function(app) { return app.category === 'SANTINOVA'; }); + var infraApps = deployableApps.filter(function(app) { return app.category === 'INFRA'; }); var gridItinova = document.getElementById('grid-itinova'); var gridSantinova = document.getElementById('grid-santinova'); + var gridInfra = document.getElementById('grid-infra'); gridItinova.innerHTML = itinovaApps.length ? itinovaApps.map(buildCard).join('') : '
Aucune application Itinova déployée.
'; gridSantinova.innerHTML = santinovaApps.length ? santinovaApps.map(buildCard).join('') : '
Aucune application Santinova déployée.
'; + gridInfra.innerHTML = infraApps.length + ? infraApps.map(buildCard).join('') + : '
Aucun service d’infrastructure déployé.
'; document.getElementById('count-itinova').textContent = itinovaApps.length; document.getElementById('count-santinova').textContent = santinovaApps.length; + document.getElementById('count-infra').textContent = infraApps.length; hasRenderedApps = true; } @@ -476,8 +497,10 @@ var message = '
Dashboard indisponible — veuillez réessayer.
'; document.getElementById('grid-itinova').innerHTML = message; document.getElementById('grid-santinova').innerHTML = message; + document.getElementById('grid-infra').innerHTML = message; document.getElementById('count-itinova').textContent = '!'; document.getElementById('count-santinova').textContent = '!'; + document.getElementById('count-infra').textContent = '!'; } } }