Para Programadores

Especificacoes Tecnicas

Tudo o que precisa de saber sobre a arquitetura, o stack tecnologico e os requisitos do uwAdmin6.

Stack Tecnologico

Tecnologias fiaveis e comprovadas, zero dependencias exoticas.

PHP 8.2+

  • OOP com classes e namespaces
  • MySQLi com prepared statements
  • Gestao de sessoes segura
  • Intervention Image 3.x

MySQL 8.0+

  • InnoDB com foreign keys
  • UTF8MB4 full unicode
  • Indices otimizados
  • Transacoes ACID

Frontend Stack

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

Rich Text Editor

  • TinyMCE 8.2
  • MoxieManager 8.2
  • Configuracao multilingue
  • Plugins personalizados

UI & Icons

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

Zero Framework

  • Sem Laravel/Symfony
  • Composer para dependencias minimas
  • Deploy via FTP/SFTP
  • Compativel com alojamento partilhado

Arquitetura

Padrao modular com separacao de responsabilidades e multilingue nativo.

Padrao Modular

Cada modulo segue uma estrutura padronizada:

/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 com este padrao

Ativacao seletiva para cada projeto

Sistema Multilingue

Padrao polimorfico com tabelas 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 suportados nativamente

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

Gestao de Media

Upload unico, 7 formatos automaticos:

Formato Dimensao Utilizacao
s150pxThumbnail
m300pxCard
l600pxContent
xl1200pxHero
xxl1920pxFull HD
original-Backup
cropCustomRitaglio

Sistema RBAC

4 funcoes com permissoes granulares por modulo:

Funcao Read Write Delete Publish
Super Admin
Admin
Editor
Viewer

Gestao de Temas

Tema ativo configuravel pelo admin com suporte a tema de desenvolvimento:

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

Override granular: personalize apenas os ficheiros necessarios

Tema de desenvolvimento: teste novos temas sem afetar os visitantes

Autorizacao: whitelist IP ou cookie secreto

Recuperacao de Palavra-passe

Sistema completo com email SMTP e token seguro:

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

Modal integrado na pagina de login (Alpine.js)

8 preferencias de email configuraveis pelo admin

reCAPTCHA v3 opcional para anti-spam

RGPD & Consentimento de Cookies

Sistema integrado sem dependencias para conformidade com RGPD e 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 base de dados (10 privacidade + 8 cookies)

Classes PHP: CookieConsent + PrivacyPolicy

Frontend: Alpine.js cookie-consent.js

Seguranca

Protecao completa OWASP Top 10 e melhores praticas.

SQL Injection

100% prepared statements com binding de parametros via MySQLi.

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

XSS Protection

Output encoding com htmlspecialchars() em todos os dados do utilizador.

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

CSRF Protection

Token unico por sessao em cada formulario POST.

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

Password Security

Hashing com PASSWORD_BCRYPT e cost factor 12.

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

Rate Limiting

5 tentativas falhadas -> lockout de 15 minutos. Anti brute-force.

max_attempts: 5, lockout: 900s

Session Fingerprint

Binding IP + User Agent. Regeneracao do ID apos login.

session_regenerate_id(true);

reCAPTCHA v3

Protecao anti-spam invisivel com validacao baseada em pontuacao (0.0-1.0).

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

Requisitos de Alojamento

Compativel com a maioria dos fornecedores de alojamento.

Requisitos Minimos

PHP 8.2+
MySQL 8.0+
Memoria PHP 128 MB
Max Upload 32 MB
Espaco em Disco 500 MB+

Extensoes PHP Necessarias

mysqli
mbstring
gd
json
session
curl
fileinfo
openssl

Opcional: imagick para processamento avancado de imagens

Fornecedores Compativeis

Aruba SiteGround Netsons OVH Serverplan VHosting DigitalOcean AWS

Integracoes

Servicos externos e API suportadas.

OpenRouter

OpenRouter AI

Geracao de conteudos
  • Claude, GPT-4, Llama
  • Assistentes especializados
  • Traducoes automaticas

YouTube

Video embed
  • Embed responsivo
  • Thumbnail automatico
  • Privacy-enhanced mode

Vimeo

Video embed
  • Embed responsivo
  • Extracao de metadados
  • Player personalizado

Intervention Image

Image processing
  • Redimensionamento automatico
  • Recorte inteligente (cover)
  • Marca de agua e rotacao

PHPMailer

Envio de email
  • SMTP autenticado
  • Email HTML responsivo
  • Anexos e templates

Tem questoes tecnicas?

Contacte-nos para uma consultoria tecnica ou para solicitar uma demo personalizada.