Passer au contenu principal
Le dossier public/ à la racine de votre application contient des fichiers statiques — images, icônes, polices ou toute autre ressource dont votre application a besoin à l’exécution. Ces fichiers sont automatiquement inclus dans les builds, synchronisés pendant le mode de développement et téléversés vers le serveur. Les fichiers placés dans public/ sont :
  • Accessibles publiquement — une fois synchronisés avec le serveur, les fichiers sont servis à une URL publique. Aucune authentification n’est nécessaire pour y accéder.
  • Disponibles dans les composants frontaux — utilisez les URL des ressources pour afficher des images, des icônes ou tout média dans vos composants React.
  • Disponibles dans les fonctions logiques — référencez des URL de ressources dans des e-mails, des réponses d’API ou toute logique côté serveur.
  • Utilisés pour les métadonnées de marketplace — les champs logo et galleryImages dans defineApplication() référencent des fichiers de ce dossier (p. ex., public/logo.png). Celles-ci sont affichées dans la marketplace lorsque votre application est publiée. Les URL absolues externes sont ignorées pour ces champs — intégrez plutôt les images dans public/. Chaque image ne doit pas dépasser 10 Mo.
  • Synchronisés automatiquement en mode dev — lorsque vous ajoutez, mettez à jour ou supprimez un fichier dans public/, il est automatiquement synchronisé avec le serveur. Aucun redémarrage nécessaire.
  • Inclus dans les buildsyarn twenty dev:build regroupe toutes les ressources publiques dans la sortie de distribution.

Accéder aux ressources publiques avec getPublicAssetUrl

Utilisez l’utilitaire getPublicAssetUrl de twenty-sdk pour obtenir l’URL complète d’un fichier dans votre répertoire public/. Cela fonctionne à la fois dans les fonctions logiques et les composants frontaux. Dans une fonction logique :
src/logic-functions/send-invoice.ts
Dans un composant frontal :
src/front-components/company-card.tsx
L’argument path est relatif au dossier public/ de votre application. Les deux getPublicAssetUrl('logo.png') et getPublicAssetUrl('public/logo.png') aboutissent à la même URL — le préfixe public/ est supprimé automatiquement s’il est présent.