Ceci est une ancienne révision du document !
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 :
- https://forgejo.org/docs/latest/admin/customization/ (partie sysadmin, donc a priori plutôt mon truc ?)
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, danspublic/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
page à check : https://forgejo.org/docs/latest/admin/upgrade/