Un générateur de site statique. catium était le nom qu’aurait choisi Marguerite Perey pour nommer l’élément chimique francium qu’elle venait de découvrir si Irène Joliot-Curie ne l’en avait pas dissuadé parce que ça ressemblait trop à “chat” en anglais1. Un jeu de mot autour du logiciel cat ou de katzele n’est sûrement pas loin.

Philosophie

catium est un logiciel ayant pour ambition :

Afin de satisfaire ces propriétés la version canonique de catium offre très peu de fonctionnalités. Elle propose plutôt une implémentation très simple d’un système de templating en shell POSIX depuis lequel artisanalement construire son site. Les contributeurs à l’outil disent parfois de catium qu’il est davantage un “échafaudage intellectuel” qu’un logiciel ou framework aux contours bien définis.

En ce sens la plupart des sites construit avec catium l’étendent pour y inclure de nouvelles fonctionnalités au gré de leurs besoins. Pour trouver des exemples jetez un coup d’œil à la galerie. Vous pouvez copier-coller du code que vous y trouverez ou, mieux encore, prendre contact avec la ou les personnes derrière un site qui vous plait pour échanger sur la façon dont catium pourrait vous être utile !

Se lancer

Pour générer le site par défaut de catium vous devez télécharger le code :

$ git clone git://bebou.netlib.re/catium

et construire le site :

$ make
chmod +x contents/index.sh
mkdir -p public; contents/index.sh > public/index.html
----------------------------
Première exécution de catium, merci d'aller modifier le code juste en dessous
de ce paragraphe dans le fichier "page". Cela vous permettra de choisir un ou
plusieurs transcripteurs pour votre site. Si une ou plusieurs des lignes déjà
présentes vous conviennent vous pouvez la ou les décommenter en retirant le "#"
devant. Vous pouvez ensuite supprimer ce bloc de code et relancer make :)
----------------------------
Compris ? [y/n]

Lisez bien le message. Si vous insérez y vous serez inviter à faire les modifications sinon vous serez invité·e à contacter katzele@framalistes.org. Quoi qu’il arrive vous verrez ensuite ces erreurs, vous pouvez les ignorer :

Bonne édition :)
#ou
Contacter katzele@framalistes.org pour des explications

make: *** [makefile:69 : public/index.html] Erreur 1
make: *** Suppression du fichier « public/index.html »

Ouvrez le script page et, comme indiqué, supprimez le code entre :

#################
# SUPPRIMEZ DE LA

et

# A DE LA
#########

puis juste en dessous choisissez (ou écrivez) l’une des fonctions show en fonction de ce en quoi vous voulez écrire le site. Par exemple, si vous voulez écrire les pages en markdown vous pouvez décommenter la ligne show() lowdown "$tmpdir/$1". Il vous faudra évidemment avoir installé lowdown pour que tout fonctionne.

Il vous reste à relancer la construction du site :

$ make
chmod +x contents/index.sh
contents/index.sh > public/index.html
cp contents/favicon.png public/favicon.png
cp contents/style.css public/style.css

Le résultat se trouvera dans le dossier public ! :)

Galerie

screenshot de http://katzele.netlib.re Le site du collectif Katzele
Télécharger le code : git clone git://katzele.netlib.re/katzele.netlib.re
Voir le code :

Premier site construit et publié avec catium, il intègre une version rudimentaire des boucles pour l’affichage des articles. Si vous voulez voir comment le générateur a commencé c’est par ici !


screenshot de http://semis.bebou.netlib.re Le site d’Elsa Van Kote
Télécharger le code :
Voir le code :

Structure de blog assez classique. Site plutôt simple pour prendre en main catium.


screenshot de http://arthur.bebou.netlib.re Le site d’Arthur Pons
Télécharger le code : git clone git://bebou.netlib.re/arthur.bebou
Voir le code : http://git.bebou.netlib.re/arthur.bebou/log.html

A pour particularité de publier chaque page sous plusieurs formats (html,sh,roff,term,md…). Les liens dans le markdown sont réécrit de manière à pouvoir “naviguer” en markdown. La majeur partie des modifications apportées pour faire cela sont dans le script page.


screenshot de https://adele.help Le site d’Adele, un réseau de support à la recherche en Alsace
Télécharger le code : git clone https://gitlab.in2p3.fr/adele/site-web.git
Voir le code : https://gitlab.in2p3.fr/adele/site-web

Gestion rudimentaire du bilinguisme. Toutes les pages ont une version frnaçaise et anglaise, possibilité de passer d’une langue à l’autre. Premier site à tester l’édition du code par des personnes ayant peu d’expérience technique via l’éditeur de code web de gitlab. Test concluant. Est hébergé via la service pages de l’instance gitlab.


screenshot de http://185.155.93.110/ Le site du projet “Des traces au Brezouard” ou “Neige"
Télécharger le code : git clone https://git.unistra.fr/ohge/brezouard-web
Voir le code : https://git.unistra.fr/ohge/brezouard-web

Site relativement complexe. Composé d’une partie “vitrine” similaire au site adele.help, d’une partie entièrement générée depuis un dépôt git frère et un formulaire + cgi pour soumettre des données. Nécessite d’être installé sur un serveur avec l’autre dépôt git. Une combinaison de hooks gits et de synchros gitlab maintient le système synchronisé. Travail en cours, ni finalisé ni testé en condition réelle. Intègre une carte leaflet et des graphs gnuplot.


screenshot de https://estrades.huma-num.fr Le site de la plateforme Estrades
Télécharger le code :
Voir le code : https://git.unistra.fr/estrades

Site ayant pour particularité d’intégrer une partie blog hébergé dans un dépôt git séparé


screenshot de https://gitlab.huma-num.fr/estrades/presentations Des slides de présentation du projet estrades
Télécharger le code : git clone https://gitlab.huma-num.fr/estrades/presentations
Voir le code : https://gitlab.huma-num.fr/estrades/presentations

Petit hack de catium pour générer des slides en html. Un peu de JS pour passer d’une slide à l’autre avec les flèches. Très ingénieux.


screenshot de https://techdays.pages.unistra.fr Le site de la quinzième édition des techdays
Télécharger le code : git clone https://git.unistra.fr/techdays
Voir le code : https://git.unistra.fr/techdays

Ce site “one page” propose notamment un menu de navigation qui se met automatiquement à jour en fonction des titres h2 de la page et des formats divers dont une page de manuel à la Unix. Ce format est disponible via un paquet debian publié depuis les dépôts de l’Unistra. Pour avoir le dernier programme des techdays il suffit de apt upgrade techdays !


screenshot de https://hdb.unistra.fr Le site du projet HDB
Télécharger le code : git clone https://git.unistra.fr/hdb/hdb-site
Voir le code : https://git.unistra.fr/hdb/hdb-site

Ce site trilingue pourrait devenir la base pour un “kit” site de projet de recherche à la DNum de l’Unistra.


Documentation

Pour savoir d’où vient catium et les questions que l’on se pose sur ses frontières

Explication complète du code de catium

Guide sur l’utilisation de catium et des modifications élémentaires

Pour des exemples de sites existant utilisant catium voir la galerie.