Ce blog — désormais archivé — est en lecture seule. Rendez-vous sur mon nouveau site personnel.

Prendre un Café

L'espace d'expression de Nicolas Perriault

Aller au contenu | Aller au menu | Aller à la recherche

Keyword - dotclear

Fil des billets

jeudi 1 mai 2008

Note de service

À l'occasion de la sortie de Dotclear 2 RC1, j'ai mis à jour le blog et en ai profité pour ajouter quelques petites choses qui me trottaient dans la tête depuis quelques temps :

  • Un colophon, sorte d'à-propos du site, basé sur la nouvelle gestion de pages autonomes,
  • Le dépôt d'un commentaire ne nécessite désormais plus la saisie d'une adresse email (sauf si vous désirez voir apparaître votre gravatar), grâce au plugin emailOptionnel,
  • La notification des commentaires par messagerie instantannée Jabber, via le plugin jabberNotifications (mais ça ne concerne que moi),
  • J'ai failli utiliser le thème personnalisable fourni en standard, vraiment très réussi[1].

Cette version de Dotclear est un vrai bonheur à l'utilisation (et en plus c'est vraiment bien codé), félicitations à toute l'équipe.

Notes

[1] Mais je me suis trop habitué à mon thème perso, à tort certainement...

dimanche 23 mars 2008

Plugin FlickrFeed pour Dotclear2

J’avais envie de mettre quelques photos dans la sidebar de ce blog, donc j’ai créé vite fait un widget pour Dotclear2 que j’ai nommé FlickrFeed.

L’interface d’admin est réduite à sa plus simple expression, comme en atteste la capture d’écran ci-dessous :

Administration du widget FlickrFeed

Le plugin n’est disponible qu’au format ZIP, puisque visiblement c’est l’avenir.

Téléchargement

Edit du 10 avril : Version 1.0.1 : correction mineure sur la validité xhtml (ajout d’un attribut alt sur les balises images.) Merci Chris ;)

Edit du 14 septembre : Version 1.0.2 ajoutant une option permettant de spécifier si le widget n’apparait que sur la homepage (merci giz404)

jeudi 21 septembre 2006

Dotclear2 et les gravatars

Voici une astuce pour gérer les gravatars dans les commentaires de votre blog Dotclear2. Dans le répertoire de votre thème courant, créez un fichier _public.php et ajoutez-y ces quelques lignes de code [1] :

<?php
$core->tpl->addValue('gravatar', array('gravatar', 'tplGravatar'));
class gravatar {
  public static function tplGravatar($attr)
  {
    return '<?php echo md5(strtolower($_ctx->comments->getEmail(false))); ?>';
  }
}
?>

Maintenant, dans votre fichier de template pour les billets (généralement, il s'agit de post.html), vous pouvez appeller votre image de gravatar de cette façon entre les balises <tpl:Comments> et </tpl:Comments> :

<img src="http://www.gravatar.com/avatar.php?gravatar_id={{tpl:gravatar}}"
     class="gravatar_img" alt="Gravatar Image" />

Voila, c'est codé en 5 minutes et vous aurez constaté que je ne génère pas directement l'url complète du gravatar et encore moins la syntaxe HTML de la balise image depuis la classe PHP, c'est tout simplement car :

  1. J'en ai la flemme,
  2. Je préfère gérer ça dans le template.

Hope it helps anyway :)

Edit du 22 septembre 2006

Bon, voila finalement une version un poil plus customizable. Le code qui suit annule et remplace le précedent dans votre fichier _public.php :

<?php
$core->tpl->addValue('gravatar', array('gravatar', 'tplGravatar'));

class gravatar {

  const
    URLBASE = 'http://www.gravatar.com/avatar.php?gravatar_id=%s&amp;default=%s&amp;size=%d',
    HTMLTAG = '<img src="%s" class="%s" alt="%s" />',
    DEFAULT_SIZE = '40',
    DEFAULT_CLASS = 'gravatar_img',
    DEFAULT_ALT = 'Gravatar de %s';

  public static function tplGravatar($attr)
  {
    $md5mail = '\'.md5(strtolower($_ctx->comments->getEmail(false))).\'';
    $size    = array_key_exists('size',   $attr) ? $attr['size']   : self::DEFAULT_SIZE;
    $class   = array_key_exists('class',  $attr) ? $attr['class']  : self::DEFAULT_CLASS;
    $alttxt  = array_key_exists('alt',    $attr) ? $attr['alt']    : self::DEFAULT_ALT;
    $altimg  = array_key_exists('altimg', $attr) ? $attr['altimg'] : '';
    $gurl    = sprintf(self::URLBASE,
                       $md5mail, urlencode($altimg), $size);
    $gtag    = sprintf(self::HTMLTAG,
                       $gurl, $class, eregi("%s", $alttxt) ?
                                      sprintf($alttxt, '\'.$_ctx->comments->comment_author.\'') : $alttxt);
    return '<?php echo \'' . $gtag . '\'; ?>';
  }

}
?>

Du côté de votre template post.html et toujours entre vos deux balises <tpl:Comments> et </tpl:Comments>, voila comment ça se passe :

{{tpl:gravatar class="gravatar_img" size="80" altimg="http://www.example.host/default_gravatar.png" alt="Gravatar de %s"}}

Je crois que les attributs sont assez parlants, mais en voici le détail au cas où :

  • class : le nom de la classe CSS à appliquer à l'image
  • size : la taille en pixels
  • alt : Le contenu du texte alternatif à l'image (acepte la syntaxe de sprintf)
  • altimg : L'url de l'image par defaut en l'absence de gravatar (sera url encodée automatiquement)

Enjoy.

Finalement, voila le plugin :-)

Bon, je suis incorrigible mais l'occasion était trop belle pour commencer à mettre le nez dans le nouveau système de plugins de Dotclear2 ; voici donc le plugin Gravatars [2] :

Bien évidemment, pour une toute première version, il doit exister quelques bugs et limitations :

  • Pas de traduction française
  • Pas d'aide contextuelle
  • Pas de configuration par blog (à venir)
  • Utilisation d'un archaïque fichier INI (pas compris comment mettre les settings en base)

Au chapitre des fonctionnalités :

  • Possibilité de définir les paramètres des gravatars de façon globale...
  • ou individuellement au niveau du template d'appel (voir plus haut)

Edit du 25 août 2007 : Grâce à Goulven, vous avez droit à la version patchée compatible Dotclear2b7 du plugin :

Notes

[1] Prochaine étape : gérer la coloration syntaxique du code dans Dotclear2.

[2] Packagé grâce au plugin Pack it! d'Elaboration.be

vendredi 15 septembre 2006

Planquez-vous, je tente un Dotclear2

C'est même plus un casque de chantier qu'il vous faut porter, mais un abri anti-atomique portatif ;-)

Le but est avant tout de conserver les urls de l'ancienne version du blog et/ou gérer des règles de réécritures les faisant pointer sur les nouvelles.

Ce qui a été fait, ce qu'il reste à faire :

  • Import des billets, catégories et commentaires : OK
  • Prise en charge des anciennes URLs (règles de réécritures Apache) : OK
  • Virer le index.php des urls : OK
  • Prendre en charge la redirection des anciens répertoires images et share : OK (Les liens symboliques sont mes amis)
  • Prendre en charge les anciennes urls des commentaires et trackbacks : OK (Pep est mon ami)
  • Régler les problèmes de flux RSS : OK (Un plugin dédié à la gestion des flux Feedburner existe !)
  • Portage du thème : OK [1]
  • Prendre à nouveau en charge les Gravatars via le mécanisme de templates de Dotclear2 : OK (Plus d'informations)
  • Taguer les billets : OK
  • Réintégrer la syntaxe wiki dans les commentaires : À faire Finalement, non.
  • Gérer les anciennes émoticônes : À faire Pfff, on s'en fiche, non ?
  • Prendre à nouveau en charge la coloration syntaxique via Geshi : OK -> Merci Lalex :-)

Si vous voyez d'autres choses, n'hésitez pas à me les signaler en commentaire.

En attendant je dois reconnaître qu'Olivier a effectué un excellent boulot sur cette nouvelle version de Dotclear, et que le thème par défaut est magnifique :)

Edit : Toutes mes excuses aux lecteurs du Planet Ubuntu-fr qui font (encore) les frais du changement d'urls des flux de syndication.

Notes

[1] J'en ai profité pour demander l'autorisation d'utiliser l'habillage des tags de Blogmarks. Permission accordée, cool 8-)

jeudi 25 mai 2006

Plugin Last Blogmarks pour Dotclear v 0.3.7

Depuis la sortie de la v2 de Blogmarks.net, mon plugin pour Dotclear en version 0.3.6 ne fonctionnait plus convenablement. C'est desormais chose réparée, j'ai mis à jour les urls de l'API de blogmarks qui avaient changé.

J'en ai profité pour ajouter quelques fonctionnalités supplémentaires :

  • Ajout d'un lien vers le topic officiel sur le forum de Doclear
  • Ajout d'une page permettant de consulter en ligne le changelog
  • Ajout d'une interface de prévisualisation de la liste de marks

Les liens de téléchargement ont été mis à jour sur la page officielle du plugin.

mercredi 24 mai 2006

Plugin Scoopeo pour Dotclear

Je viens de faire un nouveau plugin pour Dotclear permettant d'afficher ses derniers scoops postés sur Scoopeo. Je l'ai codé super vite, donc il se peut qu'il y ait des bugs rémanants, mais chez moi ça marche.

J'ai utilisé la classe lastRSS qui devrait théoriquement permettre une utilisation sur la plupart des plateformes d'hébergement disposant de PHP.

Voici les urls d'installation de la version 0.1 :

vendredi 28 avril 2006

Vracations

jeudi 27 avril 2006

Plugin Last Blogmarks pour Dotclear v0.3.6

Je viens de mettre à jour mon plugin Last Blogmarks pour Dotclear en version 0.3.6. C'est une version de maintenance :

  • Correction d'un bug répétant la dernière ligne de mark lorsque le compte blogmarks possède moins de marks que le nombre de marks à afficher (un grand merci à JMF qui m'a fourni le correctif)
  • Ajout d'une méta-valeur de template {blogmark_summary_html_nobr} comportant la description du mark encodée en entitées html mais sans retours-charriot ni <br /> (utile pour les attributs title des liens hypertextes).

Lien vers la page de téléchargement.

- page 1 de 4