2026-05-17 01:15:25 +02:00
2026-05-17 01:15:25 +02:00
2026-05-14 20:33:57 +02:00
v2
2026-05-17 01:04:23 +02:00
2026-05-14 20:33:57 +02:00
2026-05-17 01:15:25 +02:00
v2
2026-05-17 01:04:23 +02:00
v2
2026-05-17 01:04:23 +02:00

?? 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

Version License Skin base


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


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.

cp -r /var/www/html/skins/elastic/. /var/www/html/skins/skynet/

2. Déposer le template de login

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 :

$config['skin'] = 'skynet';

4. Vérifier les permissions

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 :

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 :

# 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# 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.

S
Description
Aucune description fournie
Lisez-moi MIT 1,2 MiB
v2 Dernière
2026-05-21 20:17:51 +00:00
Langue
JavaScript 49%
CSS 37.7%
HTML 13.3%