From 6391ce55f063b8f2c13b461d5d1d3d4ebbcdab48 Mon Sep 17 00:00:00 2001 From: David Toribio Date: Tue, 6 Jan 2026 19:15:43 +0100 Subject: [PATCH] Actualizar contenido desde staging (ics53) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Nuevo diseño dark theme estilo ICSManager - Contenido actualizado con narrativa problema/solución - Sección "Amplía tu departamento IT" para partners - Stack tecnológico actualizado - Botones "Volver al inicio" eliminados - SEO: sitemap actualizado, indexación habilitada 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- assets/custom.css | 635 ++++++++++++++++++++++++++++------------- assets/custom.js | 88 +++++- aviso-legal.md | 10 +- contacto.md | 2 - docmd.config.js | 24 +- index.md | 138 +++++---- politica-cookies.md | 8 - politica-privacidad.md | 8 - politica-seguridad.md | 251 ++++++++-------- quienes-somos.md | 10 +- sitemap.xml | 14 +- 11 files changed, 748 insertions(+), 440 deletions(-) diff --git a/assets/custom.css b/assets/custom.css index 9fbe9fd..871747d 100644 --- a/assets/custom.css +++ b/assets/custom.css @@ -1,45 +1,100 @@ -/* DO CLOUD Brand Colors - Oficial */ +/* ============================================ + DOCLOUD - Dark Theme (ICSManager Style) + ============================================ */ + +/* Variables del tema */ :root { - --primary-color: #0A6CFF; - --primary-dark: #0856CC; - --primary-gradient: linear-gradient(135deg, #0A6CFF, #1FD1C3); - --turquoise: #1FD1C3; - --dark-blue: #0B1E3B; - --light-gray: #F2F4F7; - --link-color: #0856CC; - --link-hover: #0A6CFF; + /* Colores base - estilo ICSManager */ + --bg-primary: #1a1f2e; + --bg-secondary: #252b3b; + --bg-tertiary: #2d3548; + --bg-card: rgba(55, 65, 81, 0.5); + --text-primary: #e5e7eb; + --text-secondary: #d1d5db; + --text-muted: #9ca3af; + --accent-blue: #2299dd; + --accent-green: #10b981; + --accent-red: #dc2626; + --accent-yellow: #f59e0b; + --border-color: #4b5563; + --border-light: #374151; + --link-color: #2299dd; + --link-hover: #3baaee; + --header-bg: #111827; + --cta-bg: #2299dd; + --cta-hover: #1d88c9; + --input-bg: #374151; +} + +/* Modo claro (alto contraste) */ +[data-theme="light"] { + --bg-primary: #f3f4f6; + --bg-secondary: #ffffff; + --bg-tertiary: #e5e7eb; + --bg-card: rgba(255, 255, 255, 0.9); + --text-primary: #111827; + --text-secondary: #374151; + --text-muted: #6b7280; + --border-color: #d1d5db; + --border-light: #e5e7eb; + --header-bg: #ffffff; + --input-bg: #f9fafb; } /* ============================================ - OCULTAR SIDEBAR IZQUIERDO (navegacion) + BASE + ============================================ */ +@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap'); + +* { + box-sizing: border-box; +} + +html { + scroll-behavior: smooth; +} + +body { + font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; + background-color: var(--bg-primary); + color: var(--text-primary); + line-height: 1.6; + font-size: 16px; + margin: 0; + padding: 0; + min-height: 100vh; +} + +/* ============================================ + OCULTAR ELEMENTOS DE DOCMD ============================================ */ .sidebar-nav, -nav.sidebar-nav { - display: none !important; -} - -/* ============================================ - OCULTAR TOC DERECHO (On This Page) - ============================================ */ +nav.sidebar-nav, .toc-sidebar, .toc-container, .toc-list, -div.toc-sidebar { - display: none !important; - width: 0 !important; -} - -/* ============================================ - OCULTAR FOOTER DE DOCMD - ============================================ */ +div.toc-sidebar, .page-footer, .branding-footer, -footer.page-footer { +footer.page-footer, +.sidebar-menu-button, +.sidebar .mobile-view, +.sidebar-header h1, +.sidebar h1 { + display: none !important; +} + +/* Ocultar primera línea horizontal (frontmatter) */ +.content > hr:first-child, +.main-content > hr:first-child, +article > hr:first-child, +.content-area > hr:first-child, +.main-content article > hr:first-child { display: none !important; } /* ============================================ - MOSTRAR HEADER CON LOGO + HEADER ============================================ */ .sidebar { position: fixed !important; @@ -47,12 +102,12 @@ footer.page-footer { left: 0 !important; right: 0 !important; width: 100% !important; - height: 70px !important; - background: white !important; - box-shadow: none !important; + height: 64px !important; + background: var(--header-bg) !important; + border-bottom: 1px solid var(--border-color) !important; display: flex !important; align-items: center !important; - padding: 0 30px !important; + padding: 0 24px !important; z-index: 1000 !important; } @@ -63,30 +118,24 @@ footer.page-footer { width: 100% !important; height: 100% !important; border-bottom: none !important; - padding-bottom: 0 !important; - margin-bottom: 0 !important; + padding: 0 !important; + margin: 0 !important; } .sidebar-header .logo-link { display: flex !important; align-items: center !important; -} - -/* Ocultar título DO CLOUD del header */ -.sidebar-header h1, -.sidebar h1 { - display: none !important; + gap: 12px; } .sidebar-header .logo-link img { - max-height: 45px !important; + max-height: 40px !important; width: auto !important; + filter: brightness(0) invert(1); } -/* Ocultar elementos innecesarios del sidebar */ -.sidebar-menu-button, -.sidebar .mobile-view { - display: none !important; +[data-theme="light"] .sidebar-header .logo-link img { + filter: none; } /* ============================================ @@ -95,206 +144,282 @@ footer.page-footer { .main-content, main.content, .content-wrapper, -.page-container { +.page-container, +.main-content-wrapper { margin-left: 0 !important; margin-right: 0 !important; - padding-top: 90px !important; + padding-top: 64px !important; max-width: 100% !important; width: 100% !important; + background: var(--bg-primary) !important; } .content, -.main-content article { - max-width: 900px; +.main-content article, +.content-area { + max-width: 960px; margin: 0 auto; - padding: 20px 40px; + padding: 48px 24px; } /* ============================================ - TIPOGRAFIA + TIPOGRAFÍA ============================================ */ -body { - font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; +h1, h2, h3, h4, h5, h6 { + font-family: 'Inter', sans-serif; + color: var(--text-primary); + font-weight: 600; + margin-top: 2em; + margin-bottom: 0.75em; + line-height: 1.3; +} + +h1 { + font-size: 2.25rem; + font-weight: 700; + margin-top: 0; +} + +h2 { + font-size: 1.5rem; + color: var(--text-primary); + padding-bottom: 0.5em; + border-bottom: 1px solid var(--border-light); +} + +h3 { + font-size: 1.25rem; + color: var(--text-secondary); +} + +p { + margin: 1em 0; + color: var(--text-secondary); +} + +strong { + color: var(--text-primary); + font-weight: 600; } /* ============================================ - ENLACES CON CONTRASTE MEJORADO (WCAG AA) + ENLACES ============================================ */ a { color: var(--link-color); - text-decoration: underline; - text-decoration-thickness: 1px; - text-underline-offset: 2px; + text-decoration: none; + transition: color 0.2s ease; } a:hover, a:focus { - color: var(--dark-blue); - text-decoration-thickness: 2px; + color: var(--link-hover); + text-decoration: underline; } -/* Enlaces en navegacion sin subrayado */ nav a, .sidebar a, -.logo-link { +.logo-link, +.header-login-btn { text-decoration: none !important; } -h1, h2, h3, h4 { - color: var(--dark-blue); - font-weight: 600; -} - /* ============================================ - BOTONES CON GRADIENTE - ============================================ */ -a[style*="background:#0066cc"], -a[style*="background:#28a745"], -a[style*="background:#dc3545"], -.btn-primary { - background: var(--primary-gradient) !important; - border: none !important; - color: white !important; - text-decoration: none !important; - transition: all 0.3s ease; - box-shadow: 0 4px 15px rgba(10, 108, 255, 0.3); -} - -a[style*="background:#0066cc"]:hover, -a[style*="background:#28a745"]:hover, -a[style*="background:#dc3545"]:hover, -.btn-primary:hover { - transform: translateY(-2px); - box-shadow: 0 6px 20px rgba(10, 108, 255, 0.4); - filter: brightness(1.1); -} - -a[style*="background:#6c757d"] { - background: var(--dark-blue) !important; - text-decoration: none !important; - transition: all 0.3s ease; -} - -a[style*="background:#6c757d"]:hover { - background: #1a3a5c !important; - transform: translateY(-2px); -} - -/* ============================================ - TABLAS ESTILIZADAS - ============================================ */ -table { - border-radius: 12px; - overflow: hidden; - box-shadow: 0 4px 20px rgba(11, 30, 59, 0.1); - border-collapse: separate; - border-spacing: 0; -} - -th { - background: var(--primary-gradient) !important; - color: white !important; - font-weight: 600; - padding: 15px; -} - -td { - padding: 12px 15px; - border-bottom: 1px solid var(--light-gray); -} - -tr:hover td { - background: var(--light-gray); -} - -/* ============================================ - FOOTER PERSONALIZADO - ============================================ */ -div[align="center"]:last-of-type { - border-top: 3px solid; - border-image: var(--primary-gradient) 1; - padding-top: 25px; - margin-top: 50px; -} - -div[align="center"]:last-of-type a { - color: var(--dark-blue); - font-weight: 500; -} - -/* ============================================ - MODO OSCURO - ============================================ */ -[data-theme="dark"] .sidebar { - background: #1a1a2e !important; -} - -[data-theme="dark"] { - --dark-blue: #ffffff; - --light-gray: #1a1a2e; - --link-color: #5BA3FF; - --link-hover: #8BC4FF; -} - -[data-theme="dark"] th { - background: var(--primary-gradient) !important; -} - -/* ============================================ - BOTÓN LOGIN EN HEADER + BOTÓN CTA - Acceso ICSManager ============================================ */ .header-login-btn { display: inline-flex !important; align-items: center; - gap: 10px; - background: var(--primary-gradient) !important; - color: white !important; - padding: 12px 28px !important; + gap: 8px; + background: var(--cta-bg) !important; + color: #ffffff !important; + padding: 10px 20px !important; border-radius: 8px; - font-weight: 700; - font-size: 15px; + font-family: 'Inter', sans-serif; + font-weight: 600; + font-size: 14px; text-decoration: none !important; - transition: all 0.3s ease; - box-shadow: 0 4px 15px rgba(10, 108, 255, 0.35); + transition: all 0.2s ease; border: none; cursor: pointer; - letter-spacing: 0.3px; } .header-login-btn:hover { - transform: translateY(-3px); - box-shadow: 0 6px 20px rgba(10, 108, 255, 0.5); - filter: brightness(1.1); - color: white !important; + background: var(--cta-hover) !important; + transform: translateY(-1px); + box-shadow: 0 4px 12px rgba(34, 153, 221, 0.3); + color: #ffffff !important; } -.header-login-btn:active { - transform: translateY(-1px); +.header-login-btn::before { + content: none; } .header-login-btn svg { - width: 18px; - height: 18px; - fill: currentColor; + display: none; } /* ============================================ - BOTÓN FEEDBACK ZAMMAD (flotante) + TOGGLE MODO CLARO/OSCURO + ============================================ */ +.theme-toggle-btn { + background: var(--bg-card); + border: 1px solid var(--border-color); + color: var(--text-secondary); + padding: 8px 12px; + border-radius: 8px; + cursor: pointer; + font-size: 16px; + transition: all 0.2s ease; + margin-right: 12px; +} + +.theme-toggle-btn:hover { + border-color: var(--accent-blue); + background: var(--bg-tertiary); +} + +/* ============================================ + BLOQUES DE CÓDIGO + ============================================ */ +pre, code { + font-family: ui-monospace, 'SF Mono', 'Fira Code', Consolas, monospace; + font-size: 14px; +} + +code { + background: var(--bg-tertiary); + color: var(--accent-blue); + padding: 2px 8px; + border-radius: 6px; + border: 1px solid var(--border-light); +} + +pre { + background: var(--bg-secondary); + border: 1px solid var(--border-color); + border-radius: 12px; + padding: 20px; + overflow-x: auto; +} + +pre code { + background: none; + border: none; + padding: 0; + color: var(--text-secondary); +} + +/* ============================================ + TABLAS + ============================================ */ +table { + width: 100%; + border-collapse: collapse; + margin: 1.5em 0; + font-size: 15px; + background: var(--bg-secondary); + border: 1px solid var(--border-color); + border-radius: 12px; + overflow: hidden; +} + +th { + background: var(--bg-tertiary) !important; + color: var(--text-primary) !important; + font-weight: 600; + padding: 14px 16px; + text-align: left; + border-bottom: 1px solid var(--border-color); + font-size: 13px; + text-transform: uppercase; + letter-spacing: 0.5px; +} + +td { + padding: 14px 16px; + border-bottom: 1px solid var(--border-light); + color: var(--text-secondary); +} + +tr:hover td { + background: var(--bg-tertiary); +} + +tr:last-child td { + border-bottom: none; +} + +/* ============================================ + CARDS / SECCIONES + ============================================ */ +.section-card { + background: var(--bg-secondary); + border: 1px solid var(--border-color); + border-radius: 12px; + padding: 24px; + margin: 24px 0; +} + +/* ============================================ + LISTAS + ============================================ */ +ul, ol { + padding-left: 1.5em; + color: var(--text-secondary); +} + +li { + margin: 0.5em 0; +} + +ul li::marker { + color: var(--accent-blue); +} + +ol li::marker { + color: var(--accent-blue); +} + +/* ============================================ + BLOCKQUOTES + ============================================ */ +blockquote { + border-left: 4px solid var(--accent-blue); + margin: 1.5em 0; + padding: 16px 24px; + background: var(--bg-secondary); + border-radius: 0 12px 12px 0; + color: var(--text-secondary); +} + +/* ============================================ + HR + ============================================ */ +hr { + border: none; + border-top: 1px solid var(--border-light); + margin: 48px 0; +} + +/* ============================================ + BOTÓN CONTACTAR (Zammad) ============================================ */ #zammad-feedback-form { position: fixed; - bottom: 20px; - right: 20px; - background: var(--primary-gradient); - color: white; + bottom: 24px; + right: 24px; + background: var(--cta-bg); + color: #ffffff; border: none; padding: 12px 24px; - border-radius: 50px; + border-radius: 8px; + font-family: 'Inter', sans-serif; font-weight: 600; font-size: 14px; cursor: pointer; - box-shadow: 0 4px 20px rgba(10, 108, 255, 0.4); - transition: all 0.3s ease; + box-shadow: 0 4px 16px rgba(34, 153, 221, 0.3); + transition: all 0.2s ease; z-index: 999; display: inline-flex; align-items: center; @@ -302,36 +427,150 @@ div[align="center"]:last-of-type a { } #zammad-feedback-form:hover { - transform: translateY(-3px); - box-shadow: 0 6px 25px rgba(10, 108, 255, 0.5); + background: var(--cta-hover); + transform: translateY(-2px); + box-shadow: 0 6px 20px rgba(34, 153, 221, 0.4); } #zammad-feedback-form::before { - content: '💬'; - font-size: 16px; + content: none; } -/* Estilos para modal de Zammad */ +/* Modal Zammad */ .zammad-form-modal { - font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important; + font-family: 'Inter', sans-serif !important; } .zammad-form-modal .zammad-form-modal-body { + background: var(--bg-secondary) !important; + border: 1px solid var(--border-color) !important; border-radius: 12px !important; + color: var(--text-primary) !important; } .zammad-form-modal input, .zammad-form-modal textarea, .zammad-form-modal select { - border-radius: 6px !important; - border: 1px solid var(--light-gray) !important; - padding: 10px 12px !important; + background: var(--input-bg) !important; + border: 1px solid var(--border-color) !important; + border-radius: 8px !important; + padding: 12px 16px !important; + color: var(--text-primary) !important; + font-family: 'Inter', sans-serif !important; +} + +.zammad-form-modal input:focus, +.zammad-form-modal textarea:focus { + border-color: var(--accent-blue) !important; + outline: none !important; + box-shadow: 0 0 0 3px rgba(34, 153, 221, 0.2) !important; } .zammad-form-modal button[type="submit"] { - background: var(--primary-gradient) !important; + background: var(--cta-bg) !important; border: none !important; - border-radius: 6px !important; + border-radius: 8px !important; padding: 12px 24px !important; font-weight: 600 !important; + color: white !important; +} + +/* ============================================ + FOOTER + ============================================ */ +div[align="center"]:last-of-type { + border-top: 1px solid var(--border-light); + padding: 32px 24px; + margin-top: 64px; + background: var(--bg-secondary); +} + +div[align="center"]:last-of-type p { + color: var(--text-muted); + font-size: 14px; + margin: 8px 0; +} + +div[align="center"]:last-of-type a { + color: var(--text-secondary); +} + +div[align="center"]:last-of-type a:hover { + color: var(--accent-blue); +} + +/* ============================================ + RESPONSIVE + ============================================ */ +@media (max-width: 768px) { + .sidebar { + padding: 0 16px !important; + height: 56px !important; + } + + .main-content, + main.content, + .content-wrapper, + .page-container { + padding-top: 56px !important; + } + + .header-login-btn { + padding: 8px 16px !important; + font-size: 13px; + } + + .content, + .main-content article, + .content-area { + padding: 32px 16px; + } + + h1 { + font-size: 1.75rem; + } + + h2 { + font-size: 1.25rem; + } + + #zammad-feedback-form { + bottom: 16px; + right: 16px; + padding: 10px 20px; + } +} + +/* ============================================ + SELECCIÓN DE TEXTO + ============================================ */ +::selection { + background: var(--accent-blue); + color: white; +} + +::-moz-selection { + background: var(--accent-blue); + color: white; +} + +/* ============================================ + SCROLLBAR + ============================================ */ +::-webkit-scrollbar { + width: 8px; + height: 8px; +} + +::-webkit-scrollbar-track { + background: var(--bg-primary); +} + +::-webkit-scrollbar-thumb { + background: var(--border-color); + border-radius: 4px; +} + +::-webkit-scrollbar-thumb:hover { + background: var(--text-muted); } diff --git a/assets/custom.js b/assets/custom.js index d99bb14..a4fb7a3 100644 --- a/assets/custom.js +++ b/assets/custom.js @@ -1,19 +1,21 @@ /** - * DO CLOUD - Custom JavaScript - * - Botón Login en header - * - Integración Zammad Feedback Form (carga diferida) + * DOCLOUD - Custom JavaScript + * - Botón CTA "Acceso ICSManager" + * - Toggle modo oscuro/claro + * - Integración Zammad */ (function() { 'use strict'; - // Esperar a que el DOM esté listo document.addEventListener('DOMContentLoaded', initCustomFeatures); function initCustomFeatures() { + setDefaultDarkMode(); fixLogoLink(); + addThemeToggle(); addLoginButton(); - // Cargar Zammad después de la carga inicial (mejora LCP) + // Cargar Zammad de forma diferida if ('requestIdleCallback' in window) { requestIdleCallback(loadZammadForm); } else { @@ -21,6 +23,19 @@ } } + /** + * Establece modo oscuro por defecto + */ + function setDefaultDarkMode() { + var savedTheme = localStorage.getItem('docloud-theme'); + if (!savedTheme) { + document.documentElement.setAttribute('data-theme', 'dark'); + localStorage.setItem('docloud-theme', 'dark'); + } else { + document.documentElement.setAttribute('data-theme', savedTheme); + } + } + /** * Asegura que el logo siempre enlace al home */ @@ -32,33 +47,76 @@ } /** - * Añade el botón de Login al header + * Añade el toggle de modo claro/oscuro */ - function addLoginButton() { + function addThemeToggle() { var header = document.querySelector('.sidebar-header'); if (!header) return; + var toggleBtn = document.createElement('button'); + toggleBtn.className = 'theme-toggle-btn'; + toggleBtn.setAttribute('aria-label', 'Cambiar tema'); + toggleBtn.setAttribute('title', 'Alto contraste'); + updateToggleIcon(toggleBtn); + + toggleBtn.addEventListener('click', function() { + var currentTheme = document.documentElement.getAttribute('data-theme'); + var newTheme = currentTheme === 'dark' ? 'light' : 'dark'; + document.documentElement.setAttribute('data-theme', newTheme); + localStorage.setItem('docloud-theme', newTheme); + updateToggleIcon(toggleBtn); + }); + + // Crear contenedor para los botones del header + var btnContainer = document.createElement('div'); + btnContainer.style.cssText = 'display:flex;align-items:center;gap:12px;'; + btnContainer.appendChild(toggleBtn); + header.appendChild(btnContainer); + + return btnContainer; + } + + /** + * Actualiza el icono del toggle según el tema + */ + function updateToggleIcon(btn) { + var isDark = document.documentElement.getAttribute('data-theme') === 'dark'; + btn.innerHTML = isDark ? '☀' : '☽'; + btn.title = isDark ? 'Modo claro' : 'Modo oscuro'; + } + + /** + * Añade el botón CTA "Acceso ICSManager" + */ + function addLoginButton() { + var btnContainer = document.querySelector('.sidebar-header > div:last-child'); + if (!btnContainer) { + var header = document.querySelector('.sidebar-header'); + if (!header) return; + btnContainer = document.createElement('div'); + btnContainer.style.cssText = 'display:flex;align-items:center;gap:12px;'; + header.appendChild(btnContainer); + } + var loginBtn = document.createElement('a'); loginBtn.href = 'https://icsmanager.docloud.es/ics1'; loginBtn.className = 'header-login-btn'; - loginBtn.innerHTML = 'Login'; + loginBtn.textContent = 'Acceso ICSManager'; loginBtn.setAttribute('rel', 'noopener'); - loginBtn.setAttribute('title', 'Acceder al panel de cliente'); + loginBtn.setAttribute('title', 'Acceder al panel de gestión'); - header.appendChild(loginBtn); + btnContainer.appendChild(loginBtn); } /** * Carga jQuery y Zammad Form */ function loadZammadForm() { - // Crear botón de feedback var feedbackBtn = document.createElement('button'); feedbackBtn.id = 'zammad-feedback-form'; feedbackBtn.textContent = 'Contactar'; document.body.appendChild(feedbackBtn); - // Cargar jQuery si no existe if (typeof jQuery === 'undefined') { var jqueryScript = document.createElement('script'); jqueryScript.src = 'https://code.jquery.com/jquery-3.6.0.min.js'; @@ -70,7 +128,7 @@ } /** - * Carga el script de Zammad y inicializa el formulario + * Carga el script de Zammad */ function loadZammadScript() { var zammadScript = document.createElement('script'); @@ -86,9 +144,9 @@ function initZammadForm() { if (typeof jQuery !== 'undefined' && jQuery.fn.ZammadForm) { jQuery('#zammad-feedback-form').ZammadForm({ - messageTitle: 'Contacto con Soporte', + messageTitle: 'Contacto con Soporte Técnico', messageSubmit: 'Enviar', - messageThankYou: 'Gracias por su consulta (#%s). Nos pondremos en contacto con usted lo antes posible.', + messageThankYou: 'Gracias por contactarnos (#%s). Responderemos a la brevedad.', modal: true }); } diff --git a/aviso-legal.md b/aviso-legal.md index e7c29ec..6254bf3 100644 --- a/aviso-legal.md +++ b/aviso-legal.md @@ -22,7 +22,7 @@ En cumplimiento con el deber de información recogido en el artículo 10 de la L | **Municipio** | Amposta | | **Provincia** | Tarragona | | **País** | España | -| **Email de Contacto** | soporte@docloud.es | +| **Email de Contacto** | david@toribio.eu | | **CNAE** | 6310 - Infraestructura informática, procesamiento de datos, hosting | | **Forma Jurídica** | Sociedad Limitada | @@ -96,14 +96,6 @@ Se recomienda revisar periódicamente esta página para estar informado de posib
-← Volver al inicio - -
- ---- - -
- **DOCLOUD** - Internet Cloud Services SL · CIF: B67246371 [Quiénes Somos](/quienes-somos/) · [Contacto](/contacto/) · [Aviso Legal](/aviso-legal/) · [Cookies](/politica-cookies/) · [Privacidad](/politica-privacidad/) · [Seguridad](/politica-seguridad/) diff --git a/contacto.md b/contacto.md index fef3e2b..9e5136b 100644 --- a/contacto.md +++ b/contacto.md @@ -73,8 +73,6 @@ Gestión de incidencias y consultas Contactar ahora -← Volver al inicio -
--- diff --git a/docmd.config.js b/docmd.config.js index a2e0225..0fd9c8a 100644 --- a/docmd.config.js +++ b/docmd.config.js @@ -1,7 +1,7 @@ module.exports = { - siteTitle: 'DO CLOUD', + siteTitle: 'DOCLOUD - Infraestructura Cloud Corporativa', siteUrl: 'https://docloud.es', - description: 'Internet Cloud Services - Servicios cloud profesionales', + description: 'Servicios cloud profesionales para PYMES. Servidores Proxmox, VPN cifrada, backup empresarial.', srcDir: './', outDir: './site', @@ -9,15 +9,15 @@ module.exports = { logo: { light: 'assets/images/logo.svg', dark: 'assets/images/logo.svg', - alt: 'DO CLOUD Logo', + alt: 'DOCLOUD - Internet Cloud Services', href: './', }, favicon: 'assets/favicon.svg', - // Features - DESACTIVAR MERMAID para rendimiento + // Features search: false, minify: true, - copyCode: false, + copyCode: true, pageNavigation: false, mermaid: false, @@ -30,28 +30,28 @@ module.exports = { // Theme theme: { name: 'default', - defaultMode: 'light', + defaultMode: 'dark', enableModeToggle: false, positionMode: 'top', - codeHighlight: false, + codeHighlight: true, customCss: ['assets/custom.css'], }, - // Custom JS - botón Login y Zammad form + // Custom JS customJs: ['assets/custom.js'], - // Navigation + // Navigation - paths relativos con ./ navigation: [ { title: 'Inicio', path: './' }, { title: 'Nosotros', path: './quienes-somos/' }, { title: 'Contacto', path: './contacto/' }, - { title: 'Legal', path: './aviso-legal/' }, + { title: 'Seguridad', path: './politica-seguridad/' }, ], - // SEO + // SEO - solo campos soportados plugins: { seo: { - defaultDescription: 'DO CLOUD - Internet Cloud Services. Infraestructura cloud profesional, hosting, backup y seguridad gestionada.', + defaultDescription: 'DOCLOUD - Infraestructura Cloud Corporativa para PYMES. Servidores Proxmox, VPN empresarial, backup profesional.', openGraph: { defaultImage: 'assets/images/icon-512.png', }, diff --git a/index.md b/index.md index e1dfed1..d1a8d32 100644 --- a/index.md +++ b/index.md @@ -1,90 +1,108 @@ -
+--- +title: Infraestructura Cloud Corporativa para PYMES | DOCLOUD +description: Servicios cloud profesionales para empresas. Servidores Proxmox, VPN cifrada, backup empresarial y soporte técnico nivel 3. El backend que tu negocio necesita. +--- -## Internet Cloud Services +# Infraestructura Cloud Corporativa -**Tu partner tecnológico en soluciones cloud** +**El backend que tu negocio (y tu informático) necesitan.** -Infraestructura fiable, segura y escalable para impulsar tu negocio. +Llevamos la potencia del Datacenter a la PYME. Infraestructura profesional, segura y gestionada por expertos. -
+## El problema: piezas que no encajan + +``` +$ diagnose --infrastructure + +[ERROR] vpn_config: inconsistent +[ERROR] backup_policy: undefined +[ERROR] server_monitoring: disabled +[WARN] security_updates: 847 days overdue +[FAIL] disaster_recovery: not configured + +Status: CRITICAL - Infrastructure fragmented +``` + +¿Tu infraestructura IT es un puzle incompleto? Servidores aquí, backups allá, VPNs que nadie entiende, y cuando algo falla... el caos. + +**Nosotros organizamos las piezas.** --- -## Nuestros Servicios +## La solución: infraestructura que funciona - - - - - - - - - - - -
+### Continuidad de negocio -### ☁️ Infraestructura Cloud +Tus aplicaciones on-premise, accesibles desde la nube. Sin interrupciones, sin excusas. -Servidores virtuales de alto rendimiento con disponibilidad 24/7 y recursos garantizados. +- Virtualización Proxmox gestionada +- Alta disponibilidad real (no marketing) +- Migración sin cortes de servicio - +### Seguridad sin compromisos -### 🌐 Hosting Profesional +Conexiones cifradas punto a punto. Tus datos viajan seguros o no viajan. -Alojamiento web optimizado para aplicaciones empresariales con SSL incluido. +- VPN corporativa con cifrado de grado militar +- Segmentación de red por defecto +- Monitorización 24/7 de anomalías - +### Backup que recupera -### 💾 Backup y DR +No es backup si no puedes restaurar. Probamos cada restauración. -Copias de seguridad automatizadas y planes de disaster recovery. - -
- -### 🔒 Seguridad Gestionada - -Protección avanzada contra amenazas y monitorización continua 24/7. - - - -### 📧 Email Empresarial - -Correo profesional con antispam, antivirus y alta disponibilidad. - - - -### 🛠️ Soporte Técnico - -Equipo experto disponible para resolver cualquier incidencia. - -
+- Copias incrementales cada hora +- Retención configurable (días, semanas, meses) +- Disaster Recovery testado y documentado --- -## ¿Por qué elegir DOCLOUD? +## Amplía tu departamento IT -| | | | -|:---:|:---:|:---:| -| **🏆 Fiabilidad** | **🔐 Seguridad** | **📈 Escalabilidad** | -| Infraestructura redundante | Cumplimiento RGPD | Crece con tu negocio | -| SLA 99.9% garantizado | Cifrado de datos | Recursos flexibles | +``` +$ sudo su - IT_PRO +Password: ******** +Welcome, IT Professional. +``` -| | | | -|:---:|:---:|:---:| -| **⚡ Rendimiento** | **🇪🇸 Soporte Local** | **💰 Precio Justo** | -| Hardware de última generación | Equipo técnico en España | Sin sorpresas ni costes ocultos | -| Conexiones de alta velocidad | Atención personalizada | Facturación transparente | +Cuando tu equipo necesita ir más allá, nosotros cubrimos el escalado. Infraestructura especializada y soporte Nivel 3 para que tu departamento se centre en lo estratégico. + +### Cómo encajamos + +| Tu equipo | Nosotros | +|-----------|----------| +| Estrategia IT | Infraestructura cloud | +| Gestión del día a día | Soporte especializado | +| Control total | Sin intermediarios | + +[Hablemos](/contacto/) --- -## Empieza hoy +## Stack tecnológico -
+| Componente | Tecnología | +|------------|------------| +| Virtualización | Proxmox VE | +| Contenedores | LXC / Docker | +| Storage | ZFS | +| Backup | Proxmox Backup Server | +| VPN | WireGuard / OpenVPN | +| Monitorización | Alertas proactivas | +| Gestión | ICSManager (propio) | -¿Listo para llevar tu infraestructura al siguiente nivel? +--- +## Siguiente paso + +``` +$ ./contactar.sh --motivo="quiero-saber-mas" + +Iniciando conexión segura... +[OK] Formulario de contacto disponible +[OK] Sin compromiso, sin spam +[OK] Respuesta en < 24h laborables +``` --- diff --git a/politica-cookies.md b/politica-cookies.md index d307eeb..acb17fc 100644 --- a/politica-cookies.md +++ b/politica-cookies.md @@ -104,14 +104,6 @@ Si tienes alguna pregunta sobre nuestra política de cookies:
-← Volver al inicio - -
- ---- - -
- **DOCLOUD** - Internet Cloud Services SL [Quiénes Somos](/quienes-somos/) · [Contacto](/contacto/) · [Aviso Legal](/aviso-legal/) · [Cookies](/politica-cookies/) · [Privacidad](/politica-privacidad/) · [Seguridad](/politica-seguridad/) diff --git a/politica-privacidad.md b/politica-privacidad.md index 2e1b46c..2291f4e 100644 --- a/politica-privacidad.md +++ b/politica-privacidad.md @@ -147,14 +147,6 @@ INTERNET CLOUD SERVICES SL se reserva el derecho de modificar esta política. Cu
-← Volver al inicio - -
- ---- - -
- **DOCLOUD** - Internet Cloud Services SL · CIF: B67246371 [Quiénes Somos](/quienes-somos/) · [Contacto](/contacto/) · [Aviso Legal](/aviso-legal/) · [Cookies](/politica-cookies/) · [Privacidad](/politica-privacidad/) · [Seguridad](/politica-seguridad/) diff --git a/politica-seguridad.md b/politica-seguridad.md index 15dc92e..7a5b370 100644 --- a/politica-seguridad.md +++ b/politica-seguridad.md @@ -1,183 +1,204 @@ -
+--- +title: Política de Seguridad | DOCLOUD +description: Medidas de seguridad implementadas en DOCLOUD. Cifrado, VPN, backup, monitorización 24/7 y gestión de incidentes. Infraestructura cloud segura. +--- -# 🛡️ Política de Seguridad +# Política de Seguridad **Nuestro compromiso con la protección de tu información** -
+``` +$ security --status + +[OK] Firewall: active +[OK] IDS/IPS: monitoring +[OK] Encryption: AES-256 +[OK] VPN: WireGuard enabled +[OK] Backup: verified +[OK] Monitoring: 24/7 + +Security Status: HARDENED +``` --- -## 🎯 Compromiso con la Seguridad +## Compromiso con la Seguridad -En **INTERNET CLOUD SERVICES SL** la seguridad es una prioridad fundamental. Implementamos múltiples capas de protección para garantizar la **integridad, confidencialidad y disponibilidad** de los datos y servicios de nuestros clientes. +En **DOCLOUD** la seguridad no es un feature, es la base. Implementamos múltiples capas de protección para garantizar la **integridad, confidencialidad y disponibilidad** de los datos y servicios. --- -## 🏗️ Medidas de Seguridad Implementadas +## Seguridad de Infraestructura -### 🏢 Seguridad de Infraestructura +### Datacenter - - - - - -
+| Medida | Implementación | +|--------|----------------| +| Ubicación | Datacenters Tier III+ en Europa | +| Acceso físico | Control biométrico + tarjeta | +| Videovigilancia | CCTV 24/7 con retención | +| Alimentación | SAI + Generadores redundantes | +| Climatización | N+1 con monitorización | +| Detección incendios | Sistema de extinción automático | -| Medida | Descripción | -|:---|:---| -| 🏛️ **Datacenters** | Certificados con controles de acceso físico | -| 🔄 **Redundancia** | Sistemas críticos y conexiones duplicadas | -| 👁️ **Monitorización** | Vigilancia 24/7 de toda la infraestructura | -| ⚡ **SAI** | Alimentación ininterrumpida + generadores | +### Redundancia - +``` +$ cat /etc/infrastructure/redundancy.conf -| Medida | Descripción | -|:---|:---| -| ❄️ **Climatización** | Control de temperatura redundante | -| 🔥 **Anti-incendios** | Sistemas de detección y extinción | -| 📹 **CCTV** | Videovigilancia perimetral | -| 🚪 **Acceso** | Control biométrico | +network_links=2 +power_feeds=2 +storage_replicas=3 +backup_locations=2 +failover_time=<60s +``` -
+--- -### 🌐 Seguridad de Red +## Seguridad de Red | Capa | Tecnología | Función | -|:---:|:---|:---| -| 🔥 | **Firewalls NG** | Filtrado de tráfico de última generación | -| 🕵️ | **IDS/IPS** | Detección y prevención de intrusiones | -| 🛡️ | **Anti-DDoS** | Protección multicapa contra ataques volumétricos | -| 🔀 | **Segmentación** | Aislamiento de servicios y clientes | -| 🔒 | **VPN** | Acceso seguro a la gestión | +|------|------------|---------| +| Perímetro | Firewall NG | Filtrado stateful + DPI | +| Detección | IDS/IPS | Análisis de anomalías | +| Mitigación | Anti-DDoS | Scrubbing multicapa | +| Aislamiento | VLANs | Segmentación por cliente | +| Acceso | VPN | WireGuard / OpenVPN | -### 💾 Seguridad de Datos +### Cifrado en tránsito - - - - - -
+- **TLS 1.3** para todas las conexiones HTTPS +- **WireGuard** para VPN (ChaCha20-Poly1305) +- **SSH** con claves ED25519, passwords deshabilitados +- Certificados **Let's Encrypt** renovados automáticamente -### 🔐 Cifrado +--- -- **TLS 1.3** en tránsito -- **AES-256** en reposo -- Certificados SSL/TLS gratuitos +## Seguridad de Datos - +### Cifrado en reposo -### 💾 Backup +| Dato | Algoritmo | +|------|-----------| +| Discos VM | AES-256-XTS | +| Backups | AES-256-GCM | +| Bases de datos | TDE donde aplica | +| Credenciales | Argon2id | -- Copias **automatizadas** diarias -- Retención configurable -- Verificación de integridad +### Backup y Disaster Recovery -
+``` +$ backup --status --verbose -### 👤 Seguridad de Acceso +Schedule: hourly incremental, daily full +Retention: 7 daily, 4 weekly, 12 monthly +Replication: 2 sites geográficamente separados +Verification: restore test monthly +RTO target: < 4 hours +RPO target: < 1 hour + +Last backup: 2025-01-06 12:00 UTC [OK] +Last restore test: 2025-01-01 [OK] +``` + +--- + +## Gestión de Accesos | Control | Implementación | -|:---|:---| -| **Autenticación** | Contraseñas robustas + 2FA disponible | -| **Autorización** | RBAC (Control de Acceso Basado en Roles) | -| **Auditoría** | Logs de todos los accesos y cambios | -| **Revisión** | Auditorías periódicas de permisos | +|---------|----------------| +| Autenticación | Contraseñas + 2FA obligatorio | +| Autorización | RBAC (mínimo privilegio) | +| Sesiones | Timeout + invalidación remota | +| Auditoría | Logs inmutables de todo acceso | +| Revisión | Auditoría trimestral de permisos | --- -## 🚨 Gestión de Incidentes +## Gestión de Incidentes -
+``` +$ cat /etc/security/incident-response.md -| Fase | Acción | -|:---:|:---| -| 1️⃣ | **Detección** - Monitorización proactiva 24/7 | -| 2️⃣ | **Contención** - Aislamiento inmediato de la amenaza | -| 3️⃣ | **Respuesta** - Equipo de respuesta coordinado | -| 4️⃣ | **Comunicación** - Notificación transparente al cliente | -| 5️⃣ | **Recuperación** - Restauración del servicio | -| 6️⃣ | **Análisis** - Post-mortem y mejora continua | +## Protocolo de Respuesta -
+1. DETECTAR → Monitorización 24/7, alertas automáticas +2. CONTENER → Aislamiento inmediato del vector +3. ANALIZAR → Forensics, determinación de alcance +4. ERRADICAR → Eliminación de la amenaza +5. RECUPERAR → Restauración desde backup limpio +6. COMUNICAR → Notificación al cliente (< 72h RGPD) +7. MEJORAR → Post-mortem, actualización de controles +``` + +### SLA de respuesta + +| Severidad | Tiempo de respuesta | +|-----------|---------------------| +| Crítica (servicio caído) | < 15 minutos | +| Alta (degradación) | < 1 hora | +| Media (potencial riesgo) | < 4 horas | +| Baja (consulta) | < 24 horas | --- -## 🔄 Actualizaciones y Parches +## Actualizaciones y Parches -| Tipo | Frecuencia | -|:---|:---| -| **Parches críticos** | Inmediato (< 24h) | -| **Actualizaciones de seguridad** | Semanal | -| **Actualizaciones de sistema** | Mensual (ventana de mantenimiento) | -| **Evaluación de vulnerabilidades** | Trimestral | +| Tipo | Política | +|------|----------| +| Parches críticos (CVSS >= 9) | < 24 horas | +| Parches altos (CVSS >= 7) | < 7 días | +| Actualizaciones regulares | Ventana mensual | +| Escaneo de vulnerabilidades | Semanal | --- -## 🤝 Responsabilidad Compartida +## Responsabilidad Compartida -La seguridad es una **responsabilidad compartida** entre DOCLOUD y nuestros clientes. - -### ✅ Nosotros nos encargamos de: +### DOCLOUD se encarga de: - Seguridad física del datacenter -- Seguridad de la red y la infraestructura -- Actualizaciones del sistema base +- Seguridad de red e infraestructura +- Actualizaciones del hipervisor y sistemas base - Monitorización y respuesta a incidentes +- Backup de la infraestructura -### 📋 Recomendamos a nuestros clientes: +### Recomendamos al cliente: -- 🔑 Utilizar contraseñas **robustas y únicas** -- 📱 Activar **autenticación de dos factores** (2FA) -- 🔄 Mantener **actualizadas** sus aplicaciones -- 🚨 **Reportar** cualquier actividad sospechosa -- 💾 Realizar sus propios **backups** adicionales +- Usar contraseñas únicas y robustas +- Activar 2FA en todas las cuentas +- Mantener actualizadas sus aplicaciones +- Implementar backup adicional de datos críticos +- Reportar cualquier actividad sospechosa --- -## 🐛 Reporte de Vulnerabilidades +## Reporte de Vulnerabilidades -Si detectas alguna vulnerabilidad de seguridad, te agradeceríamos que nos lo comuniques de forma responsable: +Si detectas una vulnerabilidad, te agradeceríamos que nos lo comuniques de forma responsable. -
+``` +$ ./report-vulnerability.sh -🔒 Reportar Vulnerabilidad +Contacto: seguridad@docloud.es +PGP Key: [disponible bajo petición] -**soporte@docloud.es** - -
- -> Nos comprometemos a investigar todos los reportes y mantener informado al reportador sobre el progreso. +Nos comprometemos a: +- Acusar recibo en < 48h +- Mantener informado al reportador +- No emprender acciones legales contra + investigadores de buena fe +``` --- -## 📈 Mejora Continua - -Revisamos y mejoramos continuamente nuestras medidas de seguridad: - -- ✅ Auditorías de seguridad periódicas -- ✅ Formación continua del equipo -- ✅ Actualización de políticas y procedimientos -- ✅ Seguimiento de nuevas amenazas y vulnerabilidades - -*Última actualización: Enero 2024* +*Última actualización: Enero 2025* --- - ---- - -
- -**DOCLOUD** - Internet Cloud Services SL · CIF: B67246371 +**DOCLOUD** - Internet Cloud Services SL [Quiénes Somos](/quienes-somos/) · [Contacto](/contacto/) · [Aviso Legal](/aviso-legal/) · [Cookies](/politica-cookies/) · [Privacidad](/politica-privacidad/) · [Seguridad](/politica-seguridad/) diff --git a/quienes-somos.md b/quienes-somos.md index bb16dcf..3f6f418 100644 --- a/quienes-somos.md +++ b/quienes-somos.md @@ -12,13 +12,13 @@ **DOCLOUD** es la marca comercial de **Internet Cloud Services SL**, empresa española especializada en servicios de infraestructura cloud y soluciones tecnológicas para empresas. -Fundada con la visión de democratizar el acceso a infraestructura cloud de calidad, nuestro objetivo es proporcionar a nuestros clientes las herramientas necesarias para que puedan centrarse en lo que realmente importa: **hacer crecer su negocio**. +Fundada con la visión de democratizar el acceso a infraestructura cloud de calidad, nuestro objetivo es proporcionar a nuestros usuarios las herramientas necesarias para que puedan centrarse en lo que realmente importa: **hacer crecer su negocio**. --- ## 🎯 Nuestra Misión -> Ofrecer servicios cloud de alta calidad, seguros y fiables, con un soporte técnico cercano y profesional que acompañe a nuestros clientes en su transformación digital. +> Ofrecer servicios cloud de alta calidad, seguros y fiables, con un soporte técnico cercano y profesional que acompañe a nuestros usuarios en su transformación digital. --- @@ -32,7 +32,7 @@ Fundada con la visión de democratizar el acceso a infraestructura cloud de cali Mantenemos los más altos estándares de disponibilidad y rendimiento en todos nuestros servicios. ### 🔐 Seguridad -La protección de los datos de nuestros clientes es nuestra prioridad número uno. +La protección de los datos de nuestros usuarios es nuestra prioridad número uno. ### 💡 Innovación Actualizamos constantemente nuestra infraestructura para ofrecer las últimas tecnologías. @@ -47,7 +47,7 @@ Comunicación clara y honesta en todas nuestras relaciones comerciales. Soporte técnico humano y accesible, sin barreras ni intermediarios. Equipo 100% en España. ### ⚡ Agilidad -Respuesta rápida a las necesidades cambiantes de nuestros clientes. +Respuesta rápida a las necesidades cambiantes de nuestros usuarios. @@ -72,8 +72,6 @@ Contamos con **más de 10 años de experiencia** en el sector tecnológico, gest Contactar con nosotros -← Volver al inicio -
--- diff --git a/sitemap.xml b/sitemap.xml index f85b35a..3d16172 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -2,43 +2,43 @@ https://docloud.es/ - 2026-01-04 + 2026-01-06 weekly 1.0 https://docloud.es/quienes-somos/ - 2026-01-04 + 2026-01-06 monthly 0.8 https://docloud.es/contacto/ - 2026-01-04 + 2026-01-06 monthly 0.8 https://docloud.es/aviso-legal/ - 2026-01-04 + 2026-01-06 yearly 0.3 https://docloud.es/politica-cookies/ - 2026-01-04 + 2026-01-06 yearly 0.3 https://docloud.es/politica-privacidad/ - 2026-01-04 + 2026-01-06 yearly 0.3 https://docloud.es/politica-seguridad/ - 2026-01-04 + 2026-01-06 yearly 0.3