add workflow
Cette révision appartient à :
+134
-139
@@ -1,139 +1,134 @@
|
||||
# ?? 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.
|
||||
|
||||
Aidé par Claude AI
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
---
|
||||
|
||||
## Aperçu
|
||||
|
||||
- Page de connexion full-screen avec animations canvas (particules + data streams)
|
||||
- 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
|
||||
- Responsive mobile (viewport adaptatif, anti-zoom iOS)
|
||||
|
||||
---
|
||||
|
||||
## 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/`
|
||||
|
||||
---
|
||||
|
||||
## Démonstration vidéo
|
||||
|
||||
<p align="center">
|
||||
<video src="assets/preview.webm"
|
||||
width="500"
|
||||
height="400"
|
||||
controls
|
||||
autoplay
|
||||
loop
|
||||
muted>
|
||||
</video>
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
### 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**.
|
||||
|
||||
```bash
|
||||
cp -r /var/www/html/skins/elastic/. /var/www/html/skins/skynet/
|
||||
```
|
||||
|
||||
### 2. Déposer le template de login
|
||||
|
||||
```bash
|
||||
cp login.html /var/www/html/skins/skynet/templates/login.html
|
||||
```
|
||||
|
||||
### 3. Activer le skin dans la configuration Roundcube
|
||||
|
||||
Dans votre fichier `config.inc.php` :
|
||||
|
||||
```php
|
||||
$config['skin'] = 'skynet';
|
||||
```
|
||||
|
||||
### 4. Vérifier les permissions
|
||||
|
||||
```bash
|
||||
chown -R www-data:www-data /var/www/html/skins/skynet/
|
||||
chmod -R 755 /var/www/html/skins/skynet/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Installation via Docker
|
||||
|
||||
Si Roundcube tourne dans un container Docker, montez le skin en volume dans votre `docker-compose.yml` :
|
||||
|
||||
```yaml
|
||||
services:
|
||||
roundcube:
|
||||
image: roundcube/roundcubemail:latest
|
||||
volumes:
|
||||
- ./skins/skynet:/var/www/html/skins/skynet
|
||||
environment:
|
||||
- ROUNDCUBEMAIL_SKIN=skynet
|
||||
```
|
||||
|
||||
Puis copiez le skin elastic depuis le container comme base :
|
||||
|
||||
```bash
|
||||
# Extraire le skin elastic du container
|
||||
docker cp roundcube:/var/www/html/skins/elastic ./skins/skynet
|
||||
|
||||
cp login.html ./skins/skynet/templates/login.html
|
||||
cp logo-skynet.png ./skins/skynet/images/logo-skynet.png
|
||||
|
||||
# Inject le skin skynet dans le container
|
||||
docker cp ./skins/skynet roundcube:/var/www/html/skins
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 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 :
|
||||
|
||||
### Plugins courants et leurs fichiers de skin
|
||||
|
||||
| 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/
|
||||
|
||||
```bash
|
||||
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 \
|
||||
/var/www/html/plugins/$plugin/skins/skynet
|
||||
echo "? $plugin"
|
||||
fi
|
||||
done
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Licence
|
||||
|
||||
Ce projet est distribué sous licence **MIT**. Voir le fichier [LICENSE](./LICENSE).
|
||||
# ~~ 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.
|
||||
|
||||
Aidé par Claude AI
|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
---
|
||||
|
||||
## Aperçu
|
||||
|
||||
- Page de connexion full-screen avec animations canvas (particules + data streams)
|
||||
- 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
|
||||
- Responsive mobile (viewport adaptatif, anti-zoom iOS)
|
||||
|
||||
---
|
||||
|
||||
## 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/`
|
||||
|
||||
---
|
||||
|
||||
## Démonstration vidéo
|
||||
|
||||
<p align="center">
|
||||
<video autoplay muted loop playsinline width="500" height="400">
|
||||
<source src="assets/preview.webm" type="video/webm">
|
||||
</video>
|
||||
</p>
|
||||
|
||||
---
|
||||
|
||||
## Installation
|
||||
|
||||
### 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**.
|
||||
|
||||
```bash
|
||||
cp -r /var/www/html/skins/elastic/. /var/www/html/skins/skynet/
|
||||
```
|
||||
|
||||
### 2. Déposer le template de login
|
||||
|
||||
```bash
|
||||
cp login.html /var/www/html/skins/skynet/templates/login.html
|
||||
```
|
||||
|
||||
### 3. Activer le skin dans la configuration Roundcube
|
||||
|
||||
Dans votre fichier `config.inc.php` :
|
||||
|
||||
```php
|
||||
$config['skin'] = 'skynet';
|
||||
```
|
||||
|
||||
### 4. Vérifier les permissions
|
||||
|
||||
```bash
|
||||
chown -R www-data:www-data /var/www/html/skins/skynet/
|
||||
chmod -R 755 /var/www/html/skins/skynet/
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Installation via Docker
|
||||
|
||||
Si Roundcube tourne dans un container Docker, montez le skin en volume dans votre `docker-compose.yml` :
|
||||
|
||||
```yaml
|
||||
services:
|
||||
roundcube:
|
||||
image: roundcube/roundcubemail:latest
|
||||
volumes:
|
||||
- ./skins/skynet:/var/www/html/skins/skynet
|
||||
environment:
|
||||
- ROUNDCUBEMAIL_SKIN=skynet
|
||||
```
|
||||
|
||||
Puis copiez le skin elastic depuis le container comme base :
|
||||
|
||||
```bash
|
||||
# Extraire le skin elastic du container
|
||||
docker cp roundcube:/var/www/html/skins/elastic ./skins/skynet
|
||||
|
||||
cp login.html ./skins/skynet/templates/login.html
|
||||
cp logo-skynet.png ./skins/skynet/images/logo-skynet.png
|
||||
|
||||
# Inject le skin skynet dans le container
|
||||
docker cp ./skins/skynet roundcube:/var/www/html/skins
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 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 :
|
||||
|
||||
### Plugins courants et leurs fichiers de skin
|
||||
|
||||
| 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/
|
||||
|
||||
```bash
|
||||
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 \
|
||||
/var/www/html/plugins/$plugin/skins/skynet
|
||||
echo "? $plugin"
|
||||
fi
|
||||
done
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Licence
|
||||
|
||||
Ce projet est distribué sous licence **MIT**. Voir le fichier [LICENSE](./LICENSE).
|
||||
|
||||
Référencer dans un nouveau ticket
Bloquer un utilisateur