MeDo

Générateur d'Alertes IA.

Décrivez le message et MeDo génère l'ensemble complet des alertes en ligne — variantes info, succès, avertissement et erreur avec barre d'accent, icône, titre, description, lien d'action optionnel et un bouton de fermeture lorsque l'alerte n'est pas permanente.

Alerte
Alerte

La gravité doit rester perceptible sans la couleur

Les alertes sont le seul composant dont le rôle entier est de communiquer la gravité d'une situation, et la couleur est le canal le moins fiable pour le faire. Environ un homme sur douze présente une forme de déficience de la vision des couleurs, le rouge et le vert sont la paire la plus souvent confondue, et la même alerte rendue en thème sombre, sur un écran de portable peu lumineux ou imprimée en niveaux de gris perd entièrement la distinction. La conséquence pratique est qu'une alerte a besoin d'un encodage redondant par construction : une forme d'icône distincte par niveau de gravité, et une formulation qui énonce la situation plutôt que de compter sur le lecteur pour la déduire d'une teinte. Générer les quatre niveaux à partir d'une seule description est précisément ce qui garde le jeu d'icônes réellement distinguable, car elles sont choisies les unes par rapport aux autres et non une à une.

6 modèles

Modèles de Alerte que vous pouvez générer

Chaque modèle est un vrai prompt, pas une capture d'écran. Copiez-le dans n'importe quel éditeur IA, ou exécutez-le dans MeDo pour récupérer du code React + Tailwind.

BasicFour Severities

Accent-Bar Alert in Four Tones

The baseline set. Generating all four together is what keeps the icon shapes distinguishable from each other rather than four recolors of one glyph.

Create an inline alert component with four severities — info in blue with a circle icon, success in green with a check, warning in amber with a triangle, error in red with an octagon. Each is full width within its container with a 4px left accent bar in the severity color, a background tinted to roughly 8% of that color, 16px padding, an 8px radius, and a 20px icon aligned to the first text line rather than vertically centered. Render a semibold 15px title with an optional 14px muted description below. Because the alert renders with the page rather than appearing dynamically, use role="region" with an aria-label naming the severity, not role="alert" — an assertive live region on initial paint talks over everything else. Check every tinted background against its text color for 4.5:1 contrast.

Tester dans MeDo
ClosableDismissible

Alert With an Opt-In Close Button

Dismissal has to be per-instance, not global. A close button on an expired-payment alert lets the user hide a problem that still exists, and they will.

Add an opt-in dismiss control to an inline alert: a 32px icon button on the right with aria-label="Dismiss" and a visible focus ring, rendered only when a dismissible prop is passed so permanent alerts cannot be closed by accident. On dismiss, remove the alert from the DOM and move focus to the next focusable element after it rather than leaving focus on a detached node. Animate the collapse with height and opacity over 150ms, and skip the animation entirely under prefers-reduced-motion. Accept an onDismiss callback so the caller can persist the dismissal, and document that the alert should reappear on the next session while the underlying condition is unresolved.

Tester dans MeDo
With actionActionable

Alert Carrying One Next Step

An alert that names a problem without a route out of it just relocates the work. One action, concretely worded — two actions and neither reads as the primary.

Create an alert variant with a single inline action below the description, rendered in the severity color as a text link with an underline on hover and focus. Keep it to exactly one action so the next step is unambiguous, and require concrete wording in the label — "Update payment method", not "Learn more". If the action navigates, use an anchor; if it mutates state, use a button, and show an inline pending state on the button rather than replacing the alert while the request is in flight. Place the action inside the alert region so its purpose is announced together with the message, and keep its hit area at least 44px tall on touch.

Tester dans MeDo
CompactField Error

Single-Line Error Under an Input

No title, no icon block, no accent bar — just the message wired to the input it belongs to. The full alert anatomy next to a text field is visual noise that pushes the form apart.

Create a compact single-line alert for form-field errors: 13px text in the error color with a 14px inline icon, no title, no accent bar and no background tint, sitting 6px below its input with no vertical margin collapse. Give it a stable ID and reference it from the input with aria-describedby, and set aria-invalid="true" on the input at the same time. Because the message appears in response to a submit attempt, wrap it in role="alert" so it is announced immediately — but render the element only when there is an error rather than keeping an empty live region in the DOM, or the first error will be announced as a change to existing content. Reserve the line height so the layout does not jump when the message appears.

Tester dans MeDo
GlobalPage Banner

Full-Width Banner Above the App Shell

Trial countdowns, maintenance windows, degraded service. It sits above the layout rather than inside a page, so the thing that breaks is sticky-header offset math, not the alert itself.

Create a full-width alert banner that mounts above the application shell: edge-to-edge tinted background, centered content capped at the app container width, a 16px icon, one line of text and a single inline action, at 44px total height. Because it displaces the layout, expose its height as a CSS custom property on the root element so a sticky header can offset itself instead of being covered. Support a dismissible mode that persists to localStorage keyed by banner ID and version, so editing the message re-shows it to users who dismissed the previous one. Use role="region" with an aria-label rather than role="alert", since the banner is present on load and should not interrupt.

Tester dans MeDo
ValidationError Summary

Alert Listing Every Failed Field

The summary above the submit button, with one link per failure jumping to its input. It tells the user how many problems exist — the field-level messages tell them what to fix.

Create a validation summary alert for the top of a form: an error-severity block with a title stating the count — "3 fields need attention" — and an unordered list of links, each labelled with the field name plus the specific problem, each jumping to and focusing its input on click. Render it only after a submit attempt fails, give it role="alert" and move keyboard focus to the alert container itself with tabindex="-1" so a screen reader user lands on the summary rather than hunting for it. Rebuild the list on every failed submit and re-announce even when the set of errors is unchanged. Pair it with per-field messages wired through aria-describedby rather than replacing them.

Tester dans MeDo

Comment personnaliser votre Alerte

Associez une forme d'icône distincte à chaque couleur

Demandez une icône précise par niveau — une coche pour le succès, un triangle pour l'avertissement, un octogone pour l'erreur, un cercle pour l'info. Les formes restent lisibles en niveaux de gris et pour les utilisateurs daltoniens, et elles permettent d'identifier la gravité en vision périphérique avant même de lire un mot.

Décidez en amont si l'alerte est fermable

Un bouton de fermeture sur une alerte décrivant une condition non résolue, comme un moyen de paiement expiré, permet à l'utilisateur de masquer un problème qui existe toujours. Rendez la fermeture optionnelle au cas par cas et gardez les alertes permanentes lorsque le message ne doit disparaître qu'une fois l'état sous-jacent modifié.

Séparez les bannières de page des erreurs de champ

Une alerte de niveau page résume et se place en haut du formulaire ; une erreur de niveau champ se place directement sous son input et est référencée par aria-describedby. Demandez une variante compacte sur une ligne pour le cas du champ, afin qu'elle n'embarque pas un bloc titre et icône à côté d'une saisie de texte.

Inscrivez l'action dans l'alerte

Une alerte qui décrit un problème sans offrir de sortie ne fait que déplacer le travail. Spécifiez un seul lien d'action en ligne avec une formulation concrète, comme « Mettre à jour le moyen de paiement », et limitez-vous à une action pour que l'étape suivante reste évidente.

Qui utilise le composant Alerte

Produit SaaS

Une bannière d'avertissement permanente en haut de l'application lorsqu'il reste trois jours d'essai, avec un lien d'action « Passer à la version payante », plus des alertes de succès dans les pages de réglages confirmant une configuration enregistrée.

Boutique e-commerce

Une alerte info sur la page panier décrivant l'heure limite d'expédition, et une alerte d'erreur au-dessus du formulaire de paiement résumant les détails d'un paiement refusé afin que le message survive au re-rendu de la page.

Tableau de bord ou outil admin

Des alertes d'erreur sur les écrans d'import de données listant les lignes ayant échoué à la validation, et une alerte info expliquant une fenêtre de maintenance planifiée qui reste visible jusqu'à ce qu'elle soit passée.

Site de documentation

Des alertes d'encadré en ligne signalant les API dépréciées comme avertissements et les comportements spécifiques à une version comme info, placées dans le fil du texte là où une notification flottante serait inutile.

Modèles de Alerte pour différents sites web

Le même composant alerte, adapté au type de site sur lequel il est publié.

01 / 06

SaaS Product Alerts

Trial countdowns and plan limits as permanent banners above the app shell, success alerts inside settings pages after a save. The banner is the tricky one: expose its height as a custom property or your sticky header will sit under it on every route.

Styles et variantes de Alerte

Choisissez la variante qui correspond au reste de la page, puis générez-la.

01 / 06

Left Accent Bar Alert

A 4px bar in the severity color with a tinted fill. The bar gives the eye a vertical edge to scan a stack of alerts against, which matters when three appear together on a settings page — four flat tinted boxes are much harder to separate.

Alerte en React, Next.js, Vue et Svelte

React, Next.js, Vue 3, SvelteKit, Astro ou HTML simple — le même alerte, six façons de l'intégrer.

01 / 06

React Alert

A static alert needs no state at all — keep the severity map outside the component so tones and icons stay in one place. Only the dismissible variant needs a hook, so split it out rather than making every alert stateful.

src/components/Alert.tsx

const tones = {
  info: { bar: 'bg-blue-500', bg: 'bg-blue-50', Icon: InfoIcon },
  error: { bar: 'bg-red-500', bg: 'bg-red-50', Icon: OctagonIcon },
}

export function Alert({ severity = 'info', title, children }) {
  const { bar, bg, Icon } = tones[severity]
  return (
    <div role="region" aria-label={severity} className={`flex gap-3 ${bg}`}>
      <span className={`w-1 ${bar}`} />
      <Icon className="mt-0.5 h-5 w-5" />
      <div>
        <p className="font-semibold">{title}</p>
        {children}
      </div>
    </div>
  )
}

Comment ajouter votre Alerte à un projet

Quatre étapes, du choix d'un modèle de alerte à sa mise en production.

01~30s

Pick an Alert Pattern

Choose by where the message lives: the four-severity block for in-page state, the compact variant for a field error, the summary for a failed submit, the banner for something app-wide.

02~10s

Copy the Prompt

Take it into MeDo, Lovable, Bolt, v0 or Cursor. Decide whether this alert is dismissible before you run it — that choice determines whether a user can hide an unresolved problem.

03~1min

Generate and Refine

You get all four severities back with a live preview. Follow up in plain English — "add an Update payment method link", "make the error variant outlined", "drop the title on the compact one" — rather than recoloring tints by hand.

04~2min

Place It and Check the Roles

Put page-level alerts above the submit area and field errors under their inputs with aria-describedby. Then confirm the load-time alerts are not using role="alert", or a screen reader will announce them over the rest of the page.

Questions fréquentes à propos de Alerte

Comment générer un composant d'alerte avec l'IA ?

Décrivez les niveaux de gravité, l'anatomie et la possibilité de fermeture — par exemple « alertes info, succès, avertissement et erreur avec barre d'accent gauche, icône, titre, description et lien d'action optionnel » — et MeDo génère les quatre variantes à partir de cette seule description. Comme elles sont produites ensemble, le padding, le rayon et la taille des icônes concordent d'un niveau à l'autre.

Quelle est la différence entre une alerte et un toast ?

Une alerte en ligne vit dans la mise en page et persiste jusqu'à ce que la condition qu'elle décrit change : elle convient donc aux états que l'utilisateur peut devoir relire — un problème de facturation, un avis de maintenance, une erreur de formulaire. Un toast est une notification éphémère qui flotte au-dessus de la page et disparaît au bout de quelques secondes ; il convient pour confirmer une action que l'utilisateur vient d'effectuer. Utilisez une alerte lorsque le message doit encore être là après un défilement ou un rechargement.

Une alerte doit-elle être fermable ?

Uniquement lorsque le message est informatif et que sa perte ne coûte rien. Si l'alerte décrit un problème non résolu, gardez-la permanente et laissez-la disparaître d'elle-même quand l'état se résout, sinon la fermeture masque un sujet qui réclame encore de l'attention. Un compromis courant : fermable, mais l'alerte réapparaît à la session suivante jusqu'à correction.

Une alerte peut-elle transmettre la gravité sans couleur ?

Elle le doit. Associez chaque niveau à une forme d'icône distincte et à une formulation qui nomme la situation, afin qu'un écran en niveaux de gris ou un lecteur daltonien reçoive tout de même le message. Demandez à MeDo un encodage icône plus texte dans le prompt et il attribuera un glyphe différent par niveau plutôt que de recolorier une seule icône quatre fois.

Où placer une alerte d'erreur de formulaire ?

Placez une alerte de synthèse juste au-dessus de la zone de soumission ou en haut du formulaire, et les messages individuels sous leurs propres champs, reliés par aria-describedby et aria-invalid. La synthèse indique à l'utilisateur combien de problèmes existent, les messages de champ lui disent quoi corriger, et avoir les deux évite aux utilisateurs de clavier et de lecteur d'écran de chercher l'échec.

Une alerte a-t-elle besoin de role="alert" ?

Pas toujours. N'utilisez role="alert" que pour les messages qui apparaissent dynamiquement et doivent interrompre, comme un échec de validation après une tentative de soumission. Une alerte présente au chargement de la page devrait être une région simple ou utiliser role="status", car une live region assertive au rendu initial ne fait que parler par-dessus tout le reste de la page.