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

  • http://www.shokk.com Ernie Oporto

    Pavatar test

  • sébastien

    Bonjour, j'ai une petite question qui n'a -je l'avoue- pas de rapport avec cet article : comment fais-tu pour afficher la durée depuis laquelle un commentaire a été écrit ? Je parle des « 2 years ago » ou « 4hours ago » qu'il y a dans les commentaires. Je serai curieux de voir comment c'est codé.

  • johnnoone

    Je n'utilise pas le système de commentaires de WordPress.

    À la place, j'utilise Disqus qui propose ce service.

  • sébastien

    Bonjour, j'ai une petite question qui n'a -je l'avoue- pas de rapport avec cet article : comment fais-tu pour afficher la durée depuis laquelle un commentaire a été écrit ? Je parle des « 2 years ago » ou « 4hours ago » qu'il y a dans les commentaires. Je serai curieux de voir comment c'est codé.

  • johnnoone

    Je n'utilise pas le système de commentaires de WordPress.

    À la place, j'utilise Disqus qui propose ce service.

  • sébastien

    ok,merci :-)

  • http://www.mrpari.com/sportingbet/ sportingbet

    Does exist an other hiding system like WordPress ?

    Michel

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

  • Pingback: gmarris()

  • Pingback: Avatar, Pavatar, Gravatar... | Arcane Lore()

  • Pingback: 29 Ways to Build a Blogging Community • North X East()