Frappe Framework
Apps Frappe
L’application vit sur le chemin Python et dans apps.txt. bench new-app pose le squelette, puis install-app la relie à un site.
Ce qu’est une application
Une application Frappe est un paquet Python qui utilise la plateforme. Elle peut être n’importe où sur le chemin de recherche des modules Python, et elle doit avoir une ligne dans apps.txt. Le dossier des sites qui porte ce fichier est décrit dans Sites.
Créer
bench new-app app-name ouvre un dialogue : nom, titre, description, éditeur, icône, couleur, e-mail, URL et licence. L’exemple sample_app produit license.txt, MANIFEST.in, README.md, setup.py, et un paquet avec hooks.py, modules.txt, patches.txt, config/desktop.py, des modèles, des pages et des fichiers statiques. Le squelette suffit à montrer l’icône sur le bureau (Desk).
Fichiers
hooks.py décrit les métadonnées et les points d’intégration : planification, écoute des mises à jour de documents. Juste après la création, il reprend les valeurs saisies : app_name, app_title, app_publisher, app_description, app_icon, app_color, app_email, app_url, app_version. Dans l’exemple, l’icône saisie icon-linux devient fa-linux, et la couleur #6DAFC9 devient black. Le détail des hooks est dans Hooks.
modules.txt organise les documents. Chaque DocType est rattaché à un module. Par défaut, un module porte le nom de l’application, et chaque module a une icône sur le bureau. L’exemple ERPNext liste accounts, buying, home, hr, manufacturing, projects, selling, setup, stock, support, utilities et contacts.
Ajouter à un site
Que l’application vienne d’être créée ou téléchargée :
bench get-app https://github.com/org/app_name
bench --site site_name install-app app_namePoint d’attention
Sans ligne dans apps.txt et sans présence sur le chemin Python, le paquet n’est pas traité comme une application. install-app vise un site précis.
