Hi! My name is Cédric Bozzi, I make websites and iOS apps, and this is my blog about technology (mostly a Twitter archive, really).

19 July 2002

Quelques notes et améliorations sur b2

Puisque ça semble intéresser pas mal de monde, et que ça va vite faire partie des frequently asked questions qu’on me aske, voilà un petit article qui résume deux-trois points importants par rapport à b2.

Note : je n’utilise pas b2 sur mon propre site (ici, tout est fait maison), mais j’ai aidé plusieurs personnes à l’installer et le faire marcher, en particulier sur Free.

Comment faire marcher b2 sous Free ?

<update 29/09/02>Il semblerait que les dernières version de b2 ne soient plus incompatibles avec Free. Si b2 fonctionne tel que vous l’avez installé, ne tenez pas compte du paragraphe suivant.</update>

C’est simple. Je ne sais pas s’il y a un moyen plus orthodoxe, je ne sais pas la raison profonde pour laquelle ça ne marche pas d’origine, mais je sais comment le faire marcher : ouvrez les fichiers xmlrpc.inc et xmlrpcs.inc du répertoire b2-include, et enlevez absolument tout ce qu’il y a dedans, ne laissez que les fichiers vides (bien sûr, il est recommandé de faire des copies de sauvegarde, d’abord).

Et hop, voilà, ça marche. Il est probable que ça invalide certaines fonctions, en particulier la génération des feeds RSS mais, au moins, le blog tourne sans problème.

Comment générer une page d’accueil en HTML à partir du blog ?

Si vous installez b2 sous Free, vous allez vite criser en voyant la lenteur d’affichage de la page principale de votre blog. Même si vous l’installez ailleurs, selon les performances du serveur MySQL, vous pouvez avoir le même problème.

Voici donc une solution simple : chargez le fichier garoo-b2.zip et installez son contenu dans le répertoire b2-include.

Ensuite, modifiez votre template (probablement index.php).

Au tout-tout-début du fichier, avant tout le reste, vous ajoutez cette ligne :
<?php include(“b2-include/garoo.php”); garoo compile begin(); ?>

A la toute fin du fichier, après tout le reste, vous ajoutez celle-ci :
<?php garoo compile end(’index.html’); ?>

Et, enfin, au milieu du template, entre le début de la boucle d’affichage d’un article (un while) et la fin (une accolade fermante), vous ajoutez ça (n’importe où, ce n’est pas important, ça n’affiche rien) :
<?php garoo compile ok(); ?>

Et voilà.

Ensuite, il vous suffit d’accéder à l’URL index.php?garoo compile=1 après avoir posté un nouvel article, et le fichier index.html est mis à jour automatiquement.

Note 1 : Si vous voulez créer un fichier d’un autre nom que index.html, il suffit de modifier la ligne du garoo compile end. Si vous êtes chez Free, vous pouvez avoir le blog b2 dans index.php et la version HTML dans index.html : les visiteurs tomberont automatiquement sur la version précompilée (celle qui s’affiche vite, donc) et accéderont aux scripts pour poster les commentaires ou autres.

Si vous êtes chez un autre hébergeur, il est possible que le .php passe avant, donc qu’il faille changer, soit le nom du fichier HTML, soit le nom du fichier PHP (auquel cas vous ne devez pas oublier de modifier la ligne $blogfilename du fichier b2config.php).

Note 2 : Le fichier HTML sera remis à jour manuellement à chaque fois que vous… le remettrez à jour. Ce qui implique donc que l’affichage du nombre de commentaires de chaque post ne sera pas à jour à chaque fois que quelqu’un postera un message.

Vous avez donc intérêt à remplacer le code :
<?php comments number(“no comments”, “1 comment”, “% comments”) ?>
par une mention, en dur, du style commenter, qui ne précise pas le nombre de messages.

Note finale : tout ceci a été testé sur Free et sur mon serveur Apache+PHP4 personnel. Il est tout à fait possible que ça ne fonctionne pas ailleurs, selon la configuration du serveur.

Archives

2001 01 02 03 04 05 06 07 08 09 10 11 12

2002 01 02 03 04 05 06 07 08 09 10 11 12

2003 01 02 03 04 05 06 07 08 09 10 11 12

2004 01 02 03 04 05 06 07 08 09 10 11 12

2005 01 02 03 04 05 06 07 08 09 10 11 12

2006 01 02 03 04 05 06 07 08 09 10 11 12

2007 01 02 03 04 05 06 07 08 09 10 11 12

2008 01 02 03 04 05 06 07 08 09 10 11 12

2009 01 02 03 04 05 06 07 08 09 10 11 12

2010 01 02 03 04 05 06 07 08 09 10 11 12

2011 01 02 03 04 05 06 07 08 09 10 11 12

2012 01 02 03 04 05 06 07 08 09 10 11 12

2013 01 02 03 04 05 06 07 08 09 10 11 12

2014 01 02 03 04 05 06 07 08 09 10 11 12

2015 01 02 03 04 05 06 07 08 09 10 11 12

2016 01 02 03 04 05 06 07 08 09 10 11 12

2017 01 02 03 04 05 06 07 08 09 10 11 12

2018 01 02 03 04 05 06 07 08 09 10 11 12

2019 01 02 03 04 05 06 07 08 09 10 11 12