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>
40 lines
2.5 KiB
Markdown
40 lines
2.5 KiB
Markdown
# 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.
|