# 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/-/`), 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.