{% extends 'base.html' %} {% block title %}Historique patching{% endblock %} {% block content %}

Historique patching

Vue unifiée : imports xlsx + campagnes standard + QuickWin.

{% for y in years %}{{ y }}{% endfor %}
{{ kpis.total }}
Events {{ year }}
{{ kpis.servers }}
Serveurs distincts
{{ kpis.patchables }}
Patchables SecOps
{{ kpis.never }}
Jamais patchés {{ year }}
{{ kpis.coverage_pct }}%
Couverture
{{ by_source.import }}
Import xlsx
{{ by_source.standard }}
Campagnes standard
{{ by_source.quickwin }}
QuickWin
{% if by_week %}

Serveurs patchés par semaine ({{ year }})

{% set max_val = by_week|map(attribute='servers')|max %} {% for w in by_week %}
{{ w.week_num }}
{% endfor %}
{% endif %}
Reset {{ total_filtered }} résultat{{ 's' if total_filtered != 1 }}
{% for r in rows %} {% endfor %} {% if not rows %} {% endif %}
Hostname OS Zone Domaine État Date Sem. Intervenant Source Status Notes
{{ r.hostname }} {{ (r.os_family or '-')[:6] }} {{ r.zone or '-' }} {{ (r.domain_name or '-')[:10] }} {{ (r.etat or '-')[:6] }} {{ r.date_patch.strftime('%Y-%m-%d %H:%M') if r.date_patch else '-' }} {% if r.date_patch %}S{{ r.date_patch.strftime('%V') }}{% else %}-{% endif %} {{ r.intervenant_name or '-' }} {% if r.source_type == 'import' %}xlsx {% elif r.source_type == 'standard' %}{{ r.campaign_label or 'Campagne' }} {% elif r.source_type == 'quickwin' %}{{ r.run_label or 'QuickWin' }} {% else %}{{ r.source_type or '?' }}{% endif %} {{ r.status }} {{ (r.notes or '-')[:40] }}
Aucun event de patching pour ce filtre
{% if total_filtered > per_page %}
{% set qs = 'year=' ~ year ~ ('&week=' ~ week if week else '') ~ ('&source=' ~ source if source else '') ~ ('&os_family=' ~ os_family if os_family else '') ~ ('&zone=' ~ zone if zone else '') ~ ('&domain=' ~ domain if domain else '') ~ ('&intervenant=' ~ intervenant if intervenant else '') ~ ('&hostname=' ~ hostname if hostname else '') %} {% if page > 1 %}← Précédent{% endif %} Page {{ page }} / {{ ((total_filtered - 1) // per_page) + 1 }} {% if page * per_page < total_filtered %}Suivant →{% endif %}
{% endif %} {% endblock %}