56 lines
2.8 KiB
Markdown
56 lines
2.8 KiB
Markdown
# Créer une nouvelle application
|
|
|
|
Une fois que Bench est installé, vous apercevrez deux répertoires, `apps` and `sites`. Toutes les applications seront
|
|
installées dans `apps`.
|
|
|
|
Pour créer une nouvelle application, allez dans votre répertoire et lancer la commande, `bench new-app {app_name}` et
|
|
remplissez les informations à propos de votre application. Cela va créer un template d'application pour vous.
|
|
|
|
$ bench new-app library_management
|
|
App Title (defaut: Lib Mgt): Library Management
|
|
App Description: App for managing Articles, Members, Memberships and Transactions for Libraries
|
|
App Publisher: Frappe
|
|
App Email: info@frappe.io
|
|
App Icon (default 'octicon octicon-file-directory'): octicon octicon-book
|
|
App Color (default 'grey'): #589494
|
|
App License (default 'MIT'): GNU General Public License
|
|
|
|
### Structure d'une application
|
|
|
|
L'application sera créée dans un répertoire appelé `library_management` et aura la structure suivante:
|
|
|
|
.
|
|
├── MANIFEST.in
|
|
├── README.md
|
|
├── library_management
|
|
│ ├── __init__.py
|
|
│ ├── config
|
|
│ │ ├── __init__.py
|
|
│ │ └── desktop.py
|
|
│ ├── hooks.py
|
|
│ ├── library_management
|
|
│ │ └── __init__.py
|
|
│ ├── modules.txt
|
|
│ ├── patches.txt
|
|
│ └── templates
|
|
│ ├── __init__.py
|
|
│ ├── generators
|
|
│ │ └── __init__.py
|
|
│ ├── pages
|
|
│ │ └── __init__.py
|
|
│ └── statics
|
|
├── license.txt
|
|
├── requirements.txt
|
|
└── setup.py
|
|
|
|
1. `config` configuration de l'applicationfolder contains application configuration info
|
|
1. `desktop.py` est l'endroit ou les icones peuvent être ajoutées au bureau
|
|
1. `hooks.py` contient les définitions de la facon dont l'intégration avec l'environnement et les autres applications est faite.
|
|
1. `library_management` (interne) est un **module** bootstrappé. Dans Frappe, un **module** est l'endroit ou sont les controlleurs et les modeles.
|
|
1. `modules.txt` contient la liste des **modules** dans l'application. Quand vous créez un nouveau module, c'est obligatoire de l'ajouter dans ce fichier.
|
|
1. `patches.txt` contient les patchs de migration. Ce sont des références Python utilisant la notation par point.
|
|
1. `templates` est le repertoire qui contient les templates des vues. Les templates pour **Login** et autres pages par défaut sont déjà contenus dans Frappe.
|
|
1. `generators` est l'endroit ou sont stockés les templates des modèles. Chaque instance du modèle a une route web comme par exemple les **articles de blog** ou chaque article a une adresse unique. Dans Frappe, Jinj2 est utilisé pour les templates.
|
|
1. `pages` contient les routes uniques pour les templates. Par exemple "/blog" ou "/article"
|
|
|
|
{suite}
|