====== Forgejo - Port ====== Le service https://port.numenaute.org est une forge logicielle((L'adresse https://git.numenaute.org redirige automatiquement sur ce service.)). 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/developer/customization/ (partie dev) * 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, 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 : Mentions Légales Pour trouver les bonnes balises html, le plus simple est sans doute d'inspecter la page. On peut aussi regarder les pages initiales, [[https://codeberg.org/forgejo/forgejo/src/branch/forgejo/templates/repo/header.tmpl|par exemple ici]] pour la partie header. == CSS et thèmes == Les thèmes officiels de Forgejo sont [[https://codeberg.org/forgejo/forgejo/src/branch/forgejo/web_src/css/themes|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). [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 [[https://codeberg.org/forgejo/forgejo/src/branch/forgejo/templates/home.tmpl|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/ {{tag>Brouillon Documentation}}