shblog est un moteur de blog écrit en bash (en sh POSIX quand je peux). C’est évidemment FOSS et publié sous licence GPL.

Concrètement, ça marche comment ? Le script génère des pages HTML statiques, ce qui rend la visulation du blog extrêmement rapide. En revanche, la génération de ces fichiers statiques est lente – en tout cas, beaucoup plus lente qu’avec un langage orienté web. Si vous publiez souvent et avez peu de visiteurs, ce n’est même pas la peine de penser utiliser shblog en production. En revanche, shblog tiendra très bien la charge avec des fréquentations énormes.

Mais pour le moment, pas la peine d’y penser, shblog n’est pas près à être utilisé. Il lui manque énormément de fonctionnalités clef, dont les commentaires, qui vont me poser un sacré problème j’en ai bien l’impression.

À côté de ça, quelques fonctionnalités intéressantes sont déjà implémentées, notamment les modules (lib/modules/) qui permettent de rajouter ou de retirer un certain nombre de blocs de vos pages avant qu’elles soient générées. Par exemple, sur le blog de démonstration, le bloc « Derniers articles » de la sidebar est un module.

Un des intérêts de shblog est la publication par darcs : il suffit d’initialiser votre répertoire data/ avec darcs initialize pour pouvoir ajouter/modifier/supprimer vos articles depuis n’importe quel ordinateur, sans compter qu’ils seront versionnés, et ça c’est bon.

N’hésitez pas à contribuer au développement en rapportant les bugs que vous découvrirez, ou en proposant des ajouts des fonctionnalités.

Je ne suis pas programmeur, mais j’adore coder ce genre de scripts. toutdoux est une bien vieille idée, que je concrétise par quelques lignes de code que je trouve intéressantes. D’ailleurs, c’est plus pour le code lui-même que j’avance : le gestionnaire de todolist n’est pas très efficace, et assez peu souple.

Je n’ai jamais vraiment fait du code à proprement parler, je n’ai donc aucune notion « théorique » concernant la programmation. J’essaie vaguement d’appliquer le principe MVC, ce qui est d’ailleurs assez peu pratique en bash, mais rend la chose beaucoup plus propre.

N’hésitez pas à poster bug reports et feature requests, c’est comme ça que j’avancerai. Même conseil pour les patches ;) .

Ne me demandez pas pourquoi je l’ai développé, mais le fait est qu’il est là, mon script de wallpaper aléatoire \o/ !
Personnellement, je l’utilise en tant que ~/.fehbg, comme ça il est appliqué à chaque démarrage d’Openbox.

Attention, ce n’est pas du pur bash : j’utilise feh et wc, parce que je suis une feignasse.

#!/bin/sh

# Où sont situés les wallpapers ?
walls_dir="/home/$USER/Images/Wallpapers"

# On donne le nombre de wallpapers
walls_nbr=`ls $walls_dir|wc -l`

# On en choisit un au hasard
selected=`ls $walls_dir|tail -$((RANDOM%$walls_nbr))|head -n 1`

# On l'applique grâce à feh
feh --bg-scale $walls_dir/$selected

Merci à gyo, tuxce et acieroid du channel #archlinux-fr pour leurs conseils ;) .