Documentation Frappe Framework

Frappe Framework

Créer une app

Deuxième étape du tutoriel : générer le squelette de l’app Library Management avec bench new-app et comprendre le rôle de chaque dossier et fichier créé.

2 min de lectureMis à jour le Source : docs.frappe.io

Objectif

Cette étape consiste à générer le squelette d’une app Frappe à l’aide de la CLI bench.

Créer l’app

Avant de commencer, vérifiez que vous êtes bien dans un dossier bench avec bench find . :

terminal
$ bench find .
/home/frappe/frappe-bench is a bench directory!

Pour créer notre app de gestion de bibliothèque (Library Management), lancez la commande new-app :

terminal
bench new-app library_management

Plusieurs questions vous sont posées et une sortie semblable à celle-ci s’affiche. Vous pouvez saisir les informations manuellement ou appuyer sur Entrée pour conserver les valeurs par défaut :

code
App Title (default: Library Management):
App Description: Library Management System
App Publisher: Faris Ansari
App Email: [email protected]
App Icon (default 'octicon octicon-file-directory'):
App Color (default 'grey'):
App License (default 'MIT'):
'library_management' created at /home/frappe/frappe-bench/apps/library_management

Installing library_management
$ ./env/bin/pip install -q -U -e ./apps/library_management
$ bench build --app library_management
yarn run v1.22.4
$ FRAPPE_ENV=production node rollup/build.js --app library_management
Production mode
✔ Built js/moment-bundle.min.js
✔ Built js/libs.min.js
✨  Done in 1.95s.

Une fois les informations renseignées, une app nommée library_management est créée dans le dossier apps.

Pour voir la liste complète des icônes de la bibliothèque octicons, consultez https://primer.style/octicons/.

Structure des dossiers de l’app

Le dossier de votre app doit ressembler à ceci :

code
apps/library_management
├── README.md
├── library_management
│   ├── hooks.py
│   ├── library_management
│ │ └── __init__.py
│ ├── modules.txt
│ ├── patches.txt
│ ├── public
│ │ ├── css
│ │ └── js
│ ├── templates
│ │ ├── __init__.py
│ │ ├── includes
│ │ └── pages
│ │ └── __init__.py
│ └── www
└── pyproject.toml

Le dossier library_management (au premier niveau) contient tout le code source de votre app. Il comprend :

ÉlémentRôle
publicFichiers statiques servis par Nginx en production
templatesTemplates Jinja utilisés pour rendre les vues web
wwwPages web servies selon leur chemin dans le dossier
library_managementModule par défaut créé avec l’app
modules.txtListe des modules définis dans l’app
patches.txtEntrées de patchs pour les migrations de base de données
hooks.pyHooks permettant d’étendre ou d’intercepter les fonctionnalités standard du framework
pyproject.tomlDécrit comment l’app est construite ; vous pouvez y ajouter des dépendances Python tierces, qui seront installées en même temps que l’app

Étape suivante : Créer un site.

Pages liées