fix: correções Baixo da auditoria (escaping, dvh, transições, assets)

Fecha os itens 3.2.2, 3.3.1, 4.6, 5.2, 5.6, 5.7 e 7.4 do relatório de
auditoria de 2026-09-24: escapa saídas de site_img_url()/canonical,
valida identificadores de coluna em db_info_save(), troca 100vh por
100dvh, remove a última cor solta, encurta a transição para ~150ms,
acrescenta decoding=async/fetchpriority=high nas imagens da home, e
documenta as versões vendorizadas em ASSETS.md.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
andreandClaude Sonnet 5 committed 2026-09-25 12:16:33 +01:00
1 parent fcf86b60ea
commit 5cf0f14ad2
11 files changed
+69 -25

No files matched your search

+39
View File
@@ -0,0 +1,39 @@
# Assets de front-end desta app
Estado real a 25/09/2026 (auditoria em `CLAUDE_GITEA/audits/fitme3070-auditoria-2026-09-24.html`,
ponto 7.4). Não segue ainda a convenção da frota (`shared/platform-tools/ASSETS.md`): sem
Composer, sem versão no nome das pastas, duas bibliotecas em duplicado.
## O que está vendorizado e onde
| Biblioteca | Versão | Caminho | Usado em |
|------------------------|--------|----------------------------------------|----------------------|
| Bootstrap | 4.3.1 (EOL) | `assets/vendor/bootstrap/` | Site público |
| Bootstrap | 5.3.3 | `assets/vendor/bootstrap5/` | Backoffice |
| Bootstrap Icons | — | `assets/vendor/bootstrap-icons/` | Backoffice |
| jQuery | 3.7.1 | `assets/vendor/jquery/jquery-3.7.1.min.js` | Backoffice |
| jQuery | 3.7.1 | `site/assets/js/jquery-3.7.1.min.js` | Site público (cópia idêntica, pasta diferente) |
| Font Awesome Free | 5.13.1 | `site/assets/fonts/fontawesome/` | Site público (~18 MB, todo o pacote) |
| PHPMailer | 7.1.1 | `vendor/PHPMailer/` | Envio de email (`config/functions_mail.php`) |
Nenhuma pasta tem a versão no nome; para confirmar a versão real de cada uma, ver os comentários
de cabeçalho dos `.min.css`/`.min.js` ou `VERSION`/`const VERSION` no caso do PHPMailer.
## Porque não segue a convenção da frota
- **Sem Composer** (ver ponto 7.1 da auditoria): o PHPMailer devia vir de `composer require
phpmailer/phpmailer` e copiar-se o ficheiro final para vendor/, não ser colado à mão.
- **Duas versões de Bootstrap no mesmo projeto** porque o site público nunca migrou para o 5; até
lá, as duas cópias mantêm-se (o backoffice não pode regredir para o 4).
- **jQuery duplicado** em `assets/vendor/` e `site/assets/js/` — mesma versão, cópia
desnecessária; devia ser um só ficheiro partilhado pelos dois lados.
- **Google Fonts ainda vem de CDN** (`site/includes/include.php`) — pendente self-hosting do
Roboto (ver [[fitme-audit-2026-09]] na memória do projeto, "Pending for André").
## Antes de adicionar ou atualizar uma biblioteca
1. Preferir Composer sempre que o pacote exista (ver a convenção da frota).
2. Sem Composer: descarregar uma vez, commitar, e nomear a pasta com a versão
(`vendor/<lib>-<versão>/`), não um nome genérico.
3. Nunca duplicar a mesma versão em duas pastas — importar de um único sítio.
4. Atualizar esta tabela.