diff --git a/app/routers/qualys.py b/app/routers/qualys.py index 2d9a9a0..77b10b4 100644 --- a/app/routers/qualys.py +++ b/app/routers/qualys.py @@ -511,7 +511,7 @@ def qualys_agents_page(request: Request, db=Depends(get_db)): # Serveurs sans agent Qualys (match via server_id pour gerer alias/IP) # Exclut les workstations Win10/11 = portables/postes dev no_agent_rows = db.execute(text(""" - SELECT s.hostname, s.os_family, s.etat, d.name as domain, e.name as env, z.name as zone + SELECT s.hostname, s.os_family, s.os_version, s.etat, d.name as domain, e.name as env, z.name as zone FROM servers s LEFT JOIN domain_environments de ON s.domain_env_id = de.id LEFT JOIN domains d ON de.domain_id = d.id @@ -528,7 +528,7 @@ def qualys_agents_page(request: Request, db=Depends(get_db)): AND COALESCE(s.os_version, '') NOT ILIKE '%Workstation%' ORDER BY s.hostname """)).fetchall() - no_agent = [{"hostname": r.hostname, "os_family": r.os_family, "etat": r.etat, + no_agent = [{"hostname": r.hostname, "os_family": r.os_family, "os_version": r.os_version or "", "etat": r.etat, "domain": r.domain or "", "env": r.env or "", "zone": r.zone or ""} for r in no_agent_rows] # Agents inactifs @@ -603,7 +603,7 @@ async def export_no_agent_csv(request: Request, db=Depends(get_db)): return RedirectResponse(url="/qualys/agents") import io, csv as _csv rows = db.execute(text(""" - SELECT s.hostname, s.os_family, s.etat, d.name as domain, e.name as env, z.name as zone + SELECT s.hostname, s.os_family, s.os_version, s.etat, d.name as domain, e.name as env, z.name as zone FROM servers s LEFT JOIN domain_environments de ON s.domain_env_id = de.id LEFT JOIN domains d ON de.domain_id = d.id @@ -616,7 +616,7 @@ async def export_no_agent_csv(request: Request, db=Depends(get_db)): w = _csv.writer(output, delimiter=";") w.writerow(["Hostname", "OS", "Domaine", "Environnement", "Zone", "Etat"]) for r in rows: - w.writerow([r.hostname, r.os_family or "", r.domain or "", r.env or "", r.zone or "", r.etat or ""]) + w.writerow([r.hostname, r.os_family or "", r.os_version or "", r.domain or "", r.env or "", r.zone or "", r.etat or ""]) output.seek(0) return StreamingResponse( iter(["\ufeff" + output.getvalue()]), diff --git a/app/templates/qualys_agents.html b/app/templates/qualys_agents.html index 512a4d1..e857196 100644 --- a/app/templates/qualys_agents.html +++ b/app/templates/qualys_agents.html @@ -215,6 +215,7 @@ function refreshAgents(mode) { Hostname OS + Version OS Domaine Env Zone @@ -231,6 +232,7 @@ function refreshAgents(mode) { "> {{ s.hostname }} {{ s.os_family or '-' }} + {{ s.os_version or '-' }} {{ s.domain or '-' }} {{ s.env or '-' }} {% if s.zone == 'DMZ' %}DMZ{% else %}{{ s.zone or '-' }}{% endif %}