Gravatar: y a-t-il une image par défaut?
J'ai implémenté gravatar pour un portail que je construis et je voulais savoir s'il y avait une URL d'image par défaut pour gravatar? Toutes les personnes qui visitent le site ne sont pas connectées ou ont des adresses e-mail, dans un tel cas, y a-t-il une image par défaut qui peut être affichée (accessible via l'url gravatar)
5 réponses
Pour sélectionner une image par défaut, vous pouvez utiliser le d
paramètre:
http://www.gravatar.com/avatar/3b3be63a4c2a439b013787725dfce802?d=identicon
Ou sans hachage:
http://www.gravatar.com/avatar/?d=identicon
Ou sans le paramètre d
:
http://www.gravatar.com/avatar
Source: gravatar.com.
Gravatar décrit les options pour les images par défaut ici: http://en.gravatar.com/site/implement/images/
Vous pouvez sélectionner l'option que vous voulez en ajoutant la paire nom/valeur appropriée à votre url. Par exemple, j'utilise "mystery man" (D = mm) qui ressemble à ceci:
L'image ci-dessus a été créée avec l'url http://www.gravatar.com/avatar/?d=mm
. Notez que la chaîne de hachage de l'e-mail a été omise mais que vous l'incluez normalement dans la requête.
Options répertoriées à le lien ci-dessus:
- 404: Ne chargez aucune image si aucune n'est associée au hachage de l'e-mail, renvoyez plutôt une réponse HTTP 404 (Fichier introuvable)
- mm: (mystery-man) une silhouette simple, de style dessin animé d'une personne (ne varie pas par hachage par courriel)
- identicon: un motif géométrique basé sur un hachage d'email
- monsterid: un "monstre" généré avec différentes couleurs, visages, etc
- wavatar: visages générés avec des caractéristiques différentes et arrière-plans
- rétro: génial généré, 8-bit arcade-style Pixélisé visages
- blank: une image PNG transparente (bordure ajoutée au HTML ci-dessous à des fins de démonstration)
Comme vous l'espérez, l'utilisation de l'option Taille s=<pixels>
modifie également la taille de l'image par défaut.
L'image ci-dessus a été créée avec http://www.gravatar.com/avatar/?d=retro&s=32
Pas vraiment, non. Il manque le point du service Gravatar. Il est conçu pour que vos utilisateurs puissent enregistrer leur(leurs) adresse (s) E-Mail (s) et y associer une image gravatar. Votre site (et d'autres sites) peut alors interroger Gravatar pour rendre l'image qui est associée à l'adresse e-mail en question.
Si vous voulez une image montrant pour les utilisateurs qui ne saisissent même pas une adresse e-mail sur votre site web, vous avez deux solutions que je peux voir:
- faites-le dans votre propre code. Lorsque vous avez affaire à un utilisateur qui n'a pas d'adresse e-mail, vous pouvez simplement afficher une image par défaut de votre choix. Bien sûr, cela signifie qu'il ne sera pas fait en utilisant une adresse gravatar et ce sera quelque chose que vous aurez besoin de vous servir.
- Enregistrez vous-même une adresse e-mail dédiée aux utilisateurs qui n'ont pas/entrent leur propre. Par exemple, vous pouvez enregistrer quelque chose comme
default-gravatar@myapp.example.com
, puis l'enregistrer avec le service Gravatar et associer l'image par défaut de votre choix avec ce. Votre propre code d'application devra toujours afficher l'URL gravatar appropriée en substituant cette adresse e-mail à la place de l'URL inexistante de l'utilisateur lors de la construction de l'URL de l'image, mais cela vous permettra d'utiliser une URL gravatar qui est quelque chose que vous avez demandé.
Vous pouvez également utiliser une URL personnalisée pour l'avatar default/fallback. Cependant, l'URL personnalisée doit pointer vers une image accessible au public, sinon elle ne s'affichera pas. Vous pouvez en savoir plus ici et gravatar.com.
Voici une fonction PHP que j'utilise lorsque je travaille avec des images gravatar.
function myprefix_get_gravatar_url( $email, $default='mm', $size=92 )
{
$email = md5( strtolower( trim( $email ) ) );
$default = urlencode( $default );
$size = (int)$size;
$url = 'http://www.gravatar.com/avatar/';
if ( is_ssl() )
$url = 'https://secure.gravatar.com/avatar/';
return $url.$email."?d=".$default."&s=".$size;
}
Exemple d'utilisation:
$img2x = myprefix_get_gravatar_url(
'spacepants@goofygoof.it',
'https://www.google.com/images/srpr/logo11w.png',
184
);
Pour ceux qui veulent juste un lien vers l'image d'un e-mail donné (cela ne répond pas à la demande de L'OP, mais cette page est importante dans les recherches web): à partir de presque n'importe quel shell POSIX, vous pouvez générer l'URL Gravatar de 256 pixels pour "somebody@example.com" avec:
echo "http://gravatar.com/avatar/$(echo -n somebody@example.com | md5sum | awk '{print $1}')?s=256"
Vous avez besoin de penser assez pour remplacer somebody@example.com avec l'email en question. J'ai inclus la "?s=256" pour montrer comment spécifier la taille.
J'en avais besoin pour illustrer à quelqu'un ce qu'est un gravatar.