Files
andre 18676ad6d0 feat(icons): load Bootstrap Icons and Font Awesome from the shared platform-tools packs
Register the icons packs in platform_connect, add fit_icon_assets() with local
fallback, and add a sysadmin 'Pacotes de icones' link to platform?tool=icons.
2026-10-13 18:55:12 +01:00

2.9 KiB

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). Composer real desde 25/09 (composer.json/composer.lock, ver PLATFORM_TOOLS.md), mas ainda sem versão no nome das pastas dos ficheiros hand-vendored.

O que está vendorizado e onde

Biblioteca Versão Caminho Usado em
Bootstrap 5.3.3 assets/vendor/bootstrap5/ Site público + backoffice (unificado 25/09)
Bootstrap Icons — assets/vendor/bootstrap-icons/ Backoffice (agora carregado do pacote partilhado bootstrap-icons 1.13.1; esta cópia só como recurso)
jQuery 3.7.1 assets/vendor/jquery/jquery-3.7.1.min.js Site público + backoffice (deduplicado 25/09)
Font Awesome Free 5.13.1 site/assets/fonts/fontawesome/ Site público: agora FA 6.7.2 do pacote partilhado fontawesome; esta cópia (~18 MB) só como recurso, sem uso se o submódulo tiver functions_icons.php
PHPMailer 7.1.1 vendor/PHPMailer/ Envio de email (config/functions_mail.php, partilhado)

assets/vendor/bootstrap/ (a cópia 4.3.1) ficou sem nenhuma referência depois da migração — ainda no disco, ninguém a carrega, por remover (git rm -r, não feito ainda).

Nenhuma pasta hand-vendored 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. composer.lock já fixa a versão exata do que o Composer instala.

Porque não segue por completo a convenção da frota

  • PHPMailer continua hand-vendored em vez de vir do Composer da app: shared/platform-tools/ functions_mail.php (partilhado por toda a frota) exige vendor/PHPMailer/src/PHPMailer.php por caminho fixo, não o layout vendor/phpmailer/phpmailer/... que o Composer geraria — mudar isso é código partilhado, fora do alcance de uma app só (mesma razão que a fotografia mantém as duas árvores). composer.json declara a dependência mesmo assim, para composer audit/outdated saberem da versão.
  • 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.