Gitnet est la forge logicielle que je gère depuis quelques années et qui héberge la totalité de mes projets. Elle s’appuie sur l’excellentissime Gitea, un logiciel libre pour faire son propre Github/Gitlab sans dépenser des fortunes en ressources matérielles.
Gitea est un logiciel très complet mais une des fonctionnalités qui peut manquer à certain⋅e⋅s est la publication de pages web statiques via la forge. Codeberg a développé Codeberg/pages-server, un projet écrit en GO qui permet de réaliser cette fonctionnalité. Il lance un serveur web et sert les fichiers qui sont récupérés via l’API. Après l’avoir forké pour le personnalisé, il est à présent déployé sur Gitnet Pages.
Pour commencer à publier, vous devez créer un dépot pages
dans lequel vous y déposerez vos fichiers. Le contenu sera accessible via https://votre-login.gitnet.page/{fichier}
.
Dans le cas où vous souhaitez intégrer des pages à un dépot existant, ajoutez une branche pages
puis accédez à votre contenu via https://votre-login.gitnet.page/le-depot/{fichier}
:
dev@project $ git switch --orphan pages
# Si vous avez des fichiers ignorés par git qui existent :
dev@project $ git rm --cached -r .
Et si vous désirez accéder à du contenu qui se trouve sur une autre branche, il faudra la spécifier de cette façon : https://votre-login.gitnet.page/le-depot/@la-branche/{fichier}
.
Vous pouvez utiliser un générateur de site static mais il faudra ajouter un CI/CD. J’ai réalisé des tests avec Hugo + Woordpecker et ça marche bien ! On build la branche ou se trouve les sources, on copie le résultat dans la branche pages
et on pousse le code sur Gitnet. Voici la configuration utilisée.
Si toutefois le service venait à être pas mal utilisé, alors j’intégrerai des fonctionnalités plus avancées comme le nom de domaine personnalité. Tel qu’il est déployé actuellement, ce n’est pas possible.
Source: https://www.deblan.io/post/624/gitnet-heberge-vos-pages-statiques