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

