{# Sécurité #}
{% block title %}{{ controller_name|default('Num-Ecard') }}{% endblock %}
{# ── PWA ── #}
{% block stylesheets %} {{ encore_entry_link_tags('app') }} {{ encore_entry_link_tags('card') }} {# Ajouter cette ligne #} {% endblock %}
NUM-ECARD®
Accueil
Pourquoi ?
Pour qui ?
Démos sectorielles
Modèles
Tarifs
Contact
{# === PANIER === #}
🛒 Panier {% if cart_count() > 0 %}
{{ cart_count() }}
{% endif %}
{# === BOUTONS CONNEXION / COMPTE === #} {% if app.user is not null %}
{{ app.user.initiales ?? '?' }}
Mon compte
{% else %}
Connexion
S'inscrire
{% endif %}
{% block body %}{% endblock %} {# ══════════════════════════════════════════════════════ FLASH MESSAGES SYMFONY → showAlert() Gère : warning (PasswordExpiryListener), success, error, info ══════════════════════════════════════════════════════ #} {% set flash_map = { 'warning': {'type': 'warning', 'title': '⚠️ Attention'}, 'error': {'type': 'error', 'title': '❌ Erreur'}, 'success': {'type': 'success', 'title': '✅ Succès'}, 'info': {'type': 'info', 'title': 'ℹ️ Information'} } %} {% for level, map in flash_map %} {% for msg in app.flashes(level) %} {% endfor %} {% endfor %}
✕
Accueil
Pourquoi Num-Ecard ?
Fonctionnalités
Modèle Essentiel
Modèle Premium
Force de Vente
Multi-Cartes
Tarifs
Contact
{% include 'partials/_cookie_banner.html.twig' %} {# ── CONVERSION DATES UTC → HEURE LOCALE NAVIGATEUR ── #} {% block javascripts %}{% endblock %} {# ── SERVICE WORKER PWA ── #}