Documentation Frappe Framework
Frappe Framework
Bases
Ce chapitre explique les concepts fondamentaux de Frappe Framework : architecture, structure des dossiers, apps, sites, DocTypes, utilisateurs et permissions, assets et configuration.
Contenu du chapitre
Ce chapitre explique les concepts fondamentaux de Frappe Framework : architecture, structure des dossiers, apps, sites, DocTypes, utilisateurs et permissions, assets et configuration.
Pages de ce chapitre, dans l’ordre de la documentation officielle :
Dans ce chapitre
- 01Qu’est-ce que Frappe Framework ?Frappe est un framework web full stack « batteries incluses », écrit en Python et JavaScript, qui motorise ERPNext. Cette page présente ses principes : métadonnées, interface d’administration, permissions, ORM, temps réel, tâches de fond, e-mail et impression.
- 02Pourquoi Frappe Framework ?Frappe a été conçu pour motoriser ERPNext avec une philosophie simple : écrire le moins de code possible. Cette page résume ses atouts : développement rapide, batteries incluses, déploiement facile avec bench, multi-tenant et architecture extensible.
- 03ArchitectureFrappe Framework embarque tout le nécessaire pour mettre un site en production : base de données, cache, tâches de fond, notifications temps réel. Cette page décrit la structure créée par bench init et ses liens avec la pile technique.
- 04Structure des dossiersAprès bench init, le dossier frappe-bench contient apps, sites, logs, config, env et un Procfile. Cette page explique le rôle de chacun et détaille les processus lancés par le Procfile par défaut.
- 05AppsUne app Frappe est un paquet Python qui s’appuie sur le framework. Cette page explique comment créer une app avec bench new-app, décrit sa structure de dossiers et montre comment l’installer sur un site.
- 06SitesFrappe est une plateforme multi-tenant : chaque tenant est un site avec sa propre base de données. Cette page décrit le dossier sites, la création d’un site, sa structure, son fichier site_config.json et la façon dont Frappe choisit le site à servir.
- 07Comprendre les DocTypesLe DocType est la brique fondamentale de Frappe Framework : il décrit à la fois le modèle et la vue de vos données et génère une table en base. Cette page introduit le concept, ses conventions de nommage et les vues obtenues automatiquement.
- 08Utilisateurs et permissionsFrappe intègre un système complet d’authentification : utilisateurs, rôles, permissions par DocType, niveaux de permission, permissions utilisateur, hachage des mots de passe, politique de mots de passe et connexion tierce. Cette page en fait le tour.
- 09Regroupement des assets (Asset Bundling)Frappe embarque un bundler qui compile les assets côté client (JS moderne, TypeScript, Vue, SCSS, CSS…). Cette page explique bench build et bench watch, la convention des fichiers .bundle, l’import de bibliothèques npm et l’inclusion des assets compilés dans vos pages.
- 10Assets statiquesLes 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.
- 11Configuration (site_config.json)Chaque site a son fichier, le bench a le commun. Les clés obligatoires sont le type, le nom et le mot de passe de la base. extra_config s’exécute à chaque requête.
- 12Piste d’audit (Audit Trail)Quand un document validable est annulé puis amendé, la piste d’audit compare jusqu’à cinq versions précédentes.
