some pages translations
This commit is contained in:
parent
6a95306491
commit
c438566bbc
3 changed files with 21 additions and 112 deletions
|
|
@ -1,52 +0,0 @@
|
|||
# Avant de commencer
|
||||
|
||||
<p class="lead">Liste des outils, technologies utiles dans le développement d'applications avec Frappe.</p>
|
||||
|
||||
Il y a un grand nombres de tutoriels en ligne et nous recommandons [CodeAcademy](http://www.codecademy.com/) ou vous
|
||||
trouverez beaucoup de ressources de qualité.
|
||||
---
|
||||
|
||||
#### 1. Python
|
||||
|
||||
La partie serveur de Frappe est codée en Python et c'est une bonne idée d'[apprendre rapidement Python](http://www.codecademy.com/tracks/python)
|
||||
avant de commencer à comprendre Frappe. [Le tutoriel sur docs.python.org](https://docs.python.org/2.7/tutorial/index.html)
|
||||
est aussi une excellente ressource pour apprendre Python. Notez que Frappe utilise Python 2.7.
|
||||
|
||||
Pour produire une application de qualité, vous devez inclure des tests automatiques. Vous pouvez comprendre les bases
|
||||
du développement par les tests [ici](http://code.tutsplus.com/tutorials/beginning-test-driven-development-in-python--net-30137).
|
||||
|
||||
---
|
||||
|
||||
#### 2. MariaDB / MySQL
|
||||
|
||||
Vous devez comprendre les notions essentielles des bases de données, comment installer, se connecter, créer de nouvelles bases,
|
||||
et comment faire des requêtes. Voici [une rapide introduction à MySQL](https://www.digitalocean.com/community/tutorials/a-basic-mysql-tutorial) ou dirigez vous vers [le site MariaDB pour des informations plus détaillées](https://mariadb.com/kb/en/mariadb/documentation/getting-started/)
|
||||
|
||||
---
|
||||
|
||||
#### 3. HTML / CSS
|
||||
|
||||
Pour construire des interfaces utilisateur, vous devez [apprendre les bases HTML / CSS](http://www.codecademy.com/tracks/web) et [connaître le framework CSS Boostrap](http://getbootstrap.com)
|
||||
|
||||
---
|
||||
|
||||
#### 4. Construire des interfaces avec Javascript et JQuery
|
||||
|
||||
Pour customiser les formulaires et créer des interfaces riches, le mieux est [d'apprendre Javascript](http://www.codecademy.com/tracks/javascript) et la [fameuse librairie JQuery](http://www.codecademy.com/tracks/jquery).
|
||||
|
||||
---
|
||||
|
||||
#### 5. Modifier les affichages et les pages web avec le sysème de template Jinja
|
||||
|
||||
Si vous voulez modifier les affichages, vous devez apprendre le [language de template Jinja](http://jinja.pocoo.org/). C'est un moyen rapide de construire des pages web dynamiques.
|
||||
|
||||
---
|
||||
|
||||
#### 6. Git et GitHub
|
||||
|
||||
[Apprenz à contrinuer à un projet open source en utilisant Git et GitHub](https://guides.github.com/activities/contributing-to-open-source/), deux outils fantastiques pour vous aider à gérer et partager votre code.
|
||||
|
||||
---
|
||||
|
||||
Quand vous êtes prêts, [essayez de développer une simple applicationa avec Frappe]({{ docs_base_url }}/user/fr/tutorial/app)
|
||||
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
# Tutoriel Frappe
|
||||
|
||||
Dans ce guide nous allins vous montrer comment créer une application de A à Z en utilisant **Frappe**. En utilisant un
|
||||
exemple de gestion d'une librairie, nous allons aborder les sujets suivants:
|
||||
|
||||
1. Installation
|
||||
1. Créer une nouvelle application
|
||||
1. Créer des modèles
|
||||
1. Créer des utilisateurs et des enregristrements
|
||||
1. Créer des contrôleurs
|
||||
1. Créer des vues web
|
||||
1. Configurer des Hooks et des tâches
|
||||
|
||||
## A qui s'adresse ce tutoriel ?
|
||||
|
||||
Ce guide est à destination des développeurs familiers avec la création d'applications web. Le framework Frappe est développé
|
||||
avec Python, utilise le système de base de données MariaDB et database and HTML/CSS/Javascript pour le rendu des pages.
|
||||
Il est donc necessaire d'être familier avec ces technologies. Si vous n'avez jamais utilisé Python auparavant, vous devriez
|
||||
suivre un tutoriel rapide avant de suivre ce guide.
|
||||
|
||||
Frappe utilise le système de gestion de version git sur Github. Il est donc imporant que vous connaissiez les basiques de
|
||||
l'utilisation de git et que vous ayez un compte sur Github pour gérer vos applications.
|
||||
|
||||
## Exemple
|
||||
|
||||
Dans ce guide, nous allons développer une simple application de **gestion de librairie**. Dans cette applications nous aurons
|
||||
les modèles suivants:
|
||||
|
||||
1. Article (un livre ou tout autre produit qui peut être emprunté)
|
||||
1. Library Member (membre de la librairie)
|
||||
1. Library Transaction (prêt ou retour d'un article)
|
||||
1. Library Membership (Periode pendant laquelle un membre peut emprunter)
|
||||
1. Library Management Setting (configuration générale)
|
||||
|
||||
L'interace utilisateur (UI) pour le libraire sera **Frappe Desk**, un système de rendu d'interface où les formulaires sont
|
||||
automatiquement générés depuis les modèles en appliquant rôles et permissions.
|
||||
|
||||
Nous allons aussi créer des vues pour la lirairie afin que les utilisateurs puissent parcourir les articles depuis un site
|
||||
internet.
|
||||
|
||||
{index}
|
||||
|
|
@ -1,21 +1,23 @@
|
|||
# Controllers
|
||||
# Les controleurs
|
||||
|
||||
Next step would be adding methods and event handlers to models. In the app, we should ensure that if a Library Transaction is made, the Article in question must be in stock and the member loaning the Article must have a valid membership.
|
||||
La prochaine étape est d'ajouter quelques méthodes et évéements à nos modèles. Dans l'application, nous devons nous
|
||||
assurer que si une opération est faite, l'article concerné doit être disponible en stock et que le membre qui souhaite
|
||||
faire le prêt à un abonnement valide.
|
||||
|
||||
For this, we can write a validation just before the Library Transaction object is saved. To do this, open the `library_management/doctype/library_transaction/library_transaction.py` template.
|
||||
Pour cela, nous pouvons écrire une règle de validation au moment de la sauvegarde du prêt. Ouvrez le template `library_management/doctype/library_transaction/library_transaction.py`.
|
||||
|
||||
This file is the controller for the Library Transaction object. In this you can write methods for:
|
||||
Ce fichier est le controleur qui gère les opérations de la librairie, vous pouvez y écrire des méthodes pour:
|
||||
|
||||
1. `before_insert`
|
||||
1. `validate` (before inserting or updating)
|
||||
1. `on_update` (after saving)
|
||||
1. `on_submit` (when document is set as submitted)
|
||||
1. `validate` (avant l'insertion ou la mise à jour)
|
||||
1. `on_update` (après la sauvegarde)
|
||||
1. `on_submit` (quand le document est soumis)
|
||||
1. `on_cancel`
|
||||
1. `on_trash` (before it is about to be deleted)
|
||||
1. `on_trash` (avant qu'il ne soit sur le point d'être supprimé)
|
||||
|
||||
You can write methods for these events and they will be called by the framework when the document is saved etc.
|
||||
Vous pouvez écrire des méthodes pour ces événement et elles seront appelées par le framework au bon moment.
|
||||
|
||||
Here is the finished controller:
|
||||
Voici pour finir le controleur:
|
||||
|
||||
from __future__ import unicode_literals
|
||||
import frappe
|
||||
|
|
@ -40,20 +42,20 @@ Here is the finished controller:
|
|||
if not last_transaction or last_transaction[0].transaction_type!="Issue":
|
||||
frappe.throw(_("Cannot return article not issued"))
|
||||
|
||||
In this script:
|
||||
Dans ce scrit:
|
||||
|
||||
1. We get the last transaction before the current transaction date using the query function `frappe.get_list`
|
||||
1. If the last transaction is something we don't like we throw an exception using `frappe.throw`
|
||||
1. We use `_("text")` method to identify translatable strings.
|
||||
1. Nous récuperons la dernière opération, avant la date de l'opération en cours en utilisant la méthode `frappe.get_list`
|
||||
1. Si la dernière opération est quelque chose qui n'est pas attendu, alors nous levons une exception en utilisant `frappe.throw`
|
||||
1. Nous utilisons la méthode `_("text")` pour identifier une chaine traduisible.
|
||||
|
||||
Check if your validations work by creating new records
|
||||
Verifiez vos validations en créant de nouveux enregistrements.
|
||||
|
||||
<img class="screenshot" alt="Transaction" src="{{docs_base_url}}/assets/img/lib_trans.png">
|
||||
|
||||
#### Debugging
|
||||
#### Debogage
|
||||
|
||||
To Debug, always keep your JS Console open. Lookout for both Javascript and server tracebacks.
|
||||
Pour debugger, gardez toujours votre console JS ouverte, vérifier les erreurs à la fois de Javascript mais aussi du serveur.
|
||||
|
||||
Also check your terminal window for exceptions. Any **500 Internal Server Errors** will get printed in your terminal where on which your server is running.
|
||||
Regardez aussi votre fenêtre de terminal pour les esceptions. Chaque **erreur 500 pour des problèmes internes** seront affichées dans le terminal du serveur en cours d'utilisation.
|
||||
|
||||
{next}
|
||||
{suite}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue