![]()
Sur le blog de Saesee j'ai appris que sur Dotclear on pouvais avoir un avatar par défaut lorsqu'on laisse un commentaire.
Il suffit de s'inscrire sur Gravatar et le tour est joué,
Sur tout les blogs,sites ou forums ou est installée l'optionon est reconnus d'après l'adresse email et notre avatar s'affiche automatiquement.
Deux plugins sont disponibles pour dotclear:
celui de Julien Appert basique et très simple a configurer (mon choix)
celui de JcDenis un peut plus complet et parametrable.
Cela m'a donné l'idée de faire ça pour smf. J'ai eux un peut la flemme de faire le mod, alors je vous laisse juste un petit tuto.
Vous allez voir c'est facile a mettre en place.
En permier on va faire une sauvergarde des fichier suivants:
Sources/Load.php
Themes/default/Profile.template.php
Themes/default/Display.template.php
Themes/default/PersonalMessage.template.php
Themes/default/index.template.php
default doit être remplacé par le thème que vous utilisez si vous n'utilsez pas ce très beau thème 
Ne soyez pas surpris si votre thème ne contient pas tout les fichiers, c'est normal c'est qu'il n'en a pas besoin.
Maintenant la modification en elle même.
On va d'abord créer une fonction qui nous évitera de coller du texte inutile un peut partout.
On édite le fichier Load.php
On va tout au fond du fichier et juste avant
?>
on colle le code suivant:
function Gravatar($email)
{
global $settings;
echo('<img src="http://www.gravatar.com/avatar.php?gravatar_id='.md5( strtolower($email) ).'&default='.urlencode($settings['default_theme_url'].'/images/user.png').'&size=90 "/>');
}
Petite explication:
C'est ce bout de code qui va aller chercher les infos chez Gravatar.
La variable $email est là parsque dans les différents fichiers que l'on va éditer les variables ne sont pas les même pour appeler l'adresse email du membre.
Ici on va aussi chercher l'image par défaut pour les membres qui n'ont pas d'avatar, autant faire d'une pierre deux coup 
On peut ici choisir la taille de l'avatar en modifiant l'option size=90
Maintenant on va s'attaquer a l'affichage.
1-Pour l'affichage dans le profil:
On édite le fichier Profile.template.php et on rechercher vers la ligne 299
//Now print the second column where the members avatar/text is shown. echo ' <td class="windowbg" valign="middle" align="center" width="150"> ', $context['member']['avatar']['image'], '<br /><br /> ', $context['member']['blurb'], ' </td> </tr>';
et ont le remplace par
// Now print the second column where the members avatar/text is shown. echo ' <td class="windowbg" valign="middle" align="center" width="150"> ', !empty($context['member']['avatar']['image']) ? $context['member']['avatar']['image']: Gravatar($context['member']['email']), '<br /><br /> ', $context['member']['blurb'], ' </td> </tr>';
2- L'affichage dans les messages
On édite le fichier Display.template.php et on rechercher vers la ligne 321
// Show avatars, images, etc.? if (!empty($settings['show_user_images']) && empty($options['show_no_avatars']) && !empty($message['member']['avatar']['image'])) echo ' <div style="overflow: auto; width: 100%;">', $message['member']['avatar']['image'], '</div><br />';
et on remplace par:
// Show avatars, images, etc.? if (!empty($settings['show_user_images']) && empty($options['show_no_avatars'])) echo ' <div style="overflow: auto; width: 100%;">',!empty($message['member']['avatar']['image']) ? $message['member']['avatar']['image']: Gravatar($message['member']['email']), '</div><br />';
3- L'affichage dans les messages privés
On édite le fichier PersonalMessage.template.php et on rechercher vers la ligne 315
// Show avatars, images, etc.? if (!empty($settings['show_user_images']) && empty($options['show_no_avatars'])) echo ' ', $message['member']['avatar']['image'], '<br />';
et on remplace par:
// Show avatars, images, etc.? if (!empty($settings['show_user_images']) && empty($options['show_no_avatars'])) echo ' ',!empty($message['member']['avatar']['image']) ? $message['member']['avatar']['image']: Gravatar($message['member']['email']), '<br />';
4-Et enfin l'affichage sur l'index:
On édite le fichier index.template.php et on rechercher vers la ligne 224
if (!empty($context['user']['avatar'])) echo ' <td class="windowbg" valign="middle">', $context['user']['avatar']['image'], '</td>';
et on ajoute après:
else echo ' <td class="windowbg" valign="middle">',Gravatar($context['user']['email']),'</td>';
Et puisque que l'on tien le fichier index.template,php on peut ajouter un petit texte pour avertir les membres de cette petit plus sur notre forum,
on recherche vers la ligne 256
// Show the total time logged in? if (!empty($context['user']['total_time_logged_in']))
et on ajoute avant:
echo 'Ce forum utilise <a href="http://fr.gravatar.com/">Gravatar</a> pour gérer vos avatars.<br />';
A embellir selon votre inspiration .
Voilà le plus gros est fait, Alors ? c'etait pas compliqué si ? 
Il ne vous reste plus qu'a télécharger l'image suivante et de la placer dans le dossier images du thème par défaut (core) et le tour est joué.

Oui, oui le theme par défaut, puisque
$settings['default_theme_url'].'/images/
indique le chemin vers le repertoire images de celui-ci.
Cela nous évite d'aller copier l'image dans tout les thèmes si on en utilise plusieur.(ce que c'est beau la simplicité
)
Bien évidement tout ceci peut être amélioré à volonté.
On peut même créer un mod qui permettrais de choisir si l'on veut ou pas activer le mod, paramétrer la taille, etc...
C'est installé sur le forum allez jetez un oeil avant de vous lancer 
Vous pouvez faire de ce ce tuto ce que bon vous semble a condition que cela reste gratuit et que vous n'hésitiez pas à citer la source.
Encore merci à Saesee de qui est venue l'inspiration.
Commentaires
Petite mise a jour pour ceux qui seraient passé depuis hier soir.
Garedo-Ajout pour l'affichage dans les messages privés.
-Simplification de l'apel de l'image par défaut.
-Optimisation pour pour le fichier Display.template.php .
Merci à toi pour le tutoriel SMF et ravis de t'avoir inspiré
A bientôt
SaeseeBon, testé mais cela ne fonctionne pas pour mon forum tout fraichement installé... j'ai du loupé un truc
SaeseeEDIT : L'avatar se voit dans mon profil mais pas sur les messages dans le forum. Une idée Garedo ?
SaeseeTu utilise le theme par defaut ?
GaredoSalut et désolé pour le retard dans ma réponse.
Non, j'utilise un thème custom appelé "Corp-Lt" : http://custom.simplemachines.org/th...
Hum je n'ai pas essayé de me plongé dans le code, toi qui le connai déjà sera beaucoup plus efficace
SaeseeEn fait tu a oublié un petit truc, j'ai ecris
"default doit être remplacé par le thème que vous utilisez si vous n'utilsez pas ce très beau thème"
Il te faut editer le fichier Display.template.php du theme corp-lt et appliquer la modification indiquée.
J'ai verifier c'est le même code.
N'ésite pas a laisser un lien vers ton forum pour voir le résultat
GaredoSalut. Ok *se sent con* merci pour l'info *envie de se pendre*
Pour mon forum, tu y a accès via le Blog.
SaeseeSalut
andycappBravo pour ton tuto , mais ca n'es valable que pour smf mais pour l'installer sur un blog dotclear theme noviny tu fais comment ????
suis pas fortiche ........
merci de m'aider
andycapp
tien , bonne idée ça, j'ai jamais regardé en fait.
je vais regarder ça dès que j'ai finis mon tuto pour créer un theme pour smf.
GarédoVoili, voilà j'ai posé la question sur le forum de dotclear , et j'ai eu deux réponses.
j'ai mis le tuto a jour, bonne utilisation
Garédo