feat: add custom icons for Zabbix, Centreon, Nagios, PRTG, Eaton, Riello, Vertiv

UPS: Eaton (lightning bolt, #E22000), Riello (battery+, #0066B3),
     Vertiv (server rack, #0079A7)
Monitoring: Zabbix (activity line, #D40000), Centreon (bulb/hub, #0071CE),
            Nagios (magnifier, #2D72D2), PRTG (speedometer, #7AB648)

All use thematic SVG paths on 24×24 viewBox, consistent with existing
custom icons (ICON_FREE, ICON_BASTION, ICON_MAIL, etc.).
READMEs (fr/en/es) updated.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-18 14:04:09 +02:00
parent ca45fa5caa
commit 4c61ae9456
4 changed files with 74 additions and 2 deletions
+53 -2
View File
@@ -66,6 +66,50 @@ const ICON_MAIL = {
path: 'M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z',
}
// UPS custom icons (absents de simple-icons)
const ICON_EATON = {
title: 'Eaton',
hex: 'E22000',
path: 'M11 2L4 13h6v9l7-11h-6z',
}
const ICON_RIELLO = {
title: 'Riello',
hex: '0066B3',
path: 'M15.67 4H14V2h-4v2H8.33C7.6 4 7 4.6 7 5.33v15.33C7 21.4 7.6 22 8.33 22h7.33c.74 0 1.34-.6 1.34-1.33V5.33C17 4.6 16.4 4 15.67 4zm-1.67 9h-1v2h-2v-2H9v-2h2V9h2v2h1v2z',
}
const ICON_VERTIV = {
title: 'Vertiv',
hex: '0079A7',
path: 'M20 3H4v4h16V3zm0 5H4v4h16V8zm0 5H4v4h16v-4zM6 5h2v2H6zm0 5h2v2H6zm0 5h2v2H6z',
}
// Monitoring custom icons (absents de simple-icons)
const ICON_ZABBIX = {
title: 'Zabbix',
hex: 'D40000',
path: 'M3.5 18.49l6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z',
}
const ICON_CENTREON = {
title: 'Centreon',
hex: '0071CE',
path: 'M12 2C8.13 2 5 5.13 5 9c0 2.38 1.19 4.47 3 5.74V17c0 .55.45 1 1 1h6c.55 0 1-.45 1-1v-2.26c1.81-1.27 3-3.36 3-5.74 0-3.87-3.13-7-7-7zm2.85 11.1l-.85.6V16h-4v-2.3l-.85-.6C7.8 12.16 7 10.63 7 9c0-2.76 2.24-5 5-5s5 2.24 5 5c0 1.63-.8 3.16-2.15 4.1z',
}
const ICON_NAGIOS = {
title: 'Nagios',
hex: '2D72D2',
path: 'M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z',
}
const ICON_PRTG = {
title: 'PRTG',
hex: '7AB648',
path: 'M20.38 8.57l-1.23 1.85a8 8 0 0 1-.22 7.58H5.07A8 8 0 0 1 15.58 6.85l1.85-1.23A10 10 0 0 0 3.35 19a2 2 0 0 0 1.72 1h13.85a2 2 0 0 0 1.74-1 10 10 0 0 0-.27-10.44zm-9.79 6.84a2 2 0 0 0 2.83 0l5.66-8.49-8.49 5.66a2 2 0 0 0 0 2.83z',
}
// Ordre : du plus spécifique au plus générique pour éviter les faux positifs.
const BRANDS = [
// Hyperviseurs / virtualisation
@@ -76,8 +120,11 @@ const BRANDS = [
{ kw: ['synology', 'dsm'], icon: siSynology },
{ kw: ['truenas', 'freenas'], icon: siTruenas },
// Onduleurs (UPS) — Eaton, Riello, Vertiv absents de simple-icons
// Onduleurs (UPS)
{ kw: ['apc', 'schneider electric', 'symmetra', 'smart-ups', 'easy ups', 'galaxy ups'], icon: siSchneiderelectric },
{ kw: ['eaton', 'powerware', 'eaton ups'], icon: ICON_EATON },
{ kw: ['riello', 'riello ups'], icon: ICON_RIELLO },
{ kw: ['vertiv', 'liebert', 'avocent', 'geist'], icon: ICON_VERTIV },
// Réseau
{ kw: ['ubiquiti', 'unifi', 'usg', 'udm'], icon: siUbiquiti },
@@ -134,7 +181,11 @@ const BRANDS = [
// Orchestration
{ kw: ['kubernetes', 'k8s', 'kubectl', 'k3s'], icon: siKubernetes },
// Monitoring / Observabilité — Zabbix, Centreon, Nagios, PRTG absents de simple-icons
// Monitoring / Observabilité
{ kw: ['zabbix'], icon: ICON_ZABBIX },
{ kw: ['centreon'], icon: ICON_CENTREON },
{ kw: ['nagios', 'nagiosxi', 'nagios xi'], icon: ICON_NAGIOS },
{ kw: ['prtg', 'paessler'], icon: ICON_PRTG },
{ kw: ['prometheus'], icon: siPrometheus },
{ kw: ['grafana'], icon: siGrafana },
{ kw: ['datadog'], icon: siDatadog },