Para Desarrolladores

Especificaciones Tecnicas

Todo lo que necesita saber sobre la arquitectura, el stack tecnologico y los requisitos de uwAdmin6.

Stack Tecnologico

Tecnologias fiables y contrastadas, cero dependencias exoticas.

PHP 8.2+

  • OOP con clases y namespaces
  • MySQLi con prepared statements
  • Gestion de sesiones segura
  • Intervention Image 3.x

MySQL 8.0+

  • InnoDB con foreign keys
  • UTF8MB4 full unicode
  • Indices optimizados
  • Transacciones ACID

Frontend Stack

  • Tailwind CSS 4.x
  • Alpine.js 3.x
  • Flowbite 4.x
  • jQuery 3.7 (compatibilidad)

Rich Text Editor

  • TinyMCE 8.2
  • MoxieManager 8.2
  • Configuracion multilingue
  • Plugins personalizados

UI & Icons

  • Font Awesome Pro 7.1
  • Flag Icons (banderas)
  • SortableJS 1.15
  • Fancybox 3.5.7

Zero Framework

  • Sin Laravel/Symfony
  • Composer para dependencias minimas
  • Deploy via FTP/SFTP
  • Compatible con hosting compartido

Arquitectura

Patron modular con separacion de responsabilidades y multilingue nativo.

Patron Modular

Cada modulo sigue una estructura estandarizada:

/uw-admin/admin/{modulo}/
├── index.php       # Lista con filtri
├── form.php        # Create/Edit
├── ajax/           # Operazioni async
│   ├── delete.php
│   ├── toggle-*.php
│   └── reorder.php
└── includes/       # Componenti riutilizzabili

24 modulos implementados con este patron

Activacion selectiva para cada proyecto

Sistema Multilingue

Patron polimorfista con tablas separadas:

# Tabella principale
news (id, data_pubblicazione, attivo)

# Tabella traduzioni
news_traduzioni (
  id, news_id, lingua_id,
  titolo, slug, contenuto,
  UNIQUE(news_id, lingua_id)
)

9 idiomas soportados de forma nativa

URL SEO-friendly para cada idioma: /it/news/titolo

Gestion de Medios

Una sola subida, 7 formatos automaticos:

Formato Dimension Uso
s150pxThumbnail
m300pxCard
l600pxContent
xl1200pxHero
xxl1920pxFull HD
original-Backup
cropCustomRitaglio

Sistema RBAC

4 roles con permisos granulares por modulo:

Rol Read Write Delete Publish
Super Admin
Admin
Editor
Viewer

Gestion de Temas

Tema activo configurable desde el admin con soporte para tema de desarrollo:

Priorita risoluzione tema:
1. Tema sviluppo (se abilitato + IP/cookie)
2. Tema attivo (da database)
3. Fallback a 'default'

Override granular: personalice solo los archivos necesarios

Tema de desarrollo: pruebe nuevos temas sin afectar a los visitantes

Autorizacion: whitelist de IP o cookie secreta

Recuperacion de Contrasena

Sistema completo con correo SMTP y token seguro:

Token: 64 char hex (random_bytes)
Scadenza: 1 ora
Anti-enumeration: messaggio generico
SMTP: PHPMailer con fallback mail()

Modal integrado en la pagina de inicio de sesion (Alpine.js)

8 preferencias de correo configurables desde el admin

reCAPTCHA v3 opcional para anti-spam

RGPD & Cookie Consent

Sistema integrado sin dependencias para cumplimiento del RGPD y ePrivacy:

Cookie Banner (2 livelli):
1. Barra fissa: Accetta | Rifiuta | Personalizza
2. Modal: toggle per categoria cookie

Blocco preventivo script:
- GA4 caricato SOLO dopo consenso
- Script custom bloccati fino ad accettazione
- reCAPTCHA classificato come tecnico

Cookie: uw_cookie_consent (base64 JSON, 365gg)
Policy: generate automaticamente IT/EN

18 preferencias en base de datos (10 privacidad + 8 cookies)

Clases PHP: CookieConsent + PrivacyPolicy

Frontend: Alpine.js cookie-consent.js

Seguridad

Proteccion completa OWASP Top 10 y mejores practicas.

SQL Injection

100% prepared statements con binding de parametros via MySQLi.

$db->query($sql, [$id], 'i');

XSS Protection

Output encoding con htmlspecialchars() en todos los datos de usuario.

htmlspecialchars($data, ENT_QUOTES, 'UTF-8')

CSRF Protection

Token unico por sesion en cada formulario POST.

<input type="hidden" name="csrf_token" value="...">

Password Security

Hashing con PASSWORD_BCRYPT y cost factor 12.

password_hash($pwd, PASSWORD_BCRYPT, ['cost' => 12])

Rate Limiting

5 intentos fallidos -> bloqueo de 15 minutos. Anti brute-force.

max_attempts: 5, lockout: 900s

Session Fingerprint

Binding IP + User Agent. Regeneracion de ID tras el inicio de sesion.

session_regenerate_id(true);

reCAPTCHA v3

Proteccion anti-spam invisible con validacion basada en puntuacion (0.0-1.0).

$recaptcha->isValid(null, 'login');
OWASP Top 10 2021 - GDPR Compliant - Audit Trail

Requisitos de Hosting

Compatible con la mayoria de los proveedores de hosting.

Requisitos Minimos

PHP 8.2+
MySQL 8.0+
Memoria PHP 128 MB
Max Upload 32 MB
Espacio en Disco 500 MB+

Extensiones PHP Requeridas

mysqli
mbstring
gd
json
session
curl
fileinfo
openssl

Opcional: imagick para procesamiento avanzado de imagenes

Proveedores Compatibles

Aruba SiteGround Netsons OVH Serverplan VHosting DigitalOcean AWS

Integraciones

Servicios externos y API soportadas.

OpenRouter

OpenRouter AI

Generacion de contenidos
  • Claude, GPT-4, Llama
  • Asistentes especializados
  • Traducciones automaticas

YouTube

Video embed
  • Embed responsive
  • Miniatura automatica
  • Modo de privacidad mejorada

Vimeo

Video embed
  • Embed responsive
  • Extraccion de metadatos
  • Reproductor personalizado

Intervention Image

Image processing
  • Redimensionamiento automatico
  • Recorte inteligente (cover)
  • Marca de agua y rotacion

PHPMailer

Envio de correos
  • SMTP autenticado
  • Correos HTML responsive
  • Adjuntos y plantillas

Tiene dudas tecnicas?

Contacte con nosotros para una consultoria tecnica o para solicitar una demo personalizada.