PluXml, le moteur de blogue poids plume
Présentation
Un moteur de blogue libre...
PluXml est un projet français fondé en 2006 et placé sous la Licence Publique Générale GNU. Il est actuellement piloté par Stéphane Ferrari (interview). Il s'agit d'un moteur de blogue libre, à la fois sobre et efficace. C'est celui que j'utilise.
Pour faire une comparaison, je retrouve en lui ce que j'aime dans GNOME : pas de fioritures, l'efficacité avant tout. Priorité au contenu !
...sans base de données
PluXml a la particularité de fonctionner sans base de données. Techniquement, il s'agit d'un script PHP qui stocke toutes les données dans des fichiers XML. De ce choix découlent un certain nombre d'avantages et d'inconvénients.
Au titre des premiers :
- vos données sont facilement transportables. Vous changez d'hébergement ? Copiez/collez simplement l'intégralité de votre dossier ailleurs,
- pas de complexité inutile,
- une grande vitesse sur des blogues de taille raisonnable.
Au titre des seconds :
- les performances peuvent se dégrader si le blogue s'étoffe beaucoup.
Installation
Récupérez l'archive sur le site officiel (287 Ko seulement pour l'actuelle version 5.1.6... La version 4.3 avec laquelle j'ai débuté était encore plus légère : 151 Ko !), décompressez son contenu et envoyez le tout sur votre site. Lancez le fichier install.php, entrez le nom du rédacteur et son mot de passe puis cliquez sur le bouton Installer. C'est fait.
Vous pouvez ensuite compléter l'installation en installant des plugins parmi ceux proposés.
Administration
Je ne m'attarderai pas beaucoup sur cette partie.
Sachez simplement que PluXml est multi-utilisateurs et qu'il gère les pages statiques, accessibles à tout moment (vous pourrez par exemple créer des pages « A propos » ou « Mentions légales »).
S'agissant des billets eux-mêmes, vous pourrez définir un chapô, les classer par catégorie et, depuis récemment, leur affecter des tags (à noter que si, chaque catégorie peut disposer de son propre flux de syndication, ce n'est pas le cas des tags pour l'instant). En assignant une date future à un billet, celui-ci sera automatiquement publié le jour et l'heure dits.
A noter que j'ai dit de l'outil qu'il était sobre mais pas qu'il était simple : le module de rédaction n'est pas WYSIWYG par défaut, le formatage du texte se faisant en XHTML. Ainsi l'appui sur la touche « Entrée » ne se traduira pas dans l'article par un retour à la ligne et il vous faudra pour cela recourir à la balise ad hoc. Heureusement vous n'avez pas besoin de les connaître par cœur car une barre d'outils est là pour vous aider. Cette façon de faire, à défaut d'être intuitive, est très instructive puisque vous êtes invités à mettre les mains dans le cambouis et à connaître les rudiments du langage du Web. Au final cela vous donne le maximum de contrôle et la possibilité d'avoir un code très propre. Mais, rassurez-vous, un éditeur convivial est aussi à votre disposition sous forme de plugin si vous préférez vous concentrer sur le contenu !
Vous pouvez choisir le type de modération des commentaires : a priori ou a posteriori. Si vous optez pour la modération a priori des commentaires, un flux de syndication privé des commentaires hors-ligne vous permet d'être averti d'un nouveau commentaire (administration => commentaires => Lien "Commentaires hors-ligne"). Les commentaires apparaissent dans ce flux jusqu'à être validés.
Enfin le thème peut être changé. Vous trouverez sur le site officiel une sélection de thèmes réalisés par la communauté avec la possibilité très pratique de les faire tourner à titre de démo. A noter qu'un thème pour les appareils mobiles (PDA, SmartPhones...) est fourni par défaut et que PluXml l'applique quand c'est nécessaire (fonction de détection automatique du navigateur). Ceux qui s'y connaissent un minimum (pour les autres – dont je fais partie – le forum leur sera d'une aide précieuse) pourront facilement adapter un thème existant.
Utilisation
Du côté visiteur, sont présents par défaut :
- un captcha accessible aux non-voyants,
- la liste des catégories et des tags,
- la liste des derniers articles,
- la liste des derniers commentaires,
- les flux de syndication : l'un pour s'abonner aux articles, l'autre aux commentaires.
Par défaut il manque un module de recherche. Mais vous pourrez facilement en créer un, par exemple dans une page statique dédiée (n'hésitez pas à consulter la page Trucs et astuces du wiki pour customiser votre blogue).
Pensez aux URL relatives !
Dès la rédaction
J'ai commencé ce billet en énonçant une caractéristique importante de PluXml : son fonctionnement sans base de données, qui le rend transportable sans effort...
...À condition toutefois que vous pensiez bien à utiliser les URL relatives lorsque vous établissez des hyperliens vers d’autres pages de votre blogue. Cela consiste simplement à tronquer le début de l'URL (à savoir le protocole et le nom de domaine) pour ne garder que la partie de l'adresse générée par le moteur de blogue lui-même (par exemple, sur cette page, on conservera seulement : « /index.php?article9/pluxml-le-moteur-de-blogue-poids-plume » ).
Ainsi l'adresse complète sera générée dynamiquement par PluXml et un déménagement de votre blogue (se traduisant par un changement de nom de domaine) sera sans incidence sur vos liens.
Après coup
Il arrive que, emporté par mon élan, j'oublie de tronquer les URL pointant vers les autres pages de mon blogue.
Une simple commande UNIX vous permettra d'obtenir la liste des fichiers de votre blogue comportant votre nom de domaine actuel :
grep -lri termes_recherchés chemin_du_répertoire
- -l affiche la liste des fichiers dans lesquels la recherche a été trouvée,
- -r spécifie l’option de récursivité ain de parcourir les sous répertoires,
- -i pour insensible à la casse.
Vous pourrez ainsi purger les fichiers recensés jusqu'à obtenir la réponse suivante : « Aucun fichier ou dossier de ce type ».
Pour plus d'informations sur l'utilisation de grep
, voir cette page de LinuxPedia.
Voilà, vous êtes parés :-)
Je termine ce billet avec un lien à garder sous le coude, vers le billet 5 règles pour sécuriser PluXml, publié sur le bogue officiel.