diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..f5d72c0 --- /dev/null +++ b/LICENSE @@ -0,0 +1,31 @@ +MIT License + +Copyright (c) 2026 Skynet Skin Jimmy GALLAND + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +--- + +This software includes a login page template for Roundcube Webmail +(https://roundcube.net), which is licensed under the GNU General Public +License version 3 or later (GPLv3+). + +The Skynet name and logo are trademarks of their respective owners and are +used here for illustrative/personal purposes only. This project is not +affiliated with or endorsed by the creators of the Terminator franchise. diff --git a/README.md b/README.md new file mode 100644 index 0000000..de3e667 --- /dev/null +++ b/README.md @@ -0,0 +1,124 @@ +# ?? 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/` + +--- + +## 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). diff --git a/meta.json b/meta.json new file mode 100644 index 0000000..8650c3d --- /dev/null +++ b/meta.json @@ -0,0 +1,20 @@ +{ + "name": "Skynet", + "author": "Jimmy Galland", + "license": "MIT License", + "license-url": "https://www.debian.org/legal/licenses/mit.en.html", + "config": { + "supported_layouts": ["widescreen"], + "jquery_ui_colors_theme": "bootstrap", + "embed_css_location": "/styles/embed.css", + "editor_css_location": "/styles/embed.css", + "dark_mode_support": true, + "media_browser_css_location": "none", + "additional_logo_types": ["dark", "small", "small-dark"] + }, + "meta": { + "viewport": "width=device-width, initial-scale=1.0, shrink-to-fit=no, maximum-scale=1.0", + "theme-color": "#f4f4f4", + "msapplication-navbutton-color": "#f4f4f4" + } +}