some pages translations

This commit is contained in:
smorele 2016-02-29 20:44:43 +01:00
parent 6a95306491
commit c438566bbc
3 changed files with 21 additions and 112 deletions

View file

@ -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)

View file

@ -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}

View file

@ -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}