{% extends 'layouts/authenticated.html.twig' %} {% block page_title %}{{ page_title }}{% endblock %} {% block content %} {# Breadcrumb #} {# Header with Status #}

Token de Réinitialisation #{{ token.id }}

Créé le {{ token.createdAt|date('d/m/Y à H:i:s') }}

{# Status Badge #} {% if token.isUsed() %} Utilisé {% elseif token.isExpired() %} Expiré {% else %} Actif {% endif %} {# Invalidate Button #} {% if not token.isUsed() %}
{% endif %}
{# Main Content Grid #}
{# Main Content (2 columns) #}
{# Token Information Card #}

Informations du Token

ID du token
#{{ token.id }}
Méthode
{% if token.isLinkMethod() %} Lien (1h) {% else %} Code (15min) {% endif %}
{% if token.isLinkMethod() and token.token %}
Token (lien)
{{ token.token|slice(0, 16) }}...{{ token.token|slice(-16) }}

Token partiellement masqué pour sécurité

{% elseif token.isCodeMethod() and token.code %}
Code de réinitialisation
{{ token.code }}
{% endif %}
Date de création
{{ token.createdAt|date('d/m/Y à H:i:s') }}
Date d'expiration
{{ token.expiresAt|date('d/m/Y à H:i:s') }}
Utilisé
{% if token.isUsed() %} Oui {% else %} Non {% endif %}
{% if token.usedAt %}
Date d'utilisation
{{ token.usedAt|date('d/m/Y à H:i:s') }}
{% endif %}
Expiré
{% if token.isExpired() %} Oui {% else %} Non {% endif %}
Valide
{% if token.isValid() %} Oui {% else %} Non {% endif %}
{# User Information Card #}

Informations Utilisateur

ID Utilisateur
#{{ token.user.id }}
Email
{{ token.user.email }}
Nom complet
{{ token.user.firstName }} {{ token.user.lastName }}
Statut du compte
{% if token.user.active %} Actif {% else %} Inactif {% endif %}
{# IP & Location Card #}

Adresse IP et Navigateur

Adresse IP
{{ token.ipAddress }}
{% if token.userAgent %}
User Agent
{{ token.userAgent }}
{% endif %}
{# Sidebar (1 column) #}
{# Quick Actions Card #}

Actions Rapides

{# Status Info Card #}

Statut Actuel

Utilisé
{{ token.isUsed() ? 'Oui' : 'Non' }}
Expiré
{{ token.isExpired() ? 'Oui' : 'Non' }}
Valide
{{ token.isValid() ? 'Oui' : 'Non' }}
{% if not token.isExpired() and not token.isUsed() %}
Temps restant
{% set diff = token.expiresAt.diff(date()) %} {% if diff.invert %} {% if diff.h > 0 %} {{ diff.h }}h {{ diff.i }}min {% else %} {{ diff.i }} minutes {% endif %} {% else %} Expiré {% endif %}
{% endif %}
{# Info Box #}

À propos des tokens

Les tokens de réinitialisation permettent aux utilisateurs de changer leur mot de passe de manière sécurisée.

  • Lien : Valide 1 heure
  • Code : Valide 15 minutes
  • Un seul usage possible
  • Invalidé automatiquement après utilisation
{% endblock %}