# ~~ 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](https://img.shields.io/badge/Roundcube-1.6.x-blue) ![License](https://img.shields.io/badge/license-MIT-green) ![Skin base](https://img.shields.io/badge/base-elastic-informational) --- ## 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**. ```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).