Forgejo - Port

Le service https://port.numenaute.org est une forge logicielle1).

Elle permet de travailler à plusieurs sur du code, de le partager au public, d'accepter des tickets, etc.

Le logiciel est basé sur Forgejo ; vous trouverez la documentation officielle (en anglais) sur https://forgejo.org/.

Nous avons précédement eu une forge basée sur Gitlab, dont les dépôts ont été transférés sur Forgejo (migration finie le 19/06/2024). Si certains liens sont cassés ou si vous ne retrouvez pas un dépôt, signalez-le nous.

Conditions d'utilisation du service

Le service est ouvert sur simple demande. À cause des robots spammeurs, nous ne pouvons pas laisser les gens s'inscrire simplement, mais il suffit de nous contacter pour qu'on vous ouvre un compte. Quand on arrivera à gérer ces spammeurs automatiquement, nous laissons les inscriptions librement ouvertes.

Avec un compte, vous pourrez créer des tickets et échanger sur ces derniers, ainsi que rejoindre la gestion de certains projets hébergés dans la forge.

Pour pouvoir avoir vos propres dépôts, il faut que nous sachions ce que vous voulez faire :

  • Projet sous licence libre et public, pas de souci, allez-y.
  • Projet sous une licence non libre et/ou privé : nous apprécions que vous nous prouviez votre participation aux Communs par ailleurs, par exemple en participant à d'autres projets libres sur notre forge, ou en nous/les soutenant financièrement.
  • Projet très demandeur en ressources (grosses CI par exemple) : informez-nous en amont de vos besoins, pour que nous adaptions les machines. Nous vous demanderons aussi, très probablement, un véritable engagement en tant que partenaire.

Par défaut, si vous êtes inscrit, nous vous laissons la possibilité de créer librement 10 projets, mais il peut y avoir une modération a posteriori si nous trouvons que vous abusez de nos services. Le mieux est donc de nous avertir lorsque vous créez un projet.

Par défaut, nous vous réservons 5Go de stockage. Si vous avez besoin de plus sur la Forge, demandez-nous.

Pour les utilisateurs de base

Explication pour les noobs, à compléter, afin que même quelqu'un qui n'est pas doué avec l'informatique puisse s'approprier le service. Si vous avez des liens vers des tutos vidéos, ajoutez-les !

Pour les utilisateurs avancés

Transférer un dépôt depuis Gitlab

Aller sur le menu “+” (en haut à droite à côté de votre avatar), sélectionner “Nouvelle migration”, choisissez Gitlab.

Ici une particularité sur l'URL à renseigner : il ne s'agit pas de l'url pour gérer votre projet (du type https://gitlab.com/user/nom_projet) mais de l'url de l'ID du projet. Ce dernier se trouve sous le titre de votre dépôt, c'est intitulé “Identifiant de projet”, et l'url à renseigner est de la forme https://gitlab.com/ID (par exemple https://port.numenaute.org/175

Pour le reste, ça devrait aller tout seul, Forgejo pointe la doc de Gitlab sur comment se créer un jeton d'accès, y'a des options de dev qui devraient vous parler… Et voilà, ça devrait être migré !

Pour les administrateurs de Numenaute

Installation

Notes un peu en vrac, ça suffira pour retrouver le fil conducteur.

Dépendances :

sudo apt install git git-lfs gpg

Ajout de l'user:

sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' \
--group --disabled-password --home /home/git  git

Puis installer le binaire en suivant ce tutoriel : https://forgejo.org/download/.

sudo adduser --system --shell /bin/bash --gecos 'Git Version Control' \
--group --disabled-password --home /home/git  git

Créations des dossiers

sudo mkdir /var/lib/forgejo
sudo chown git:git /var/lib/forgejo && sudo chmod 750 /var/lib/forgejo

Dossiers custom:

sudo -u git mkdir /var/lib/forgejo/custom
sudo -u git mkdir /var/lib/forgejo/custom/public
sudo -u git mkdir /var/lib/forgejo/custom/public/assets
sudo -u git mkdir /var/lib/forgejo/custom/public/assets/img

Personnalisation

Le fichier de configuration est /etc/forgejo/app.ini. Une fois modifié, redémarrer le service : service forgejo restart.

Thème et pages personnalisées

Documentation officielle :

Les fichiers sont à mettre dans /var/lib/forgejo/custom/ dans notre installation. Pour être pris en compte, il faut redémarrer le service : sudo service forgejo restart.

À l'intérieur de ce dossier “custom” plusieurs possibilités :

  • public : ce qui est directement accessible (genre les images, dans public/assets/img/)
  • template : ce qui sert à construire les pages

Les fichiers de template sont dans https://codeberg.org/forgejo/forgejo/src/branch/forgejo/templates/ ; mais là pour “construire” une autre homepage… bon courage. Modifier home.tmpl et ensuite le mettre dans $FORGEJO_CUSTOM/templates.

Ajout d'éléments dans le pied de page, les onglets, etc

Source : https://forgejo.org/docs/latest/developer/customization/#adding-links-and-tabs

Pour par exemple ajouter un lien vers les mentions légales, j'ai créé le fichier /var/lib/forgejo/custom/templates/custom/extra_links_footer.tmpl dans lequel j'ai ajouté une balise html :

<a class="item" href="https://numenaute.org/asso:mentions_legales">Mentions Légales</a>

Pour trouver les bonnes balises html, le plus simple est sans doute d'inspecter la page. On peut aussi regarder les pages initiales, par exemple ici pour la partie header.

CSS et thèmes

Les thèmes officiels de Forgejo sont ici. En théorie si on crée un fichier numenaute.css dans /var/lib/forgejo/custom/web_src/css/themes, il y a une chance que ça apparaisse (mais peut-être qu'il faudra le déclarer ailleurs). Mais attention, en vrai y'a des appels d'appels de fichiers et… pfiou. Une inspection dans les pages web, on note la couleur, un coup de grep dans la partie css et ça va le faire ;)

Il faut par contre ensuite déclarer la liste des thèmes possibles dans /etc/forgejo/app.ini et dire quel thème on veut par défaut. Je n'ai pas fait dans la dentelle, j'ai permis de sélectionner les divers thèmes liés à l'accessibilité, et les trois modifs de numenaute (juste les couleurs, donc, dans /var/lib/forgejo/custom/web_src/css/themestheme-numenaute-light.css etc).

/etc/forgejo/app.ini
[ui]
DEFAULT_THEME: numenaute-auto
THEMES = forgejo-auto,forgejo-auto-deuteranopia-protanopia,forgejo-auto-tritanopia,forgejo-dark,forgejo-dark-deuteranopia-protanopia,forgejo-dark-tritanopia,forgejo-light,forgejo-light-deuteranopia-protanopia,forgejo-light-tritanopia,gitea-auto,gitea-dark,gitea-light,numenaute-auto,numenaute-dark,numenaute-light
Textes et traduction

Faudra bidouiller https://codeberg.org/forgejo/forgejo/src/branch/forgejo/options/locale/locale_fr-FR.ini ; y'a une section [startpage]. Et en toute logique mettre les ajouts dans /var/lib/forgejo/custom/options/locale/locale_fr-FR.ini.

Souci : il n'est pas possible de seulement ajouter ses modifs. Il faut copier tout le fichier et ajouter des modifications dedans…

Donc pour le moment j'ai changé la page “home” en mettant directement le français, et seulement ça. C'est pas extra mais ça évite de pourrir toutes les traductions.

Modification de la page d'accueil

J'ai créé /var/lib/forgejo/custom/templates/home.tmpl qui reprends en gros l'équivalent par défaut.

Upgrade

Vérifier s'il y a les fichiers de configuration à changer avant tout.

Upgrade simple

wget https://codeberg.org/forgejo/forgejo/releases/download/v1.*.*-*/forgejo-1*.*-*-linux-amd64
chmod +x forgejo-1.*.*-*-linux-amd64
sudo service forgejo stop
sudo cp forgejo-1.*.*-*-linux-amd64 /usr/local/bin/forgejo
sudo chmod 755 /usr/local/bin/forgejo
sudo service forgejo start

Upgrade complexe

1)
L'adresse https://git.numenaute.org redirige automatiquement sur ce service.
CC Attribution-Share Alike 4.0 International Driven by DokuWiki
doc/forgejo.txt · Dernière modification : 2024/06/19 20:47 de Zatalyz