{# templates/analytics/_bloc_appareils.html.twig ───────────────────────────────────────────────────────────────────────────── Bloc appareils — affiché sur tous les niveaux. Paramètres attendus : appareils (array) → [{'device': 'mobile'|'desktop'|'tablette', 'count': int}] ───────────────────────────────────────────────────────────────────────────── #} {# ── Calcul du total pour les pourcentages ── #} {% set totalAppareils = 0 %} {% for row in appareils %} {% set totalAppareils = totalAppareils + row.count %} {% endfor %} {# ── Config par type d'appareil ── #} {% set appareilConfig = { 'mobile': { 'label': 'Mobile', 'icone': '📱', 'couleur': '#667eea' }, 'desktop': { 'label': 'Desktop', 'icone': '🖥', 'couleur': '#764ba2' }, 'tablette': { 'label': 'Tablette', 'icone': '📟', 'couleur': '#22c55e' } } %}

📱 Appareils

{{ jours }} derniers jours
{% if appareils is empty %}

Aucune donnée sur la période.

{% else %} {# ── Barres horizontales ── #}
{% for row in appareils %} {% set config = appareilConfig[row.device] ?? { 'label': row.device, 'icone': '💻', 'couleur': '#86868b' } %} {% set pct = totalAppareils > 0 ? ((row.count / totalAppareils) * 100) | round(1) : 0 %}
{{ config.icone }} {{ config.label }}
{{ row.count }} {{ pct }}%
{% endfor %}
{# ── Résumé visuel — donut Chart.js ── #}
{% endif %}