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

Guilou

dimanche 10 janvier 2010

Utiliser FeedBurner avec Dotclear 1.2.x

Logo FeedBurner

FeedBurner est un service Google permettant d'avoir des statistiques sur son Flux RSS. Un plugin FeedBurner existe pour Dotclear, mais celui-ci ne semble pas marcher et ne plus être en développement. (La dernière version date de début 2008, alors pour Dotclear 1.2.5... Actuellement, nous sommes à la version 1.2.8)

J'obtenais des erreurs telles que :

Warning: Invalid argument supplied for foreach() in /tools/feedburner/class.feedburnerstats.php on line 187
Warning: Invalid argument supplied for foreach() in /tools/feedburner/class.feedburnerstats.php on line 193

Je vous propose alors mon astuce pour permettre d'utiliser FeedBurner sans perdre vos précédents abonnés. Nous allons écrire quelques lignes de PHP. Tout est faisable directement via Dotclear pour peu qu'on ait le plugin File Manager d'Olivier Meunier.

Le principe

Je pars du principe que vous avez déjà un compte FeedBurner, et que vous y avez déjà enregistré le flux RSS généré par Dotclear. Vous devez également connaître l'URL FeedBurner qui correspond à votre flux RSS. Chez moi c'est http://feeds.feedburner.com/GuilouBlog par exemple. Voici comment nous allons procéder :

  1. Nous allons renommer le fichier qui génère actuellement notre flux RSS (exemple: _rss.php)
  2. Vous devez éditer votre flux RSS chez FeedBurner pour qu'il pointe sur http://votre.url.org/_rss.php.
  3. Nous allons créer un fichier rss.php à la place du précédent. C'est ce fichier qui va rediriger vers FeedBurner les abonnés.
  4. Nous allons y placer du code PHP (voir plus bas)
  5. C'est tout !

Voici le code à placer dans le fichier rss.php, une fois celui-ci sauvegardé sous un autre nom (ici, _rss.php)

<?php
if(empty($_GET['type'])) header("Location: http://feeds.feedburner.com/GuilouBlog.php");
else {
  $url = str_replace("rss.php", "_rss.php", $_SERVER['REQUEST_URI']);
  header("Location: ".$url);
}
?>

Concrêtement, nous redirigeons simplement les requêtes qui ne contenaient pas de "type" (c'est le cas pour le flux RSS des articles) vers le flux généré par FeedBurner (qui je le rappelle, s'appuie sur _rss.php, qui est l'ancien fichier de dotclear qui générait le RSS). Les utilisateurs qui suivaient avant votre flux RSS sont donc redirigé automatiquement et sans leur avis vers FeedBurner !

Les autres requêtes ne sont pas filtrées et retournent vers le flux RSS originel. Si vous souhaitez suivre également avec FeedBurner les abonnements au flux RSS des commentaires par exemple, il faudrait modifier le fichier comme suit :

<?php
if(empty($_GET['type'])) header("Location: http://feeds.feedburner.com/GuilouBlog.php");
else if($_GET['type'] == "co") header("Location: http://feeds.feedburner.com/GuilouBlogComments.php");
else {
  $url = str_replace("rss.php", "_rss.php", $_SERVER['REQUEST_URI']);
  header("Location: ".$url);
}
?>

Pour tester, il suffit de vous abonner à votre propre flux : c'est devenu celui de FeedBurner ! Notez que si vous venez juste d'ouvrir un compte chez eux, il faut du temps avant d'avoir un résultat... (chez moi, plus d'une journée !). Cette méthode est transposable pour les flux Atom bien évidemment :)

jeudi 28 décembre 2006

Plugins Dotclear

J'ai été agréablement surpris de voir la simplicité d'installation de plugins pour Dotclear...

Qu'est-ce qu'un plugin ??

Il s'agit en fait d'une extension permettant d'améliorer l'application de base...
Cela ne veut pas dire que Dotclear est pauvre de base, mais cela signifie que l'on peut enrichir son site avec des fonctions appropriées à l'utilisation que l'on souhaite en faire...

Ayant bidouillé la structure de Dotclear pour l'adapter au thème graphique actuel, je pensais que l'installation de plugins se faisait à la bourrin, c'est-à-dire en uploadant le dossier contenant l'extension sur le serveur, en changeant quelques lignes de code dans deux-trois fichiers et en installant dans le pire des cas une table dans la base de données ...

Mais non ! Rien ou presque de tout ça !

En effet, même s'il on peut passer par cette méthode, il y a un système bien plus simple : l'installateur automatique.

Il s'agit d'un fichier pkg.gz qu'il suffit d'indiquer par son adresse au module de gestion des plugins integré de Dotclear. Le plugin est généralement installé directement ! Sinon, il arrive qu'il faille modifier deux-trois lignes de code, mais dans ce cas-là il existe également une extension permettant de modifier/créer/supprimer les fichiers de Dotclear. En gros, on peut oublier le client FTP !

Liste de plugins

Voici une liste de plugins très pratique, que l'on peut retrouver sur le site de Dotclear ou sur son wiki :


Cette liste n'est pas exhaustive, il existe des centaines de plugins pour Dotcear. Il y en a pour toutes les utilisations que l'on souhaite faire de son blog. Je n'ai cité ici que 3 plugins qui m'ont l'air quasi indispensable. J'en découvrirais sûrement d'autres ultérieurement :-)