{% extends 'base.html' %} {% block title %}Doublons Qualys{% endblock %} {% block content %}

Doublons Qualys (serveurs uniquement)

🔄 Re-scan API
{% if scan_running %}
Scan API Qualys en cours...
Scan API Qualys filtré sur les tags built-in Linux Server + Windows Server (~1200 serveurs). Durée ~2 min. La page se rafraîchira automatiquement.
{% elif from_cache %}
Données du cache (TTL 10min). Re-scan pour forcer.
{% endif %}
Total assets Qualys
{{ dupes_data.total_assets }}
Hostnames en doublon
{{ dupes_data.duplicate_hostnames }}
Zombies a purger
{{ dupes_data.total_zombies }}
(= total - 1 par hostname doublonne)
{% if not dupes_data.groups %}
Aucun doublon detecte. Si la page semble vide, clique sur "Re-scan API" pour forcer un scan complet.
{% else %}

Le plus recent (en haut de chaque groupe) est probablement l'asset actif. Les autres sont des zombies (anciennes installations, ré-IPs, doublons de scan). Bouton Supprimer = appel API Qualys POST /qps/rest/5.0/delete/am/hostasset/{id}. {% if not can_delete %}
Tu n'as pas la permission edit pour supprimer.{% endif %}

{% for grp in dupes_data.groups %} {% for a in grp.assets %} {% endfor %} {% endfor %}
Hostname Nb ID Qualys IP Agent Last check-in Action
{% if loop.first %}{{ grp.shortname }} ({{ grp.count }}){% endif %} {% if loop.first %}{{ loop.length }}{% endif %} {{ a.id }} {{ a.ip or '-' }} {{ a.agent_status or '-' }} {{ a.last_check[:16] if a.last_check else '(jamais)' }} {% if loop.first %} ✓ actif {% elif can_delete %} {% else %} zombie {% endif %}
{% endif %} {% endblock %}