{% extends 'layouts/authenticated.html.twig' %} {% block page_title %}{{ page_title }}{% endblock %} {% block content %}
{# En-tête #}

{{ page_title }}

Analyse et statistiques des blocages IP

{# Statistiques globales #}
{# Total #}
Total
{{ stats.total|default(0) }}
{# Actifs #}
Actifs
{{ stats.active|default(0) }}
{# Temporaires #}
Temporaires
{{ stats.temporary|default(0) }}
{# Permanents #}
Permanents
{{ stats.permanent|default(0) }}
{# Aujourd'hui #}
Aujourd'hui
{{ stats.blocked_today|default(0) }}
{# Graphique et tendances #}
{# Blocages dans le temps #}

Blocages sur les 30 derniers jours

{# Top pays (détaillé) #}

Top 20 Pays

{% if top_countries is empty %}

Aucune donnée disponible

{% else %}
{% set total_count = 0 %} {% for item in top_countries %} {% set total_count = total_count + item.blockCount %} {% endfor %} {% for item in top_countries %} {% set percentage = (item.blockCount / total_count * 100)|round(1) %} {% endfor %}
# Pays Blocages Pourcentage
{{ loop.index }} {{ item.country ?? 'Inconnu' }} {{ item.blockCount }}
{{ percentage }}%
{% endif %}
{# Sidebar - Insights #}
{# Périodes d'activité #}

Périodes d'Activité

Aujourd'hui
{{ stats.blocked_today|default(0) }}
Cette semaine
{{ stats.blocked_this_week|default(0) }}
Ce mois
{{ stats.blocked_this_month|default(0) }}
Inactifs (total)
{{ stats.inactive|default(0) }}
{# Taux de blocage #}

Ratios

{% set total = stats.active|default(0) %} {% if total > 0 %}
Temporaires vs Permanents
{% set temp_percentage = (stats.temporary / total * 100)|round %}
{% if temp_percentage > 15 %}{{ temp_percentage }}%{% endif %}
{% if (100 - temp_percentage) > 15 %}{{ (100 - temp_percentage) }}%{% endif %}
Temporaires: {{ stats.temporary }} Permanents: {{ stats.permanent }}
{% else %}

Aucune donnée

{% endif %}
{# Recommandations #}

Recommandations

    {% if stats.blocked_today > 10 %}
  • Activité de blocage élevée aujourd'hui ({{ stats.blocked_today }})
  • {% endif %} {% if stats.permanent > stats.temporary %}
  • Plus de blocages permanents que temporaires
  • {% endif %} {% if stats.inactive > stats.active %}
  • Envisagez un nettoyage de la base de données
  • {% endif %}
{# Chart.js #} {% endblock %}