diff --git a/frappe/docs/user/en/tutorial/before.md b/frappe/docs/user/en/tutorial/before.md deleted file mode 100644 index 775c395c38..0000000000 --- a/frappe/docs/user/en/tutorial/before.md +++ /dev/null @@ -1,52 +0,0 @@ -# Avant de commencer - -

Liste des outils, technologies utiles dans le développement d'applications avec Frappe.

- -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) - diff --git a/frappe/docs/user/en/tutorial/index.md b/frappe/docs/user/en/tutorial/index.md deleted file mode 100644 index 19cb7bf918..0000000000 --- a/frappe/docs/user/en/tutorial/index.md +++ /dev/null @@ -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} diff --git a/frappe/docs/user/fr/tutorial/controllers.md b/frappe/docs/user/fr/tutorial/controllers.md index b994f71971..963feec9e9 100644 --- a/frappe/docs/user/fr/tutorial/controllers.md +++ b/frappe/docs/user/fr/tutorial/controllers.md @@ -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. Transaction -#### 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}