Identikit

J’avais déjà publié une série de plugins pour déterminer des avatars distants. Ces plugins fonctionne bien, hormis un problème de performance lors de la soumission d’un commentaire. Seulement, j’avais besoin de souplesse pour administrer ces images. Enfin, j’avais envie d’écrire un plugin qui ne se contente plus de n’afficher que des images, mais qui offre une véritable interface d’administration.

Donc j’écris ce nouveau plugin pour qu’il gère toujours les pavatars, favatars et gravatars, mais qu’il intègre aussi de nouvelles notions : les favicons et les avatars locaux. Voilà ! Concrètement ce plugin est utilisé pour créer les identités visuelles de chaque contributeurs (auteurs et commentateurs). De plus, il permet aux auteurs d’héberger leurs images sur le site (donc sans passer par un site distant), avec une jolie interface privée. Enfin, il insère automatiquement les bonnes balises dans le front site.

Sémantique

J’use et abuse des urls rewritings qu’offre WordPress. En effet, les urls fournies par le plugins ne pointent pas vers le répertoire de stockage, mais vers une url lisible par les humains.

Les xhtml générés comportent toutes les classes css microformatées pour déclarées des images dans les hcard et hresume.

J’ai intégré un widget pour créé une hcard dans les menus de navigations.
le-widget
Le code généré est :

<li id="afficher-lauteur" class="widget widget_author">
    <h3 class="widgettitle">Xavier</h3>
    <ul class="vcard entry-author author">
<li class="fn" style="display:none">Xavier</li>
        <li class="logo">
            <a class="url fn" href="%5B...%5D/author/admin/" title="[...]">
            <img src="%5B...%5D/author/admin/pavatar.png" class="pavatar logo" alt="admin"></a>
        </li>
        <li class="summary">I am the one !</li>
    </ul>
</li>

Enfin, dans le cadre des avatars locaux, ces avatars sont déclarés comme étant des Pavatars.

Performances accrues

Maintenant, au lieu d’afficher des images distantes, il héberge directement les images qu’il a trouvé. D’autre part, il utilise le système de cache de WordPress pour accélérer le calcul.

En gros, quand quelqu’un poste un commentaire, le système d’abord analyser les caches associés à ses informations personnelles. Si il en trouve un, il l’affiche. Sinon, le système va essayer de trouver un avatar distant. Si il le trouve, il le télécharge et créer un cache avec un long délais avant expiration. Sinon il crée un cache avec un court délais. Ainsi, le système fait l’économie de calcul inutiles à chaque soumission de commentaires.

Utilisation

Pour afficher l’avatar du commentateur il suffit d’insérer l’un de ces codes dans la boucle des commentaire :

comment_author_avatar($r); affiche le code xhtml redimensionné à $r pixels du commentateur actuel.
$avatar = get_comment_author_avatar($r); retourne l’adresse de l’avatar en php

Pour afficher l’avatar pertinent de l’auteur, il suffit d’insérer ce code dans la boucle author ou single :

the_avatar($r); affiche le code xhtml redimensionné à $r pixels de l’auteur actuel.
$avatar = get_the_avatar($r); retourne l’adresse de l’avatar en php

les-commentaires interface-auteur interface-favicon

Enfin

Identikit est aussi le titre du dernier album des Burning Airlines. Pour tous les amoureux du DC Sound, je ne peux que leurs recommander l’écoute de cet album.

Téléchargement identikit.zip

Version 0.1.1 du 15 octobre 2006

  • Pingback: John Noone » Blog Archive » L’Avatar()

  • Pingback: WordPress New Plugins, Themes, & Widgets · Identikit 1.0()

  • http://adhisimon.or.id/ adhisimon

    from what i’ve read around the net, I think this plugin and your other plugin (pavatar) are nice. But I’m very disapointed that I can’t understand what you write here because there are no english version here :(

  • http://leregisseur.free.fr Damino

    Pas mal et assez complet.
    Merci.

  • http://www.john-noone.com Xavier

    adhisimon : well, my english is awful, but i will make this effort with the publication of the 2nd version. For now, I’m rewriting the actual plugin, with the ability to control the avatars for the user, posts and categories.

  • http://www.john-noone.com Xavier

    Damino : merci !

  • Paul Hockley

    Bonjour, ce plugin me semble etre celui dont j’ai besoin , mais je suis pas trop balaize en code, et je me demande où exactement placer le code ?

  • http://arsis.quartet.free.fr/ Alex

    J’ai installé Identikit sur mon blog, hélas lorque je charge une image (80px/80px, j’ai essayé avec d’autres aussi) je recois ce message : Fatal error: Call to undefined function: imageantialias() in /mnt/141/sda/1/3/arsis.quartet/wp-content/plugins/identikit/identikit.php on line 450 . Que faire? Merci de ton aide
    ALex

  • http://www.john-noone.com Xavier

    Alex : C’est un bug qu’on m’a déjà révélé. En gros ton PHP n’a pas la fonction antialias(). Cette fonction permet de faire des images un peu plus smoooth, mais j’ai appris à posteriori qu’elle n’est disponible qu’à partir de PHP 4.3.2.

    Éventuellement tu peux commenter la ligne 450 dans le fichier identikit.php, peux-être que ça résoudra ton bug.

    Ceci dit, je suis entrain de développer la v2 du plugin qui fera un peu plus que des avatars, et j’en profiterai pour réécrire certaines fonctions qui passent mal sur certaines configurations (hein le hibou, je ne t’ai pas oublié :)). Donc patiente…

  • http://www.john-noone.com Xavier

    Paul : si tu veux afficher l’avatar d’un commentateur, il te suffit d’insérer la ligne comment_author_avatar(); dans la boucle des commentaires de ton thème. généralement, le fichier qui affiche les commentaires s’appellent comments.php. par exemple, sur le thème par défaut de WordPress (Kubrick), tu peux mettre cette fonction dans le fichier comments.php, entre les lignes 28 et 47.

    Si tu veux afficher l’avatar de l’auteur d’un message, il suffit d’insérer le code the_avatar(); dans la boucle des articles. Toujours avec le même exemple, tu peux mettre cette fonction n’importe où dans le document single.php

  • Pingback: With Gravatar’s Outage and Suckage, Should A New Avatar System Take Its Place? * Stellify()

  • Pingback:   Downtime at Gravatar. Should a New System be in Place? by Blogging Pro()

  • http://adesigna.net r.

    Translation to english would be great!

  • http://www.john-noone.com Xavier

    I am working on it :) I will publish a new internationalized version late December.

  • http://bloguio.net/ Thierry Bélanger

    Un gros merci pour ce plugin. Je suis entrain de tester et ça semble fonctionner #1. :)

  • http://milo.peety-passion.com milo

    When will you share the update?
    btw: with bablef or g translate your site is down.

  • http://www.john-noone.com Xavier

    The new version will be released around the end of December.

  • http://ketsugi.com ketsugi

    Eagerly awaiting your English version. Love your site, and I’m pretty amused that Google Translator seems to translate « avatar » as « misadventure ». Makes it a bit odd to read this page 😉

  • http://www.john-noone.com Xavier

    lol

  • http://www.idiotonastick.com/talk jafer

    This is what Babelfish translator says that your website says:

    Identikit I had already published a series of plugins to determine distant misadventures. These plugins functions well, except a problem of performance at the time of the tender of a comment. Only, I needed flexibility to manage these images. Lastly, I wanted to write a plugin which is not satisfied any more not to post but images, but which offers a true interface of administration. Thus I write this new plugin so that it always manages the pavatars, favatars and gravatars, but that it integrates also new concepts: let us favicons and the local misadventures. Here! Concretely this plugin is used to create the visual identities of each contributors (authors and commentators). Moreover, it makes it possible to the authors to lodge their images on the site (thus without passing by a distant site), with a pretty private interface. Lastly, it automatically inserts the good beacons in the face site. Semantics I use and misuse the urls rewritings which WordPress offers. Indeed, the urls provided by the plugins do not point towards the repertory of storage, but towards a URL readable by the human ones. The generated xhtml comprise all the classes css microformatées for declared images in the hcard and hresume. I integrated a widget for created a hcard in the menus of navigations. The generated code is: Xavier Xavier I amndt the one! Lastly, within the framework of the local misadventures, these misadventures are declared as being of Pavatars. Performances increased Now, instead of posting distant images, it directly lodges the images which it found. In addition, it uses the system of mask of WordPress to accelerate calculation. Approximately, when somebody posts a comment, the system initially to analyze the masks associated with its personal information. If it finds one of them, it posts it. If not, the system will try to find a misadventure distant. If it finds it, it downloads it and to create a mask with long times before expiry. If not it creates a mask with short times. Thus, the system makes the useless saving in calculation to each tender of comments.

    I await the new plugin – I haven’t been able to use gravatars for a long, long time.

  • http://peety-passion.com Peety

    Looking forward to the international release.. Very nice layout..

  • Pingback: Gravatar Alternatives()

  • http://technospot.net/blogs/ Ashish Mohta

    You have an excellent looks of your blog.I dont undertsand the language so much.But i het the summary.I will keep visiting your site

  • http://www.phpbb.cc Dmitry Shechtman

    où est le link téléchargement?

  • http://www.john-noone.com Xavier

    en dessous des copies écran, à côté de l’icône en forme de K7, clique sur identikit.zip.

  • Paul

    Hey Xavier! Nice work… but I am really looking for the « International Version »! Have a great new year! :-)

  • http://www.phpbb.cc Dmitry Shechtman

    Merci beaucoup!

  • Pingback: blackblog » Blog Archive » links for 2007-01-04()

  • http://www.toubeauty.com/ Toucouleur

    cela sera en place dans pas 1 semaine. très bon script, simple, efficace, bien codé. Par conte, pur la prochaine archive pensez à encoder es commentaires avec de l’utf 8 à la palce de l’iso, les english vont litérallement péter un cable :) par contre il aurait été bien pour le néophyte de lui dire comment tester si le user a ou non un avatar de défini 😉 Bien amicalement, et bravo pour ce travail Cédric aka toucouleur.fr

  • http://www.toubeauty.com/ Toucouleur

    petit update et gros bug 😉

    si je met ceci dans mes permaliens /%category%/%postname% pas moyen de faire afficher les avatars (le rewriting ne fonctionne plus)

    y’a t’il un moyen de contourner le pb ? (évidement le présent blog utilise la structure de type Date and name based :))

  • http://www.john-noone.com Xavier

    %category% est buggé sur WordPress, il y a une note dessus dans le Codex, à la page http://codex.wordpress.org/Using_Permalinks
    Ce problème est indépendant du présent plugin.

    Mais tu peux gruger en rajoutant quelque chose devant la catégorie, par exemple un - pour faire /-%category%/%postname%

  • http://sputniq.net TaloX

    Hi Xavier,

    very Nice Work! Got you a English Version?? I can’t read french…

    Cya.

  • http://www.john-noone.com Xavier

    I’m working on a internationalized version.

    A development version available in English is downloadable into this post : http://www.john-noone.com/2007/01/19/des-priorites-plus-prioritaires/

  • Pingback: Gravatar sort de sa léthargie - Sunfox()

  • Christophe

    Salut !

    J’essaye d’utiliser votre plugin mais je me retrouve au lieu de l’image à afficher c’est le nom qui s’affiche.

    D’où vient le problème ?

    Merci :-)

  • Christophe

    J’ai ce message d’erreur qd je veux supprimer une image : [function.unlink]: Permission denied

  • Pingback: 29 things you can do to make a blog more communal at North x East()

  • http://www.john-noone.com Xavier

    A mon avis, votre serveur ne permet pas de gérer les fichiers tel que le conçoit ce plugin.
    Avez-vous le même soucis avec les pièces-jointes dans wordpress ?

  • Christophe

    Merci pour votre réponse. Je n’ai jamais essayé avec les pièces jointes. Je pense que cela vient de mon serveur qui ne gère pas ce plug-in. C’est dommage, je voulais bien introduire un plugin d’avatar.

    Merci quand même.

  • Dipsy

    Warning: is_dir() [function.is-dir]: open_basedir restriction in effect. File(/local-1.png) is not within the allowed path(s): (/home/dipsik:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/dipsik/public_html/wp-content/plugins/identikit2/identikit2.php on line 810

    how to improve this?!

  • Pingback: Gravatar Probleme? » Sebbis Blog()

  • Pingback: [隨手記] 20070108 « maTT cHEn *{online}()

  • http://www.john-noone.com Xavier

    Une beta de la v2 est disponible à ce lien http://www.john-noone.com/2007/03/14/le-bout-du-tunnel/

  • http://feygelegoy.com Feygele goy

    Je ne peut pas comprendre bien le français. Mais j’essayerai le version complet. Dites-moi la bonne chance !

  • Pingback: WP Plugins DB » Blog Archive » Identikit()

  • http://www.nightangel.fr NightAngel

    Je rencontre un « léger » problème.

    J’upload un avatar et ça se passe bien, je peux le resizer correctement après quoi il existe bien dans /wp-content/avatars/ le problème est qu’une fois la manipulation effectuée et bien en dessous de « Votre avatar local » il y a simplement écrit « admin » qui cherche vraisemblablement un avatar ici : /author/admin/pavatar.png Bien que je sois conscient que l’url est réécrite. Le système n’arrive donc pas à « retrouver » mon avatar sur le FTP. Serait-il possible de m’en dire plus ? (J’ai rechargé les permaliens bien sûr et le CHMOD sur le répertoire /wp-content/avatars/ est effectué (777). Merci beaucoup et bonne journée ^^

  • http://edward.de.leau.net Edward de Leau

    Good script, an english explanation would be welcome too (yes, I’m #100 in the row).

  • Pingback: myOpenID Neuerungen mit WordPress abbilden at notizBlog - a private weblog written by Matthias Pfefferle()

  • http://blog.kakkoi.net Noah Ark

    I agree with ↑ Edward. I’m lost too, can you write up simple instructions for download and install.. thanks, merci

  • http://antro.com impropio

    test! de prueba