Frappe Framework
Assets statiques
Les fichiers statiques de Frappe sont servis depuis frappe-bench/sites/assets, où le dossier public de chaque app est lié symboliquement. Cette page décrit aussi les assets propres à un site : fichiers publics et privés envoyés par les utilisateurs et sauvegardes.
Comment Frappe sert les fichiers statiques
Cette page explique comment les assets statiques sont servis dans Frappe Framework.
Le dossier assets
Les fichiers statiques sont servis depuis le dossier frappe-bench/sites/assets. Quand vous configurez Frappe pour la production, nginx sert directement ce dossier. Toutes les URL de fichiers statiques commencent par /assets. Un fichier situé à frappe-bench/sites/assets/hero.png est accessible publiquement via l’URL /assets/hero.png.
Le dossier public de chaque app
Chaque app possède son propre dossier public, qui sert à exposer des assets statiques. Ce dossier est lié symboliquement (symlink) vers frappe-bench/sites/assets/[appname]. Voici la sortie de la commande tree sur le dossier assets :
~/frappe-bench
$ tree sites/assets -L 1
sites/assets
├── erpnext -> ~/frappe-bench/apps/erpnext/erpnext/public
└── frappe -> ~/frappe-bench/apps/frappe/frappe/publicAutrement dit, si un fichier existe à [appname]/public/images/favicon.png, il existe aussi comme lien symbolique à assets/[appname]/images/favicon.png et il est accessible publiquement via l’URL /assets/[appname]/images/favicon.png.
Assets compilés
Les assets compilés (bundled assets) sont générés dans assets/[appname]/dist/js et assets/[appname]/dist/css. Ils sont donc accessibles via une URL de la forme /assets/[appname]/dist/js/main.bundle.[hash].js.
Assets du site
En plus des fichiers statiques fournis par les apps, chaque site peut avoir ses propres fichiers statiques, issus par exemple des envois des utilisateurs ou des sauvegardes du site.
Fichiers envoyés par les utilisateurs
Les fichiers publics envoyés par les utilisateurs sont stockés dans frappe-bench/sites/[sitename]/public/files. Un fichier stocké à frappe-bench/sites/[sitename]/public/files/profile.png est accessible publiquement via l’URL /files/profile.png.
Les fichiers privés envoyés par les utilisateurs sont stockés dans frappe-bench/sites/[sitename]/private/files. Un fichier stocké à frappe-bench/sites/[sitename]/private/files/profile.png est accessible via l’URL /private/files/profile.png. Les fichiers privés ne sont accessibles que si l’utilisateur est autorisé à les consulter.
Sauvegardes
Les sauvegardes locales générées pour le site sont stockées sous la forme frappe-bench/sites/[sitename]/private/backups/20210502_182223-[sitename]-database.sql.gz. Elles sont accessibles via l’URL /backups/20210502_182223-[sitename]-database.sql.gz, uniquement si l’utilisateur est autorisé à les télécharger.
Voici la sortie de la commande ls :
~/frappe-bench
$ ls -l sites/site1.test/private/backups
total 6160
-rw-r--r-- 1 farisansari staff 2429268 May 2 18:22 20210502_182223-site1_test-database.sql.gz
-rw-r--r-- 1 farisansari staff 278 May 2 18:22 20210502_182223-site1_test-site_config_backup.json