# Formulaires

Il existe différentes façon d'implémenter les formulaires avec Angular.

Ce guide aborde **les deux approches les plus répandues** :

* [**Template-driven Forms**](/angular/formulaires/template-driven-forms.md) ***(à éviter)*** : inspirée du "two-way binding" utilisé dans AngularJS, cette approche a de nombreuses limitations et s'avère rapidement **fastidieuse à implémenter**, **peu extensible** et **peu efficace**.<br>
* [**Reactive Forms**](/angular/formulaires/reactive-forms.md) ***(à adopter)*** : cette approche vient appuyer le paradigme "Reactive Programming" qui fait parti des fondements d'Angular avec : une meilleure **séparation de la logique du formulaire et de la vue**,  une **meilleure testabilité**, des `Observable`s, la **génération dynamique de formulaires** etc...

{% hint style="danger" %}
Il existe d'autres approches telles que celle décrite dans la documentation officielle <https://angular.io/guide/user-input> qu'il faut absolument éviter pour les raisons suivantes :

* **Couplage fort avec le DOM** et le "low level" en général.
* Ce sont des approches impératives qui ne respectent pas l'approche "Reactive" d'Angular *(Cf.* [*Violations du MVC Angular*](/angular/composants/lapproche-mvc.md#violations-du-mvc-angular)*)*.
  {% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://guide-angular.wishtack.io/angular/formulaires.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
