{% extends 'base.html.twig' %} {% block title %}Alert - Design System - Bubul{% endblock %} {% block body %}
{# ===== HEADER ===== #}
Molécules /

Alert

Messages d'alerte et notifications système

{# ===== ALERT VS TOAST ===== #}

Alert vs Toast : quelle difference ?

Alert (cette page)

  • - Position dans le flux du document
  • - Reste visible jusqu'a fermeture manuelle
  • - Inclus via Twig : {% verbatim %}{% include %}{% endverbatim %}
  • - Ideal pour : erreurs importantes, avertissements contextuels
  • - Fait partie du contenu de la page

Toast (notifications)

  • - Position fixe (coin inferieur droit)
  • - Disparait automatiquement apres X secondes
  • - Affiche via JavaScript : showToast()
  • - Ideal pour : confirmations, feedback rapide
  • - Ne bloque pas l'interface
Voir la documentation Toast →
{# ===== COMPOSITION ===== #}

Composition

Icon + Typography + Button = Alert
{# ===== PLAYGROUND TOAST ===== #}

Test rapide - Toast Notifications

Les Toasts utilisent le meme design que les Alerts. Voir documentation Toast →

{# Contrôle de durée #}
5s
{# Boutons de génération #}

💡 Survolez une notification pour mettre en pause le timer

{# ===== USAGE ===== #}

Usage

{% verbatim %}{% include '_molecules/alert/alert.html.twig' with {
    title: 'Compte créé',
    message: 'Votre compte a été créé avec succès !',
    variant: 'success',
    dismissible: true
} %}{% endverbatim %}

Fichier : templates/_molecules/alert/alert.html.twig

{# ===== VARIANTES ===== #}

Variantes

Paramètre : variant

{% include '_molecules/alert/alert.html.twig' with { title: 'Compte créé', message: 'Votre compte a été créé avec succès !', variant: 'success' } %} {% include '_molecules/alert/alert.html.twig' with { title: 'Erreur de sauvegarde', message: 'Une erreur est survenue lors de la sauvegarde.', variant: 'error' } %} {% include '_molecules/alert/alert.html.twig' with { title: 'Action irréversible', message: 'Attention, cette action ne peut pas être annulée.', variant: 'warning' } %} {% include '_molecules/alert/alert.html.twig' with { title: 'Mise à jour disponible', message: 'Une nouvelle version de l\'application est disponible.', variant: 'info' } %} {% include '_molecules/alert/alert.html.twig' with { title: 'Information', message: 'Contenu neutre sans connotation particulière.', variant: 'neutral' } %}
{# ===== DISMISSIBLE ===== #}

Avec fermeture

Paramètre : dismissible: true

{% include '_molecules/alert/alert.html.twig' with { title: 'Conseil', message: 'Cliquez sur la croix pour fermer cette alerte.', variant: 'info', dismissible: true } %} {% include '_molecules/alert/alert.html.twig' with { title: 'Bienvenue !', message: 'Découvrez les nouvelles fonctionnalités de la version 2.0.', variant: 'success', dismissible: true } %}
{# ===== TAILLES ===== #}

Tailles

Paramètre : size

{% include '_molecules/alert/alert.html.twig' with { title: 'Taille SM', message: 'Alerte compacte pour espaces restreints.', variant: 'info', size: 'sm' } %} {% include '_molecules/alert/alert.html.twig' with { title: 'Taille MD (défaut)', message: 'Alerte de taille standard, recommandée pour la plupart des cas.', variant: 'info', size: 'md' } %} {% include '_molecules/alert/alert.html.twig' with { title: 'Taille LG', message: 'Alerte grande pour les messages importants nécessitant plus de visibilité.', variant: 'info', size: 'lg' } %}
{# ===== ICÔNE PERSONNALISÉE ===== #}

Icône personnalisée

Paramètre : icon

{% include '_molecules/alert/alert.html.twig' with { title: 'Téléchargement terminé', message: 'Votre fichier a été téléchargé avec succès.', variant: 'success', icon: 'download' } %} {% include '_molecules/alert/alert.html.twig' with { title: 'Paramètres sauvegardés', message: 'Vos préférences ont été mises à jour.', variant: 'info', icon: 'settings' } %} {% include '_molecules/alert/alert.html.twig' with { title: 'Email envoyé', message: 'Un email de confirmation vous a été envoyé.', variant: 'success', icon: 'mail' } %}
{# ===== AVEC LIENS ===== #}

Avec liens

Le message supporte le HTML

{% include '_molecules/alert/alert.html.twig' with { title: 'Configuration requise', message: 'Configuration Moodle manquante. Configurer maintenant', variant: 'warning' } %} {% include '_molecules/alert/alert.html.twig' with { title: 'Mise à jour disponible', message: 'La version 2.0 est disponible. Voir les nouveautés ou Mettre à jour', variant: 'info', dismissible: true } %}
{# ===== CAS D'USAGE ===== #}

Cas d'usage

Formulaire soumis

{% include '_molecules/alert/alert.html.twig' with { title: 'Formulaire envoyé', message: 'Nous avons bien reçu votre message et vous répondrons sous 48h.', variant: 'success', dismissible: true } %}

Erreur de validation

{% include '_molecules/alert/alert.html.twig' with { title: 'Erreur de validation', message: 'Veuillez corriger les champs en rouge avant de soumettre le formulaire.', variant: 'error' } %}

Avertissement quota

{% include '_molecules/alert/alert.html.twig' with { title: 'Tokens limités', message: 'Il vous reste moins de 1000 tokens. Rechargez pour continuer à utiliser les fonctionnalités IA.', variant: 'warning', dismissible: true } %}
{# ===== PARAMÈTRES ===== #}

Paramètres

Paramètre Type Défaut Description
titlestring(requis)Titre principal en gras
messagestring(requis)Sous-titre / message descriptif
variantstringinfosuccess, error, warning, info, neutral
iconstringautoIcône personnalisée (auto selon variant)
dismissibleboolfalseAfficher bouton de fermeture
sizestringmdsm, md, lg
classstring''Classes additionnelles
{% endblock %}