# Appliquer le thème Alliance Boréale à une forge Forgejo hors flotte Procédure **manuelle**, pour une instance Forgejo qui n'est **pas** gérée par Set-OPS — typiquement la forge historique qui héberge ce dépôt et son wiki. > Pour une forge de la flotte (`forge-01`), ne rien faire à la main : passer > `serveur_forgejo_branding: true` et déployer le groupe `serveur_forgejo`. Le rôle copie > exactement les mêmes fichiers. ## Ce que ça couvre Forgejo n'offre **aucun réglage web** pour le CSS personnalisé : il faut déposer un fichier sur le serveur. Une fois en place, la feuille est injectée sur **toutes** les pages — dépôts, tickets, code, README et **wiki**. Le wiki n'a pas de thème distinct, il hérite du même habillage. ## Prérequis - accès **root** (ou `sudo`) sur la machine qui exécute Forgejo ; - connaître le **répertoire `custom`** de l'instance ; - une fenêtre où redémarrer le service est acceptable (quelques secondes d'indisponibilité). Trouver le répertoire `custom` : ```bash # 1. déclaré explicitement ? grep -iE '^\s*(CUSTOM_PATH|ROOT)\s*=' /etc/forgejo/app.ini # 2. ou par la variable d'environnement du service systemctl show forgejo -p Environment | tr ' ' '\n' | grep -i custom # 3. défaut usuel des paquets / installs binaires ls -d /var/lib/forgejo/custom 2>/dev/null ``` ## Les fichiers Les deux fichiers vivent déjà dans ce dépôt — **ne pas en faire de copie** : | Fichier du dépôt | Destination sur la forge | |---|---| | `roles/serveur_forgejo/files/custom/public/assets/css/alliance.css` | `/public/assets/css/alliance.css` | | `roles/serveur_forgejo/files/custom/templates/custom/header.tmpl` | `/templates/custom/header.tmpl` | Optionnels, si l'on veut aussi le logo et la favicon étoile : `files/custom/public/assets/img/{logo,favicon}.svg` → `/public/assets/img/`. ## Pose Depuis une copie locale du dépôt, en remplaçant `FORGE` et `CUSTOM` : ```bash FORGE=root@forge.exemple.ca # hôte de la forge CUSTOM=/var/lib/forgejo/custom # répertoire custom trouvé plus haut SRC=roles/serveur_forgejo/files/custom scp "$SRC/public/assets/css/alliance.css" "$FORGE:/tmp/alliance.css" ``` Puis **sur la forge** : ```bash CUSTOM=/var/lib/forgejo/custom OWNER=git:git # utilisateur du service (souvent git ou forgejo) install -D -o $OWNER -m 0644 /tmp/alliance.css "$CUSTOM/public/assets/css/alliance.css" ``` ### Injecter la feuille — l'étape à ne pas rater `header.tmpl` est injecté dans le `` de **toutes** les pages. > ⚠️ **Si le fichier existe déjà, ne pas l'écraser** : une autre personnalisation y vit > peut-être. Y **ajouter** la ligne. ```bash CUSTOM=/var/lib/forgejo/custom LINK='' TPL="$CUSTOM/templates/custom/header.tmpl" if [ -f "$TPL" ]; then grep -qF 'alliance.css' "$TPL" || printf '%s\n' "$LINK" >> "$TPL" else install -D -o git:git -m 0644 /dev/null "$TPL" printf '%s\n' "$LINK" > "$TPL" fi systemctl restart forgejo ``` ## Vérifier ```bash # la feuille est servie (200, type CSS) curl -sI https://forge.exemple.ca/assets/css/alliance.css | head -3 # elle est bien référencée dans le d'une page de wiki curl -s https://forge.exemple.ca///wiki | grep -o 'alliance\.css[^"]*' ``` À l'œil, sur une page de wiki en thème sombre : fond bleu nuit avec une nappe magenta à droite et verte en bas à gauche, filet d'aurore sous les titres, code en ligne en teal. Le ciel nocturne ne s'applique **qu'aux thèmes sombres** (`forgejo-dark`, `forgejo-auto`). En thème clair, seules les couleurs d'accent changent — c'est voulu. ## Revenir en arrière ```bash CUSTOM=/var/lib/forgejo/custom sed -i '/alliance\.css/d' "$CUSTOM/templates/custom/header.tmpl" rm -f "$CUSTOM/public/assets/css/alliance.css" systemctl restart forgejo ``` ## Après une mise à jour de Forgejo `alliance.css` est en deux sections (cf. `roles/serveur_forgejo/README.md`) : - **§1 Variables** — surcharge de variables de couleur officielles. Ne casse pas. - **§2 Décor** — s'appuie sur des classes internes (`.markup h1`, `.markup blockquote`…). **À revérifier après chaque montée de version majeure.** Si quelque chose déraille, supprimer §2 ramène au thème sobre sans rien perdre d'essentiel.