Cette révision appartient à :
2026-05-17 11:17:35 +02:00
Parent 1d1c11fde8
révision ec92471d2b
5 fichiers modifiés avec 210 ajouts et 139 suppressions
+76
Voir le fichier
@@ -0,0 +1,76 @@
# .github/workflows/release.yml
name: Lightweight Release
on:
push:
branches:
- main
workflow_dispatch:
jobs:
release:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build files
run: |
mkdir -p build
cp src/login.html build/
cp meta.json README.md build/
cat src/styles.css \
| tr -d '\n\t' \
| sed 's/ */ /g' \
| sed 's/ *{ */{/g' \
| sed 's/ *} */}/g' \
| sed 's/ *; */;/g' \
| sed 's/ *: */:/g' \
| sed 's/ *, */,/g' \
> build/styles.min.css
cat src/script.js \
| tr -d '\n\t' \
| sed 's/ */ /g' \
> build/script.min.js
- name: Create archive
run: |
cd build
zip -r ../release.zip .
- name: Generate next tag
id: tag
run: |
git fetch --tags
LAST_TAG=$(git tag -l "v*" | sort -V | tail -n1)
if [ -z "$LAST_TAG" ]; then
NEXT=1
else
NUM=${LAST_TAG#v}
NEXT=$((NUM + 1))
fi
NEW_TAG="v$NEXT"
echo "tag=$NEW_TAG" >> $GITHUB_OUTPUT
- name: Create and push tag
run: |
git config user.name "gitea-actions"
git config user.email "actions@local"
git tag ${{ steps.tag.outputs.tag }}
git push origin ${{ steps.tag.outputs.tag }}
- name: Create Release
uses: softprops/action-gh-release@v2
with:
tag_name: ${{ steps.tag.outputs.tag }}
files: release.zip
+23 -28
Voir le fichier
@@ -1,9 +1,9 @@
# ?? Skynet Skin ? Roundcube Webmail
# ~~ Skynet Skin ~ Roundcube Webmail ~~
> Thème de connexion sci-fi pour Roundcube, inspiré du réseau de défense Skynet (Terminator).
> Fond animé, particules, data streams, palette bleu nuit / bleu science-fiction.
> Thème de connexion sci-fi pour Roundcube, inspiré du réseau de défense Skynet (Terminator).
> Fond animé, particules, data streams, palette bleu nuit / bleu science-fiction.
Aidé par Claude AI
Aidé par Claude AI
![Version](https://img.shields.io/badge/Roundcube-1.6.x-blue)
![License](https://img.shields.io/badge/license-MIT-green)
@@ -11,34 +11,29 @@ Aid
---
## Aperçu
## Aperçu
- Page de connexion full-screen avec animations canvas (particules + data streams)
- Indicateur de niveau de menace, ticker défilant
- Indicateur de niveau de menace, ticker défilant
- Logo Skynet avec effet de lueur bleue pulsante
- Détection et affichage des erreurs d'authentification Roundcube
- Détection et affichage des erreurs d'authentification Roundcube
- Responsive mobile (viewport adaptatif, anti-zoom iOS)
---
## Prérequis
## Prérequis
- Testé avec Roundcube **1.6.x**
- Skin **elastic** présent dans `/var/www/html/skins/elastic/` (utilisé comme base)
- Accès en écriture au répertoire `/var/www/html/skins/`
- Testé avec Roundcube **1.6.x**
- Skin **elastic** présent dans `/var/www/html/skins/elastic/` (utilisé comme base)
- Accès en écriture au répertoire `/var/www/html/skins/`
---
## Démonstration vidéo
## Démonstration vidéo
<p align="center">
<video src="assets/preview.webm"
width="500"
height="400"
controls
autoplay
loop
muted>
<video autoplay muted loop playsinline width="500" height="400">
<source src="assets/preview.webm" type="video/webm">
</video>
</p>
@@ -48,13 +43,13 @@ Aid
### 1. Copier le skin elastic comme base
Le skin Skynet ne remplace que la page de login. Toutes les autres vues (messagerie, contacts, paramètres) héritent du skin **elastic**.
Le skin Skynet ne remplace que la page de login. Toutes les autres vues (messagerie, contacts, paramètres) héritent du skin **elastic**.
```bash
cp -r /var/www/html/skins/elastic/. /var/www/html/skins/skynet/
```
### 2. Déposer le template de login
### 2. Déposer le template de login
```bash
cp login.html /var/www/html/skins/skynet/templates/login.html
@@ -68,7 +63,7 @@ Dans votre fichier `config.inc.php` :
$config['skin'] = 'skynet';
```
### 4. Vérifier les permissions
### 4. Vérifier les permissions
```bash
chown -R www-data:www-data /var/www/html/skins/skynet/
@@ -106,23 +101,23 @@ docker cp ./skins/skynet roundcube:/var/www/html/skins
---
## Compatibilité avec les plugins
## Compatibilité avec les plugins
Certains plugins Roundcube incluent leur propre partie skin (templates, styles).
Lors de la copie d'elastic, ces fichiers sont automatiquement inclus, mais vérifiez les répertoires suivants après installation :
Lors de la copie d'elastic, ces fichiers sont automatiquement inclus, mais vérifiez les répertoires suivants après installation :
### Plugins courants et leurs fichiers de skin
| Plugin | Répertoire skin à vérifier |
| Plugin | Répertoire skin à vérifier |
| ------------------------- | --------------------------- |
| `managesieve` | `skins/skynet/managesieve/` |
| `enigma` | `skins/skynet/enigma/` |
| `calendar` _(Kolab/Bimi)_ | `skins/skynet/calendar/` |
Pour vérifier que pour chaque plugin actif il y a un répertoire skins/
Pour vérifier que pour chaque plugin actif il y a un répertoire skins/
```bash
bash# Pour chaque plugin actif qui a un répertoire skins/
bash# Pour chaque plugin actif qui a un répertoire skins/
for plugin in managesieve enigma zipdownload archive; do
if [ -d "/var/www/html/plugins/$plugin/skins/elastic" ]; then
cp -r /var/www/html/plugins/$plugin/skins/elastic \
@@ -136,4 +131,4 @@ done
## Licence
Ce projet est distribué sous licence **MIT**. Voir le fichier [LICENSE](./LICENSE).
Ce projet est distribué sous licence **MIT**. Voir le fichier [LICENSE](./LICENSE).
Voir le fichier
Voir le fichier
Voir le fichier