8 Révisions

Auteur SHA1 Message Date
jimmyGALLAND 321e65ef3b Update .github/workflows/release.yml 2026-06-03 07:46:07 +00:00
jimmyGALLAND 308c56c64c Update README.md
Release / release (push) Successful in 19s
2026-06-03 07:44:29 +00:00
jimmyGALLAND b812efe9a4 Update README.md
Release / release (push) Successful in 24s
2026-06-03 07:42:39 +00:00
jimmyGALLAND 8dfb19b2bc Update README.md
Release / release (push) Successful in 21s
2026-06-02 21:01:37 +00:00
jimmyGALLAND acbc30d79f Update README.md
Release / release (push) Successful in 33s
2026-06-02 20:34:01 +00:00
jimmyGALLAND 9ae5a92b07 Update README.md
Release / release (push) Successful in 1m34s
2026-06-02 20:06:59 +00:00
jimmyGALLAND ffc217bf33 Update src/styles-skynet.css
Release / release (push) Has been cancelled
Remove sky-threat display:none with media max-width: 480px
add   body min-width: 350px;
2026-05-21 20:17:51 +00:00
jimmyGALLAND b174c7f1f5 Actualiser README.md
Release / release (push) Has been cancelled
2026-05-17 16:04:31 +00:00
3 fichiers modifiés avec 41 ajouts et 17 suppressions
+2
Voir le fichier
@@ -6,6 +6,8 @@ on:
push: push:
branches: branches:
- main - main
paths:
- 'src/**'
workflow_dispatch: workflow_dispatch:
jobs: jobs:
+37 -14
Voir le fichier
@@ -5,7 +5,7 @@
Aidé par Claude AI Aidé par Claude AI
![Version](https://img.shields.io/badge/Roundcube-1.7.x-blue) ![Version](https://img.shields.io/badge/Roundcube-1.7.1-blue)
![License](https://img.shields.io/badge/license-MIT-green) ![License](https://img.shields.io/badge/license-MIT-green)
![Skin base](https://img.shields.io/badge/base-elastic-informational) ![Skin base](https://img.shields.io/badge/base-elastic-informational)
@@ -21,14 +21,11 @@ Aidé par Claude AI
--- ---
## Prérequis ## Testé avec Roundcube **1.6.0** jusqu'à **1.7.1**
- Testé avec Roundcube **1.6.x** **1.7.x**
- Un autre skin **(ex: elastic)** présent dans `/var/www/html/skins/elastic/` (utilisé comme base)
--- ---
## Démonstration vidéo ## Prévisualisation
<p align="center"> <p align="center">
<video <video
@@ -56,7 +53,7 @@ $config['skin'] = 'skynet';
--- ---
### 2. Récuperer le skin ### 2. Récuperer le skin elastic comme base
#### 2.1 Depuis un container roundcubemail #### 2.1 Depuis un container roundcubemail
@@ -66,6 +63,12 @@ docker run --name tmp-roundcube -d roundcube/roundcubemail:latest && \
mkdir -p skins && \ mkdir -p skins && \
docker cp tmp-roundcube:/var/www/html/skins/elastic skins && \ docker cp tmp-roundcube:/var/www/html/skins/elastic skins && \
# Attendre que le fichier soit disponible (max 60s)
echo "Waiting for Roundcube to be ready..."
timeout 60 bash -c 'until docker exec tmp-roundcube test -f /var/www/html/program/include/iniset.php 2>/dev/null; do sleep 1; done' && \
RC_VERSION=$(docker exec tmp-roundcube sed -n "s/define('RCMAIL_VERSION', '\([^']*\)');/\1/p" /var/www/html/program/include/iniset.php) && \
docker exec tmp-roundcube \ docker exec tmp-roundcube \
find /var/www/html/plugins -type d -path "*/skins/elastic" | find /var/www/html/plugins -type d -path "*/skins/elastic" |
@@ -87,26 +90,46 @@ docker rm -f tmp-roundcube
ou ou
#### 2.1 Directement depuis les sources de roundcubemail (exemple pour va version avec la version 1.7.0) #### 2.1 Directement depuis les sources de roundcubemail (exemple pour la version 1.7.1)
```bash ```bash
RC_VERSION=1.7.1
curl --location https://github.com/roundcube/roundcubemail/releases/download/1.7.0/roundcubemail-1.7.0-complete.tar.gz \ curl --location https://github.com/roundcube/roundcubemail/releases/download/${RC_VERSION}/roundcubemail-${RC_VERSION}-complete.tar.gz \
--output roundcubemail.tar.gz && \ --output roundcubemail.tar.gz && \
tar -zxvf roundcubemail.tar.gz --wildcards --strip-components=1 -C . \ tar -zxvf roundcubemail.tar.gz --wildcards --strip-components=1 -C . \
roundcubemail-1.7.0/skins/elastic roundcubemail-1.7.0/plugins/*/skins/elastic roundcubemail-${RC_VERSION}/skins/elastic roundcubemail-${RC_VERSION}/plugins/*/skins/elastic
rm roundcubemail.tar.gz rm roundcubemail.tar.gz
``` ```
### 3. Puis télécharger la release du thême depuis le dépôt ### 3. Puis télécharger la dernière release du thême depuis le dépôt
```bash ```bash
curl https://[TOKEN]@git.celjim.fr/jimmyGALLAND/roundcube-theme-skynet/releases/download/v1/roundcube-theme-skynet-v1.zip \ # Compare semver: returns 0 if $1 >= $2
version_gte() {
[ "$(printf '%s\n' "$1" "$2" | sort -V | head -n1)" = "$2" ]
}
# Récupère l'URL du dernier asset zip via l'API Gitea
LATEST_ZIP=$(curl -s "https://git.celjim.fr/api/v1/repos/public/roundcube-theme-skynet/releases/latest" \
| grep -o '"browser_download_url":"[^"]*\.zip"' \
| head -n1 \
| cut -d'"' -f4)
curl "${LATEST_ZIP}" \
--output theme-skynet.zip && \ --output theme-skynet.zip && \
7z x theme-skynet.zip && \ 7z x theme-skynet.zip && \
mv -f login.html skins/elastic/templates && \
if version_gte "$RC_VERSION" "1.7.1"; then
sed -e 's|\.\/skins\/skynet\/styles\/styles-skynet\.min\.css|static.php/skins/skynet/styles/styles-skynet.min.css|g' \
-e 's|\.\/skins\/skynet\/script-skynet\.min\.js|static.php/skins/skynet/script-skynet.min.js|g' \
login.html > skins/elastic/templates/login.html && \
rm -f login.html
else
mv -f login.html skins/elastic/templates/login.html
fi && \
mv -f script-skynet.min.js skins/elastic/ && \ mv -f script-skynet.min.js skins/elastic/ && \
mv -f styles-skynet.min.css skins/elastic/styles && \ mv -f styles-skynet.min.css skins/elastic/styles && \
mv skins/elastic skins/skynet && \ mv skins/elastic skins/skynet && \
+2 -3
Voir le fichier
@@ -29,6 +29,7 @@ body {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
position: relative; position: relative;
min-width: 350px;
} }
/* ── LOGO CANVAS ── /* ── LOGO CANVAS ──
@@ -614,9 +615,7 @@ body {
gap: 4px; gap: 4px;
align-items: center; align-items: center;
} }
.sky-threat {
display: none;
}
.sky-ticker { .sky-ticker {
font-size: 8px; font-size: 8px;
} }