Installer un forum à la Hacker News en français
Dans les années 2000, on allait sur http://slashdot.org. Aujourd'hui, quand on veut des nouvelles pour les hackers, on va sur Hacker News. "Hacker" au sens général de "quelqu'un qui se désigne lui-même comme "hacker"…
Un forum old school… mais pas trop
Le site est un peu spartiate, mais il marche. Vous pouvez poster des liens, les commenter, voter sur les liens, voter sur les commentaires, cumuler du karma, vous abonner au fil RSS des nouvelles, poster des questions et créer des sondages. Il y a de quoi faire.
C'est minimaliste et lisible – destiné à ceux qui n'ont pas besoin de paillettes.
Le logiciel qui fait tourner Hacker News a été écrit par Paul Graham, gourou du web et du Lisp s'il en est. Ce logiciel est écrit en Arc. Arc était destiné à populariser le Lisp, mais c'est plutôt raté : heureusement, Clojure a pris la relève avec succès.
Donc si vous n'aimez pas phpbb, que vous n'avez pas envie de vous plonger dans l'installation et la gestion d'une instance Discourse (le plus "hype" des moteurs de forum du moment), si vous avez besoin d'un truc qui marche rapidement et sans base de données, alors suivez-moi…
Étape 0 : prérequis
Vous avez un serveur
Vous avez un serveur GNU/Linux quelque part avec un accès root
.
Vous avez configuré Apache ou Nginx
Vous avez configuré Apache
ou Nginx
pour qu'un sous-domaine redirige vers localhost:8080
.
Voici ma configuration dans /etc/nginx/site-availables/default
:
server {
listen 80;
server_name forum.jecode.org;
location / {
proxy_pass http://localhost:8080;
}
}
Étape 1 : cloner Arc
Connectez-vous à votre serveur sous l'utilisateur de votre choix.
Clonez Arc en version française :
~$ git clone https://github.com/bzg/anarki.git
Allez dans le répertoire Anarki
et placez-vous sur la branche fr
:
~$ cd anarki ~$ git checkout fr
Étape 2 : configurer votre forum
Ouvrez le fichier lib/news.arc
et éditez les informations sur votre forum :
(= this-site* "My Forum"
site-url* "http://news.yourdomain.com/"
parent-url* "http://www.yourdomain.com"
favicon-url* ""
site-desc* "What this site is about." ; for rss feed
site-color* (color 180 180 180)
border-color* (color 180 180 180)
prefer-url* t)
Si vous n'utilisez pas le port 8080
, il faut changer la valeur un
peu plus bas dans le code :
(def nsv ((o port 8080))
(map ensure-dir (list arcdir* newsdir* storydir* votedir* profdir*))
(unless stories* (load-items))
(if (and initload-users* (empty profs*)) (load-users))
(asv port))
Vous pouvez aussi regarder les éléments de style CSS dans cette page.
Toujours depuis le répertoire anarky
, indiquez quel est le nom d'utilisateur de l'administrateur:
mkdir arc
echo "bzg" > arc/admins
Important: Assurez-vous au passage que l'utilisateur sous lequel votre serveur web tourne peut écrire dans ce répertoire arc/
, c'est là que seront stockées toutes les informations (les liens postés, les utilisateurs, etc.)
Étape 3 : Lancez Arc !
Depuis le répertoire anarki
:
racket -f as.scm
Cette command vous ouvre une interface pour interagir avec Arc.
Il suffit ensuite de charger le module "news.arc", puis de lancer le forum:
arc> (load "lib/news.arc") arc> (nsv)
Rendez-vous maintenant sur http://localhost:8080 (ou sur l'adresse de votre sous-domaine)… et voilà!
Étape 3 bis : Lancer Arc avec screen
Sortez de l'interpréteur de commandes Arc avec C-c
et faites:
screen racket -f as.scm
Dans cette session screen
, tapez C-a d
pour « détacher » la session et retrouver le prompt.
Testez votre forum… et re-voilà !
Dites-moi si vous y arrivez. Je sais que vous n'arriverez pas à convaincre tout le monde d'utiliser un forum qui « a l'air » un peu rébarbatif… mais c'est si simple que ce serait dommage de s'en passer.
Ah, et si vous avez de bonnes feuilles de style, merci de partager !
Pour commenter cette entrée de blog, envoyez un mail à ~bzg/public-inbox.
Suivez-moi sur Fosstodon et inscrivez-vous à mon infolettre.