MeDo

Générateur de composants avatar.

Générez des avatars prêts pour la production à partir d'un simple prompt. 6 patterns open source — photo, illustration style Notion, repli sur les initiales, badge de présence, groupe empilé, uploader — tous en Tailwind + shadcn, accessibles, thématisables et sous licence MIT. Copiez le code, ou régénérez n'importe lequel directement dans votre projet Lovable, Bolt, v0 ou Cursor.

Avatar
Avatar

6 modèles

Modèles de Avatar 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.

BasiqueImage + repli

Photo avec repli sur les initiales

La photo quand elle se charge, les initiales sinon. L'avatar dont toute application a besoin en premier.

Crée un composant React <Avatar /> réutilisable avec Tailwind CSS. Pattern : avatar basique avec image et repli sur les initiales. Mise en page : avatar circulaire affichant un <img> lorsque src se charge ; en cas d'erreur ou de src manquant, affiche un repli sur les initiales généré, avec une couleur de fond déterministe dérivée de la chaîne du nom. API : props pour src, name (obligatoire, utilisé pour le texte alternatif et les initiales), size ("xs" | "sm" | "md" | "lg" | "xl"), et passage de className. Inclus : texte alternatif obligatoire issu de name, loading="lazy", bascule vers le repli via onError et un état local, anneau focus-visible lorsque le composant est rendu dans un lien ou un bouton, prise en charge des thèmes clair et sombre via les classes Tailwind dark:. Contraintes : React + Tailwind uniquement, aucune dépendance UI ou image externe, aucun décalage de mise en page pendant le chargement de l'image (réserve la boîte avec des width/height fixes).

Tester dans MeDo
StatutBadge de présence

Avatar avec point de présence

En ligne, absent, occupé, hors ligne — un point de présence ancré au bord de l'avatar.

Crée un composant React <AvatarWithStatus /> avec Tailwind CSS. Pattern : avatar avec badge de présence. Mise en page : avatar circulaire avec un petit point de statut épinglé en bas à droite, séparé de la photo par un anneau de la couleur du fond afin qu'il reste lisible sur n'importe quelle surface. API : props pour src, name, size et status ("online" | "away" | "busy" | "offline"), avec la couleur du point mappée par statut et la taille du point proportionnelle à celle de l'avatar. Inclus : repli sur les initiales, une étiquette textuelle masquée visuellement annonçant le statut aux lecteurs d'écran (ne te repose pas sur la seule couleur), aria-label sur le conteneur, prise en charge des thèmes clair et sombre. Contraintes : React + Tailwind uniquement, aucune dépendance UI externe, le point ne recouvre jamais plus de 30 % du bord de l'avatar.

Tester dans MeDo
GroupeEmpilé + débordement

Groupe d'avatars avec puce +N

Pile d'avatars superposés avec une puce de débordement +N. Pour les équipes, les assignés, les collaborateurs.

Crée un composant React <AvatarGroup /> avec Tailwind CSS. Pattern : groupe d'avatars empilés (superposés) avec compteur de débordement. Mise en page : rangée horizontale d'avatars superposés sur environ un tiers, chacun entouré d'un anneau de la couleur du fond pour que la pile reste lisible ; au-delà du nombre maximal d'avatars visibles, affiche une puce compteur "+N" de mêmes taille et forme. API : props pour users (tableau de { src, name }), max (4 par défaut), size, et un onAddClick facultatif qui affiche une zone d'action « Inviter » en pointillés à la fin de la rangée. Comportement : au survol, l'avatar survolé passe au-dessus de ses voisins via une légère translation et un changement de z-index ; la pile inverse le sens de superposition grâce à une prop "dir". Inclus : repli sur les initiales pour chaque avatar, aria-label résumant le nombre total de membres, éléments focusables au clavier avec anneaux focus-visible, prise en charge des thèmes clair et sombre. Contraintes : React + Tailwind uniquement, aucune dépendance UI externe, aucune bibliothèque d'animation.

Tester dans MeDo
Tailles/formesÉchelle + forme

Système d'échelle

De xs à xl sur une même échelle typographique, plus les variantes circle, squircle et carré arrondi.

Crée un composant React <Avatar /> thématisable avec une échelle complète de tailles et de formes, en utilisant Tailwind CSS. Pattern : primitive avatar de design system. API : size ("xs" | "sm" | "md" | "lg" | "xl" | "2xl") mappée via un unique objet de correspondance qui pilote ensemble la largeur, la hauteur, la taille de police et le border-radius ; shape ("circle" | "squircle" | "square") ; plus src, name et className. Exigence : la taille de police des initiales évolue proportionnellement à la boîte de l'avatar afin que xs et 2xl restent tous deux équilibrés ; tous les tokens vivent dans un seul objet de configuration en haut du fichier, pour qu'une équipe puisse retravailler le thème en un seul endroit. Inclus : repli sur les initiales, texte alternatif issu de name, forwardRef vers l'élément racine, types de props TypeScript exportés, prise en charge des thèmes clair et sombre. Contraintes : React + Tailwind uniquement, aucune dépendance UI externe, aucun style inline hormis les tailles en pixels calculées.

Tester dans MeDo
UploaderÉditable

Avatar avec téléversement et suppression

Avatar avec badge appareil photo, bouton de téléversement et contraintes de fichier. Pour les pages de réglages.

Crée un composant React <AvatarUploader /> avec Tailwind CSS. Pattern : contrôle de photo de profil éditable pour une page de réglages. Mise en page : grand avatar à gauche avec un badge appareil photo circulaire épinglé en bas à droite ; à droite, un libellé « Photo de profil », une ligne d'indication sur les contraintes de fichier ("PNG ou JPG, jusqu'à 2 MB"), un bouton principal Téléverser et un bouton texte Supprimer. Comportement : <input type="file" accept="image/png,image/jpeg"> masqué, déclenché à la fois par le badge et par le bouton Téléverser ; validation côté client de la taille et du type avec un message d'erreur en ligne ; aperçu local via URL.createObjectURL, révoqué au démontage ; Supprimer rétablit le repli sur les initiales. Inclus : association <label> pour le champ de fichier, région aria-live pour les messages de validation, anneaux focus-visible, état désactivé/en cours de téléversement sur le bouton, prise en charge des thèmes clair et sombre. Contraintes : React + Tailwind uniquement, aucune bibliothèque d'upload, aucune dépendance de recadrage — expose un callback onChange(file) pour l'appelant.

Tester dans MeDo
Ligne profilAvatar + méta

Ligne avatar, nom, rôle

Avatar, nom, coche de vérification et rôle — la ligne qui remplit les tableaux et les listes de membres.

Crée un composant React <AvatarRow /> (et un wrapper <MemberList />) avec Tailwind CSS. Pattern : ligne avatar et métadonnées pour les listes de membres, les tableaux et les fils de commentaires. Mise en page : avatar à gauche, un bloc sur deux lignes avec le nom de la personne (plus une coche de vérification facultative) et une ligne secondaire atténuée ("Équipe · Rôle"), et un bouton d'action en fin de ligne à droite ; le bloc central se tronque avec min-w-0 + truncate au lieu de passer à la ligne. API : props pour users (tableau de { src, name, role, team, verified }), un libellé d'action de fin de ligne, et un callback onAction(user). Inclus : repli sur les initiales, markup sémantique <ul>/<li> dans le wrapper, nom accessible sur le bouton de fin de ligne ("Gérer l'accès de {name}"), surbrillance de la ligne au survol, anneaux focus-visible, prise en charge des thèmes clair et sombre. Contraintes : React + Tailwind uniquement, aucune bibliothèque de tableau ou de liste, fonctionne à 320px de largeur sans débordement.

Tester dans MeDo

Modèles de Avatar pour différents sites web

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

01 / 06

Réglages d'équipe SaaS

Les listes de membres reposent entièrement sur la ligne d'avatar : photo, nom, rôle, action d'accès. Le repli sur les initiales garde le tableau propre quand personne n'a encore téléversé de photo.

Styles et variantes de Avatar

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

01 / 06

Avatar basique

Image avec repli sur les initiales et une couleur de fond déterministe par nom. La base que toutes les autres variantes étendent.

Avatar en React, Next.js, Vue et Svelte

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

01 / 06

Avatar React

Un seul composant fonctionnel avec une table de tailles et un repli via onError. Aucun état client au-delà du drapeau « image en échec », donc utilisable partout dans un arbre React 18+.

src/components/Avatar.tsx

export function Avatar({ src, name, size = "md" }) {
  const [failed, setFailed] = useState(false);
  return failed || !src
    ? <span className={box[size]}>{initials(name)}</span>
    : <img src={src} alt={name} onError={() => setFailed(true)} />;
}

Qui utilise le composant Avatar

Équipes et listes de membres

Les pages de réglages, les organigrammes et les tableaux de permissions ont tous besoin de la même ligne : avatar, nom, rôle, action. Générez-la une fois et réutilisez-la dans tous les tableaux de l'application.

Collaboration en temps réel

Les avatars empilés avec une puce « +N » sont l'UI de présence la moins coûteuse qui existe : une seule ligne indique à l'utilisateur qui d'autre est en train d'éditer, sans barre latérale ni tableau de bord websocket.

Fils sociaux et commentaires

Les fils de commentaires, les réactions et les mentions répètent l'avatar des centaines de fois par page. Une primitive unique dotée d'une échelle de tailles garde la mise en page cohérente et le bundle léger.

Chat et boîtes de réception support

Les badges de présence indiquent à un agent si un client est toujours en ligne, et le repli sur les initiales garde la boîte de réception lisible quand personne n'a de photo de profil.

Paramètres du compte et onboarding

L'avatar téléversable gère la validation du type et de la taille du fichier, l'aperçu local et la suppression — tout le parcours de photo de profil sans bibliothèque d'upload.

Marketplaces et avis

Les avatars des évaluateurs accompagnés d'une coche de vérification font plus pour la confiance perçue qu'une étoile de plus. Insérez la ligne de profil directement dans vos pages produit.

Comment ajouter votre Avatar à un projet

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

01~30s

Choisissez un pattern d'avatar

Parcourez les 6 templates ci-dessus et choisissez celui qui correspond le mieux à votre écran — photo, illustré, ligne de tableau, pile de présence ou contrôle de téléversement.

02~2s

Prévisualisez-le en direct

Chaque carte affiche un véritable aperçu React + Tailwind : vous voyez les espacements et les tailles avant de copier quoi que ce soit.

03~10s

Copiez le prompt ou le code

Copiez le prompt dans MeDo, Lovable, Bolt, v0 ou Cursor, ou récupérez le code du composant directement depuis la carte.

04~1min

Intégrez-le à votre application

Importez <Avatar /> une fois, puis réutilisez-le dans les tableaux, les en-têtes et les fils de commentaires avec les props de taille et de forme.

Questions fréquentes à propos de Avatar

Qu'est-ce qu'un composant avatar ?

Un composant avatar affiche une petite image qui représente un utilisateur, une équipe ou une organisation — le plus souvent une photo de profil circulaire. Un avatar prêt pour la production gère aussi les cas où la photo est absente ou ne se charge pas, en général en affichant les initiales de la personne sur une couleur de fond générée.

Comment fonctionnent les initiales de repli d'un avatar ?

Le composant prend le nom de l'utilisateur, le découpe sur les espaces, puis affiche en majuscules le premier caractère de la première et de la dernière partie. La couleur de fond est dérivée de façon déterministe de la chaîne du nom : la même personne obtient donc toujours la même couleur, d'une session et d'un appareil à l'autre.

Qu'est-ce qu'un groupe d'avatars ou un avatar empilé ?

Un groupe d'avatars est une rangée horizontale d'avatars qui se superposent, chacun entouré d'un anneau de la couleur du fond pour que la pile reste lisible. Au-delà d'un nombre maximal d'avatars visibles, une puce « +N » est affichée. C'est le pattern standard pour les membres d'une équipe, les assignés d'une tâche et les collaborateurs en direct.

Ces composants avatar sont-ils accessibles ?

Oui. Chaque avatar porte un texte alternatif dérivé du nom de l'utilisateur, le statut de présence est annoncé par une étiquette masquée visuellement et non par la seule couleur, les infobulles sont reliées via aria-describedby, et les avatars interactifs conservent des anneaux focus-visible bien visibles.

Ces composants avatar sont-ils gratuits pour un usage commercial ?

Oui. Chaque template de la galerie est sous licence MIT : utilisez-le dans vos projets personnels, vos missions clients et vos produits commerciaux, sans attribution ni frais de licence.

Fonctionnent-ils avec React, Vue et Svelte ?

Les composants sont écrits en React + Tailwind, mais le markup est indépendant du framework. La section Frameworks ci-dessus montre le même avatar en Next.js, Vue 3, SvelteKit, Astro et HTML pur.

Comment dimensionner et optimiser les images d'avatar ?

Servez des recadrages carrés d'environ le double de la boîte affichée (80px pour un avatar de 40px) pour rester net sur les écrans retina, définissez width et height explicitement pour éviter le décalage de mise en page, utilisez object-cover et ajoutez loading="lazy" pour les avatars situés sous la ligne de flottaison.

Faut-il privilégier les avatars photo ou les avatars illustrés ?

Utilisez de vraies photos quand l'identité compte — annuaires d'équipe, boîtes de réception support, avis de marketplace — car un visage est le moyen le plus rapide de reconnaître quelqu'un. Utilisez des avatars illustrés dans le style Notion quand la plupart des utilisateurs ne téléversent jamais de photo, quand vous voulez un rendu homogène et fidèle à la marque, ou quand afficher de vrais visages pose des questions de confidentialité. Un bon système gère les deux : la photo quand elle existe, une illustration déterministe ou les initiales sinon.

Générez votre composant avatar en 30 secondes.

Régénérez n'importe lequel des 6 templates d'avatar à partir d'un prompt, ou décrivez le vôtre — photo, illustré, badges de présence, groupes empilés, uploaders. Gratuit, sous licence MIT, sans inscription.