Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Loading…

Translate/action controller overview #9

Open
wants to merge 10 commits into from

3 participants

@Hettomei

No description provided.

guides/source/action_controller_overview.md
((4 lines not shown))
-In this guide you will learn how controllers work and how they fit into the request cycle in your application.
-
-After reading this guide, you will know:
-
-* How to follow the flow of a request through a controller.
-* Why and how to store data in the session or cookies.
-* How to work with filters to execute code during request processing.
-* How to use Action Controller's built-in HTTP authentication.
-* How to stream data directly to the user's browser.
-* How to filter sensitive parameters so they do not appear in the application's log.
-* How to deal with exceptions that may be raised during request processing.
+Vue d'ensemble d'_Action Controller_
+==================================
+
+Dans ce guide, vous allez apprendre comment les contrôleurs
+fonctionnent et comment s'en servir dans le cycle de votre application.
@simonc Owner
simonc added a note

Il vaut mieux éviter de sauter des lignes qui ne le sont pas à l'origine. Pour peut que le parseur markdown soit réglé pour les prendre en compte (comme sur github par exemple), ça peut changer complètement le rendu de guide ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((8 lines not shown))
-* How to follow the flow of a request through a controller.
-* Why and how to store data in the session or cookies.
-* How to work with filters to execute code during request processing.
-* How to use Action Controller's built-in HTTP authentication.
-* How to stream data directly to the user's browser.
-* How to filter sensitive parameters so they do not appear in the application's log.
-* How to deal with exceptions that may be raised during request processing.
+Vue d'ensemble d'_Action Controller_
+==================================
+
+Dans ce guide, vous allez apprendre comment les contrôleurs
+fonctionnent et comment s'en servir dans le cycle de votre application.
+
+Après avoir lu ce guide, vous saurez :
+
+* Comment suivre le chemin d'une requête à travers le contrôleur.
@simonc Owner
simonc added a note

parcours
un contrôleur

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((9 lines not shown))
-* Why and how to store data in the session or cookies.
-* How to work with filters to execute code during request processing.
-* How to use Action Controller's built-in HTTP authentication.
-* How to stream data directly to the user's browser.
-* How to filter sensitive parameters so they do not appear in the application's log.
-* How to deal with exceptions that may be raised during request processing.
+Vue d'ensemble d'_Action Controller_
+==================================
+
+Dans ce guide, vous allez apprendre comment les contrôleurs
+fonctionnent et comment s'en servir dans le cycle de votre application.
+
+Après avoir lu ce guide, vous saurez :
+
+* Comment suivre le chemin d'une requête à travers le contrôleur.
+* Pourquoi et comment enregistrer des données dans des sessions ou
@simonc Owner
simonc added a note

en session ou dans les cookies

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((15 lines not shown))
+Vue d'ensemble d'_Action Controller_
+==================================
+
+Dans ce guide, vous allez apprendre comment les contrôleurs
+fonctionnent et comment s'en servir dans le cycle de votre application.
+
+Après avoir lu ce guide, vous saurez :
+
+* Comment suivre le chemin d'une requête à travers le contrôleur.
+* Pourquoi et comment enregistrer des données dans des sessions ou
+cookies.
+* Comment travailler avec les filtres pour exécuter du code pendant le
+traitement de la requête.
+* Comment utiliser l'authentification HTTP avec _Action Controller_.
+* Comment envoyer en continue des données au navigateur.
+* Comment filtrer les paramètres sensible pour ne pas qu'ils apparaissent
@simonc Owner
simonc added a note

sensibles

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((17 lines not shown))
+
+Dans ce guide, vous allez apprendre comment les contrôleurs
+fonctionnent et comment s'en servir dans le cycle de votre application.
+
+Après avoir lu ce guide, vous saurez :
+
+* Comment suivre le chemin d'une requête à travers le contrôleur.
+* Pourquoi et comment enregistrer des données dans des sessions ou
+cookies.
+* Comment travailler avec les filtres pour exécuter du code pendant le
+traitement de la requête.
+* Comment utiliser l'authentification HTTP avec _Action Controller_.
+* Comment envoyer en continue des données au navigateur.
+* Comment filtrer les paramètres sensible pour ne pas qu'ils apparaissent
+dans les logs
+* Comment traiter les exceptions qui serait levées durant le traitement
@simonc Owner
simonc added a note

seraient

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((34 lines not shown))
--------------------------------------------------------------------------------
-What Does a Controller Do?
+Que fait le contrôleur ?
@simonc Owner
simonc added a note

un contrôleur

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((39 lines not shown))
--------------------------
-Action Controller is the C in MVC. After routing has determined which controller to use for a request, your controller is responsible for making sense of the request and producing the appropriate output. Luckily, Action Controller does most of the groundwork for you and uses smart conventions to make this as straightforward as possible.
-
-For most conventional [RESTful](http://en.wikipedia.org/wiki/Representational_state_transfer) applications, the controller will receive the request (this is invisible to you as the developer), fetch or save data from a model and use a view to create HTML output. If your controller needs to do things a little differently, that's not a problem, this is just the most common way for a controller to work.
-
-A controller can thus be thought of as a middle man between models and views. It makes the model data available to the view so it can display that data to the user, and it saves or updates data from the user to the model.
-
-NOTE: For more details on the routing process, see [Rails Routing from the Outside In](routing.html).
-
-Methods and Actions
+_Action Controller_ est le C dans MVC. Après que le routeur ai déterminé
@simonc Owner
simonc added a note

ait

@simonc Owner
simonc added a note

routage (cf. dictionnaire)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((39 lines not shown))
--------------------------
-Action Controller is the C in MVC. After routing has determined which controller to use for a request, your controller is responsible for making sense of the request and producing the appropriate output. Luckily, Action Controller does most of the groundwork for you and uses smart conventions to make this as straightforward as possible.
-
-For most conventional [RESTful](http://en.wikipedia.org/wiki/Representational_state_transfer) applications, the controller will receive the request (this is invisible to you as the developer), fetch or save data from a model and use a view to create HTML output. If your controller needs to do things a little differently, that's not a problem, this is just the most common way for a controller to work.
-
-A controller can thus be thought of as a middle man between models and views. It makes the model data available to the view so it can display that data to the user, and it saves or updates data from the user to the model.
-
-NOTE: For more details on the routing process, see [Rails Routing from the Outside In](routing.html).
-
-Methods and Actions
+_Action Controller_ est le C dans MVC. Après que le routeur ai déterminé
+quel contrôleur utiliser pour une requête, votre contrôleur doit faire
+le nécessaire pour sortir un résultat en lien avec la requête. Par
+chance, _Action Controller_ fait le travail de base et utilise des
+conventions intelligentes pour le rendre le plus simple et rapide que
@simonc Owner
simonc added a note

... pour rendre le reste le plus simple ...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((46 lines not shown))
-
-NOTE: For more details on the routing process, see [Rails Routing from the Outside In](routing.html).
-
-Methods and Actions
+_Action Controller_ est le C dans MVC. Après que le routeur ai déterminé
+quel contrôleur utiliser pour une requête, votre contrôleur doit faire
+le nécessaire pour sortir un résultat en lien avec la requête. Par
+chance, _Action Controller_ fait le travail de base et utilise des
+conventions intelligentes pour le rendre le plus simple et rapide que
+possible.
+
+Pour les applications de type
+[RESTful](http://fr.wikipedia.org/wiki/Representational_State_Transfer),
+le contrôleur reçoit la requête (c'est invisible pour les développeurs),
+récupère ou sauvegarde les données du modèle et utilise la vue pour
+générer le html. Si votre contrôleur à besoin de faire les choses un
@simonc Owner
simonc added a note

HTML

@simonc Owner
simonc added a note

a besoin

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((51 lines not shown))
+quel contrôleur utiliser pour une requête, votre contrôleur doit faire
+le nécessaire pour sortir un résultat en lien avec la requête. Par
+chance, _Action Controller_ fait le travail de base et utilise des
+conventions intelligentes pour le rendre le plus simple et rapide que
+possible.
+
+Pour les applications de type
+[RESTful](http://fr.wikipedia.org/wiki/Representational_State_Transfer),
+le contrôleur reçoit la requête (c'est invisible pour les développeurs),
+récupère ou sauvegarde les données du modèle et utilise la vue pour
+générer le html. Si votre contrôleur à besoin de faire les choses un
+peu différemment, ce n'est pas un problème, c'est juste la façon la plus
+conventionnelle pour le contrôleur de travailler.
+
+Un contrôleur fait le lien entre les modèles et les vues. Il rend
+disponible les données du modèle pour la vue, ce qui nous permet de les
@simonc Owner
simonc added a note

disponibles

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((52 lines not shown))
+le nécessaire pour sortir un résultat en lien avec la requête. Par
+chance, _Action Controller_ fait le travail de base et utilise des
+conventions intelligentes pour le rendre le plus simple et rapide que
+possible.
+
+Pour les applications de type
+[RESTful](http://fr.wikipedia.org/wiki/Representational_State_Transfer),
+le contrôleur reçoit la requête (c'est invisible pour les développeurs),
+récupère ou sauvegarde les données du modèle et utilise la vue pour
+générer le html. Si votre contrôleur à besoin de faire les choses un
+peu différemment, ce n'est pas un problème, c'est juste la façon la plus
+conventionnelle pour le contrôleur de travailler.
+
+Un contrôleur fait le lien entre les modèles et les vues. Il rend
+disponible les données du modèle pour la vue, ce qui nous permet de les
+afficher, puis il enregistre ou met à jour les données du modèle
@simonc Owner
simonc added a note

afficher. Il enregistre ensuite

@simonc Owner
simonc added a note

Au temps pour moi, j'avais mal lu.

@simonc Owner
simonc added a note

puis il enregistre ou met à jour le modèle avec les données fournies par l'utilisateur.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((55 lines not shown))
+possible.
+
+Pour les applications de type
+[RESTful](http://fr.wikipedia.org/wiki/Representational_State_Transfer),
+le contrôleur reçoit la requête (c'est invisible pour les développeurs),
+récupère ou sauvegarde les données du modèle et utilise la vue pour
+générer le html. Si votre contrôleur à besoin de faire les choses un
+peu différemment, ce n'est pas un problème, c'est juste la façon la plus
+conventionnelle pour le contrôleur de travailler.
+
+Un contrôleur fait le lien entre les modèles et les vues. Il rend
+disponible les données du modèle pour la vue, ce qui nous permet de les
+afficher, puis il enregistre ou met à jour les données du modèle
+provenant de l'utilisateur.
+
+Pour plus de détails sur le fonctionnement du routeur : [Rails Routing from the Outside In](routing.html).
@simonc Owner
simonc added a note

routage

@simonc Owner
simonc added a note

Garder en mémoire de traduire le titre quand tous les titres seront traduits.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((73 lines not shown))
-------------------
-A controller is a Ruby class which inherits from `ApplicationController` and has methods just like any other class. When your application receives a request, the routing will determine which controller and action to run, then Rails creates an instance of that controller and runs the method with the same name as the action.
+Un contrôleur est une classe Ruby qui hérite d'`ApplicationController` et
@simonc Owner
simonc added a note

avant un bloc de code on préfère utiliser de que d' c'est plus propre :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((73 lines not shown))
-------------------
-A controller is a Ruby class which inherits from `ApplicationController` and has methods just like any other class. When your application receives a request, the routing will determine which controller and action to run, then Rails creates an instance of that controller and runs the method with the same name as the action.
+Un contrôleur est une classe Ruby qui hérite d'`ApplicationController` et
+a des méthodes comme tout autre classe. Quand votre application reçoit
+une demande, le routeur déterminera quel contrôleur et action
@simonc Owner
simonc added a note

routage

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((73 lines not shown))
-------------------
-A controller is a Ruby class which inherits from `ApplicationController` and has methods just like any other class. When your application receives a request, the routing will determine which controller and action to run, then Rails creates an instance of that controller and runs the method with the same name as the action.
+Un contrôleur est une classe Ruby qui hérite d'`ApplicationController` et
+a des méthodes comme tout autre classe. Quand votre application reçoit
+une demande, le routeur déterminera quel contrôleur et action
+exécuter, puis Rails créé une instance de ce contrôleur et appel la
@simonc Owner
simonc added a note

crée

@simonc Owner
simonc added a note

appelle

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((73 lines not shown))
-------------------
-A controller is a Ruby class which inherits from `ApplicationController` and has methods just like any other class. When your application receives a request, the routing will determine which controller and action to run, then Rails creates an instance of that controller and runs the method with the same name as the action.
+Un contrôleur est une classe Ruby qui hérite d'`ApplicationController` et
+a des méthodes comme tout autre classe. Quand votre application reçoit
+une demande, le routeur déterminera quel contrôleur et action
+exécuter, puis Rails créé une instance de ce contrôleur et appel la
+méthodes qui à le même nom l'action.
@simonc Owner
simonc added a note

méthode qui a le même nom que l'action.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((18 lines not shown))
+Dans ce guide, vous allez apprendre comment les contrôleurs
+fonctionnent et comment s'en servir dans le cycle de votre application.
+
+Après avoir lu ce guide, vous saurez :
+
+* Comment suivre le chemin d'une requête à travers le contrôleur.
+* Pourquoi et comment enregistrer des données dans des sessions ou
+cookies.
+* Comment travailler avec les filtres pour exécuter du code pendant le
+traitement de la requête.
+* Comment utiliser l'authentification HTTP avec _Action Controller_.
+* Comment envoyer en continue des données au navigateur.
+* Comment filtrer les paramètres sensible pour ne pas qu'ils apparaissent
+dans les logs
+* Comment traiter les exceptions qui serait levées durant le traitement
+de la requête.
@simonc Owner
simonc added a note

Pour les listes, on essaie de respecter la règle de ponctuation française. Il faut donc terminer chaque ligne par ; (espace point-virgule) et la dernière par ..

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
@@ -38,7 +61,13 @@ class ClientsController < ApplicationController
end
```
-As an example, if a user goes to `/clients/new` in your application to add a new client, Rails will create an instance of `ClientsController` and run the `new` method. Note that the empty method from the example above could work just fine because Rails will by default render the `new.html.erb` view unless the action says otherwise. The `new` method could make available to the view a `@client` instance variable by creating a new `Client`:
+Pour exemple, si un utilisateur va vers `/clients/new` dans notre
+application pour ajouter un nouveau client, Rails créera une instance de
+`ClientsController` et appellera la méthode `new`. Notez bien que la méthode
+vide utilisée dans l'exemple fonctionne car Rails rendra par défaut
+la vue `new.html.erb` sauf si l'action dit de faire différemment. La
+méthode `new` peut rendre visible pour la vue la variable d'instance
@simonc Owner
simonc added a note

pourrait

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((7 lines not shown))
-`ApplicationController` inherits from `ActionController::Base`, which defines a number of helpful methods. This guide will cover some of these, but if you're curious to see what's in there, you can see all of them in the API documentation or in the source itself.
+`ApplicationController` hérite d'`ActionController::Base` qui définis
@simonc Owner
simonc added a note

d' :arrow_right: de

@simonc Owner
simonc added a note

définit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((7 lines not shown))
-`ApplicationController` inherits from `ActionController::Base`, which defines a number of helpful methods. This guide will cover some of these, but if you're curious to see what's in there, you can see all of them in the API documentation or in the source itself.
+`ApplicationController` hérite d'`ActionController::Base` qui définis
+un certain nombre de méthodes bien utile. Ce guide reviendra sur certaines
@simonc Owner
simonc added a note

utiles

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((14 lines not shown))
-Only public methods are callable as actions. It is a best practice to lower the visibility of methods which are not intended to be actions, like auxiliary methods or filters.
+Seulement les méthodes publique sont appelées en tant qu'actions. C'est
@simonc Owner
simonc added a note

Seules

@simonc Owner
simonc added a note

publiques

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((22 lines not shown))
----------
-You will probably want to access data sent in by the user or other parameters in your controller actions. There are two kinds of parameters possible in a web application. The first are parameters that are sent as part of the URL, called query string parameters. The query string is everything after "?" in the URL. The second type of parameter is usually referred to as POST data. This information usually comes from an HTML form which has been filled in by the user. It's called POST data because it can only be sent as part of an HTTP POST request. Rails does not make any distinction between query string parameters and POST parameters, and both are available in the `params` hash in your controller:
+Vous voudrez surement accéder aux données envoyées par l'utilisateur ou
+à d'autres paramètres présent dans le contrôleur. Il y a deux types de
@simonc Owner
simonc added a note

présents

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((22 lines not shown))
----------
-You will probably want to access data sent in by the user or other parameters in your controller actions. There are two kinds of parameters possible in a web application. The first are parameters that are sent as part of the URL, called query string parameters. The query string is everything after "?" in the URL. The second type of parameter is usually referred to as POST data. This information usually comes from an HTML form which has been filled in by the user. It's called POST data because it can only be sent as part of an HTTP POST request. Rails does not make any distinction between query string parameters and POST parameters, and both are available in the `params` hash in your controller:
+Vous voudrez surement accéder aux données envoyées par l'utilisateur ou
+à d'autres paramètres présent dans le contrôleur. Il y a deux types de
+paramètre possible dans une application web. Les premiers sont les
@simonc Owner
simonc added a note

paramètres

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((22 lines not shown))
----------
-You will probably want to access data sent in by the user or other parameters in your controller actions. There are two kinds of parameters possible in a web application. The first are parameters that are sent as part of the URL, called query string parameters. The query string is everything after "?" in the URL. The second type of parameter is usually referred to as POST data. This information usually comes from an HTML form which has been filled in by the user. It's called POST data because it can only be sent as part of an HTTP POST request. Rails does not make any distinction between query string parameters and POST parameters, and both are available in the `params` hash in your controller:
+Vous voudrez surement accéder aux données envoyées par l'utilisateur ou
+à d'autres paramètres présent dans le contrôleur. Il y a deux types de
+paramètre possible dans une application web. Les premiers sont les
+paramètres qui font partis de l'URL, appelé _query string parameters_. les _query
@simonc Owner
simonc added a note

partie

@simonc Owner
simonc added a note

paramètres de _query string_ comme vu dans l'issue #8 ;)

Je le change que pour la première fois, ou pour toutes les occurences j'écris "parametres de query string." ?

@simonc Owner
simonc added a note

Partout ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((22 lines not shown))
----------
-You will probably want to access data sent in by the user or other parameters in your controller actions. There are two kinds of parameters possible in a web application. The first are parameters that are sent as part of the URL, called query string parameters. The query string is everything after "?" in the URL. The second type of parameter is usually referred to as POST data. This information usually comes from an HTML form which has been filled in by the user. It's called POST data because it can only be sent as part of an HTTP POST request. Rails does not make any distinction between query string parameters and POST parameters, and both are available in the `params` hash in your controller:
+Vous voudrez surement accéder aux données envoyées par l'utilisateur ou
+à d'autres paramètres présent dans le contrôleur. Il y a deux types de
+paramètre possible dans une application web. Les premiers sont les
+paramètres qui font partis de l'URL, appelé _query string parameters_. les _query
+string parameters_ sont tout ce qui se trouve après le "?" dans l'URL. Le second
+type de paramètre fait référence aux données envoyées par la
+méthode "POST". Cet information vient le plus souvent d'un envoie de
@simonc Owner
simonc added a note

Cette

@simonc Owner
simonc added a note

envoi

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((22 lines not shown))
----------
-You will probably want to access data sent in by the user or other parameters in your controller actions. There are two kinds of parameters possible in a web application. The first are parameters that are sent as part of the URL, called query string parameters. The query string is everything after "?" in the URL. The second type of parameter is usually referred to as POST data. This information usually comes from an HTML form which has been filled in by the user. It's called POST data because it can only be sent as part of an HTTP POST request. Rails does not make any distinction between query string parameters and POST parameters, and both are available in the `params` hash in your controller:
+Vous voudrez surement accéder aux données envoyées par l'utilisateur ou
+à d'autres paramètres présent dans le contrôleur. Il y a deux types de
+paramètre possible dans une application web. Les premiers sont les
+paramètres qui font partis de l'URL, appelé _query string parameters_. les _query
+string parameters_ sont tout ce qui se trouve après le "?" dans l'URL. Le second
+type de paramètre fait référence aux données envoyées par la
+méthode "POST". Cet information vient le plus souvent d'un envoie de
+formulaire html qui a été remplis par l'utilisateur. C'est appelé "POST"
@simonc Owner
simonc added a note

HTML

@simonc Owner
simonc added a note

rempli

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((22 lines not shown))
----------
-You will probably want to access data sent in by the user or other parameters in your controller actions. There are two kinds of parameters possible in a web application. The first are parameters that are sent as part of the URL, called query string parameters. The query string is everything after "?" in the URL. The second type of parameter is usually referred to as POST data. This information usually comes from an HTML form which has been filled in by the user. It's called POST data because it can only be sent as part of an HTTP POST request. Rails does not make any distinction between query string parameters and POST parameters, and both are available in the `params` hash in your controller:
+Vous voudrez surement accéder aux données envoyées par l'utilisateur ou
+à d'autres paramètres présent dans le contrôleur. Il y a deux types de
+paramètre possible dans une application web. Les premiers sont les
+paramètres qui font partis de l'URL, appelé _query string parameters_. les _query
+string parameters_ sont tout ce qui se trouve après le "?" dans l'URL. Le second
+type de paramètre fait référence aux données envoyées par la
+méthode "POST". Cet information vient le plus souvent d'un envoie de
+formulaire html qui a été remplis par l'utilisateur. C'est appelé "POST"
+car cela peut uniquement être envoyé en tant que partis d'une requête
@simonc Owner
simonc added a note

partie

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((22 lines not shown))
----------
-You will probably want to access data sent in by the user or other parameters in your controller actions. There are two kinds of parameters possible in a web application. The first are parameters that are sent as part of the URL, called query string parameters. The query string is everything after "?" in the URL. The second type of parameter is usually referred to as POST data. This information usually comes from an HTML form which has been filled in by the user. It's called POST data because it can only be sent as part of an HTTP POST request. Rails does not make any distinction between query string parameters and POST parameters, and both are available in the `params` hash in your controller:
+Vous voudrez surement accéder aux données envoyées par l'utilisateur ou
+à d'autres paramètres présent dans le contrôleur. Il y a deux types de
+paramètre possible dans une application web. Les premiers sont les
+paramètres qui font partis de l'URL, appelé _query string parameters_. les _query
+string parameters_ sont tout ce qui se trouve après le "?" dans l'URL. Le second
+type de paramètre fait référence aux données envoyées par la
+méthode "POST". Cet information vient le plus souvent d'un envoie de
+formulaire html qui a été remplis par l'utilisateur. C'est appelé "POST"
+car cela peut uniquement être envoyé en tant que partis d'une requête
+"HTTP POST". Rails ne fait pas de distinction entre les _query string
@simonc Owner
simonc added a note

HTTP de type "POST".

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((22 lines not shown))
----------
-You will probably want to access data sent in by the user or other parameters in your controller actions. There are two kinds of parameters possible in a web application. The first are parameters that are sent as part of the URL, called query string parameters. The query string is everything after "?" in the URL. The second type of parameter is usually referred to as POST data. This information usually comes from an HTML form which has been filled in by the user. It's called POST data because it can only be sent as part of an HTTP POST request. Rails does not make any distinction between query string parameters and POST parameters, and both are available in the `params` hash in your controller:
+Vous voudrez surement accéder aux données envoyées par l'utilisateur ou
+à d'autres paramètres présent dans le contrôleur. Il y a deux types de
+paramètre possible dans une application web. Les premiers sont les
+paramètres qui font partis de l'URL, appelé _query string parameters_. les _query
+string parameters_ sont tout ce qui se trouve après le "?" dans l'URL. Le second
+type de paramètre fait référence aux données envoyées par la
+méthode "POST". Cet information vient le plus souvent d'un envoie de
+formulaire html qui a été remplis par l'utilisateur. C'est appelé "POST"
+car cela peut uniquement être envoyé en tant que partis d'une requête
+"HTTP POST". Rails ne fait pas de distinction entre les _query string
+parameters_ et les _POST parameters_, les deux sont disponible dans
@simonc Owner
simonc added a note

disponibles

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((22 lines not shown))
----------
-You will probably want to access data sent in by the user or other parameters in your controller actions. There are two kinds of parameters possible in a web application. The first are parameters that are sent as part of the URL, called query string parameters. The query string is everything after "?" in the URL. The second type of parameter is usually referred to as POST data. This information usually comes from an HTML form which has been filled in by the user. It's called POST data because it can only be sent as part of an HTTP POST request. Rails does not make any distinction between query string parameters and POST parameters, and both are available in the `params` hash in your controller:
+Vous voudrez surement accéder aux données envoyées par l'utilisateur ou
+à d'autres paramètres présent dans le contrôleur. Il y a deux types de
+paramètre possible dans une application web. Les premiers sont les
+paramètres qui font partis de l'URL, appelé _query string parameters_. les _query
+string parameters_ sont tout ce qui se trouve après le "?" dans l'URL. Le second
+type de paramètre fait référence aux données envoyées par la
+méthode "POST". Cet information vient le plus souvent d'un envoie de
+formulaire html qui a été remplis par l'utilisateur. C'est appelé "POST"
+car cela peut uniquement être envoyé en tant que partis d'une requête
+"HTTP POST". Rails ne fait pas de distinction entre les _query string
+parameters_ et les _POST parameters_, les deux sont disponible dans
+le Hash `params` de votre contrôleur:
@simonc Owner
simonc added a note

En français, on précède les : d'un espace insécable. Sous TextMate 2 c'est alt-maj-espace, pour les autres outils je ne sais pas.

alt-espace me suffit largement sous vim ;)

@simonc Owner
simonc added a note

c'était le cas aussi sous TM à une époque mais depuis TM2 alt-espace fait un &nbsp; et j'ai pas encore changé ^^

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((37 lines not shown))
```ruby
class ClientsController < ActionController::Base
- # This action uses query string parameters because it gets run
- # by an HTTP GET request, but this does not make any difference
- # to the way in which the parameters are accessed. The URL for
- # this action would look like this in order to list activated
- # clients: /clients?status=activated
+ # Cet action utilise des query string parameters car elles ont été
@simonc Owner
simonc added a note

Cette

@simonc Owner
simonc added a note

car elle est exécutée par une requête HTTP de type GET

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((37 lines not shown))
```ruby
class ClientsController < ActionController::Base
- # This action uses query string parameters because it gets run
- # by an HTTP GET request, but this does not make any difference
- # to the way in which the parameters are accessed. The URL for
- # this action would look like this in order to list activated
- # clients: /clients?status=activated
+ # Cet action utilise des query string parameters car elles ont été
+ # envoyé par une requête HTTP de type GET, mais cela ne fait aucune
+ # différence en ce qui concerne leur accès. L'URL pour cette action
+ # semble vouloir afficher la liste des clients activé
@simonc Owner
simonc added a note

Pour afficher la liste des clients activés, l'URL ressemblerait à : /clients?status=activated

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
@@ -72,17 +118,17 @@ class ClientsController < ActionController::Base
end
end
- # This action uses POST parameters. They are most likely coming
- # from an HTML form which the user has submitted. The URL for
- # this RESTful request will be "/clients", and the data will be
- # sent as part of the request body.
+ # Cette action utilise les paramètres de type POST. Ils viennent le
+ # plus souvent d'un formulaire HTML que l'utilisateur à envoyé. l'URL pour
@simonc Owner
simonc added a note

a envoyé

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
@@ -72,17 +118,17 @@ class ClientsController < ActionController::Base
end
end
- # This action uses POST parameters. They are most likely coming
- # from an HTML form which the user has submitted. The URL for
- # this RESTful request will be "/clients", and the data will be
- # sent as part of the request body.
+ # Cette action utilise les paramètres de type POST. Ils viennent le
+ # plus souvent d'un formulaire HTML que l'utilisateur à envoyé. l'URL pour
+ # cette requête de type REST est "/clients", et les données seront
@simonc Owner
simonc added a note

requête RESTful

@simonc Owner
simonc added a note

pas de virgule avant le et

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((12 lines not shown))
def create
@client = Client.new(params[:client])
if @client.save
redirect_to @client
else
- # This line overrides the default rendering behavior, which
- # would have been to render the "create" view.
+ # Cette ligne modifie le comportement de rendu par défaut,
@simonc Owner
simonc added a note

surcharge

@simonc Owner
simonc added a note

pas de virgule avant le qui

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
guides/source/action_controller_overview.md
((12 lines not shown))
def create
@client = Client.new(params[:client])
if @client.save
redirect_to @client
else
- # This line overrides the default rendering behavior, which
- # would have been to render the "create" view.
+ # Cette ligne modifie le comportement de rendu par défaut,
+ # qui normalement était le rendu de la vue "create".
@simonc Owner
simonc added a note

aurait normalement été

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
@simonc
Owner

Merci :)

@pi3r
Owner

Faudrait quand même faire un peu attention avant de soumettre une pull request :) Le pauvre simon doit avoir les doigts en feu.

@Hettomei

Oh ben merci à toi !

Ca sera corrigé, et bien entendu respecté pour les prochains commits.

merci pour les infos tel que ; a la fin d'une liste, je ne connaissais pas.

J'aurais toujours besoin de relecteur pour les pheaute, mais promis je te donnerais moins de travail pour les commits suivants.
(sinon pour routage, j'ai vraiment du mal et je pense que les 2 apparaissent dans 2 cas différent... j'ouvrirais une issue si vraiment c'est trop dur pour moi de l'accepter)

@simonc
Owner

Ça roule ;)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
This page is out of date. Refresh to see the latest.
Showing with 103 additions and 103 deletions.
  1. +103 −103 guides/source/action_controller_overview.md
View
206 guides/source/action_controller_overview.md
@@ -1,35 +1,35 @@
-Action Controller Overview
-==========================
+Vue d'ensemble d'_Action Controller_
+==================================
-In this guide you will learn how controllers work and how they fit into the request cycle in your application.
+Dans ce guide, vous allez apprendre comment les contrôleurs fonctionnent et comment s'en servir dans le cycle de votre application.
-After reading this guide, you will know:
+Après avoir lu ce guide, vous saurez :
-* How to follow the flow of a request through a controller.
-* Why and how to store data in the session or cookies.
-* How to work with filters to execute code during request processing.
-* How to use Action Controller's built-in HTTP authentication.
-* How to stream data directly to the user's browser.
-* How to filter sensitive parameters so they do not appear in the application's log.
-* How to deal with exceptions that may be raised during request processing.
+* Comment suivre le parcours d'une requête à travers un contrôleur ;
+* Pourquoi et comment enregistrer des données en session ou dans les cookies ;
+* Comment travailler avec les filtres pour exécuter du code pendant le traitement de la requête ;
+* Comment utiliser l'authentification HTTP avec _Action Controller_ ;
+* Comment envoyer en continue des données au navigateur ;
+* Comment filtrer les paramètres sensibles pour ne pas qu'ils apparaissent dans les logs ;
+* Comment traiter les exceptions qui seraient levées durant le traitement de la requête.
--------------------------------------------------------------------------------
-What Does a Controller Do?
+Que fait un contrôleur ?
--------------------------
-Action Controller is the C in MVC. After routing has determined which controller to use for a request, your controller is responsible for making sense of the request and producing the appropriate output. Luckily, Action Controller does most of the groundwork for you and uses smart conventions to make this as straightforward as possible.
+_Action Controller_ est le C dans MVC. Après que le routage ait déterminé quel contrôleur utiliser pour une requête, votre contrôleur doit faire le nécessaire pour sortir un résultat en lien avec la requête. Par chance, _Action Controller_ fait le travail de base et utilise des conventions intelligentes pour rendre le reste le plus simple et rapide que possible.
-For most conventional [RESTful](http://en.wikipedia.org/wiki/Representational_state_transfer) applications, the controller will receive the request (this is invisible to you as the developer), fetch or save data from a model and use a view to create HTML output. If your controller needs to do things a little differently, that's not a problem, this is just the most common way for a controller to work.
+Pour les applications de type [RESTful](http://fr.wikipedia.org/wiki/Representational_State_Transfer), le contrôleur reçoit la requête (c'est invisible pour les développeurs), récupère ou sauvegarde les données du modèle et utilise la vue pour générer le HTML. Si votre contrôleur a besoin de faire les choses un peu différemment, ce n'est pas un problème, c'est juste la façon la plus conventionnelle pour le contrôleur de travailler.
-A controller can thus be thought of as a middle man between models and views. It makes the model data available to the view so it can display that data to the user, and it saves or updates data from the user to the model.
+Un contrôleur fait le lien entre les modèles et les vues. Il rend disponibles les données du modèle pour la vue, ce qui nous permet de les afficher, puis il enregistre ou met à jour le modèle avec les données fournies par l'utilisateur.
-NOTE: For more details on the routing process, see [Rails Routing from the Outside In](routing.html).
+Pour plus de détails sur le fonctionnement du routage : [Rails Routing from the Outside In](routing.html).
-Methods and Actions
+Méthodes et Actions
-------------------
-A controller is a Ruby class which inherits from `ApplicationController` and has methods just like any other class. When your application receives a request, the routing will determine which controller and action to run, then Rails creates an instance of that controller and runs the method with the same name as the action.
+Un contrôleur est une classe Ruby qui hérite de `ApplicationController` et a des méthodes comme tout autre classe. Quand votre application reçoit une demande, le routage déterminera quel contrôleur et action exécuter, puis Rails crée une instance de ce contrôleur et appelle la méthode qui a le même nom que l'action.
```ruby
class ClientsController < ApplicationController
@@ -38,7 +38,7 @@ class ClientsController < ApplicationController
end
```
-As an example, if a user goes to `/clients/new` in your application to add a new client, Rails will create an instance of `ClientsController` and run the `new` method. Note that the empty method from the example above could work just fine because Rails will by default render the `new.html.erb` view unless the action says otherwise. The `new` method could make available to the view a `@client` instance variable by creating a new `Client`:
+Pour exemple, si un utilisateur va vers `/clients/new` dans notre application pour ajouter un nouveau client, Rails créera une instance de `ClientsController` et appellera la méthode `new`. Notez bien que la méthode vide utilisée dans l'exemple fonctionne car Rails rendra par défaut la vue `new.html.erb` sauf si l'action dit de faire différemment. La méthode `new` pourrait rendre visible pour la vue la variable d'instance `@client` en créant un nouveau `Client` :
```ruby
def new
@@ -46,24 +46,24 @@ def new
end
```
-The [Layouts & Rendering Guide](layouts_and_rendering.html) explains this in more detail.
+Le [Layouts & Rendering Guide](layouts_and_rendering.html) explique ce principe plus en détail.
-`ApplicationController` inherits from `ActionController::Base`, which defines a number of helpful methods. This guide will cover some of these, but if you're curious to see what's in there, you can see all of them in the API documentation or in the source itself.
+`ApplicationController` hérite de `ActionController::Base` qui définit un certain nombre de méthodes bien utiles. Ce guide reviendra sur certaines d'entre elles, mais si vous êtes curieux de voir ce qu'elles font, vous pouvez toutes les retrouver dans la documentation de l'API ou dans les sources.
-Only public methods are callable as actions. It is a best practice to lower the visibility of methods which are not intended to be actions, like auxiliary methods or filters.
+Seules les méthodes publiques sont appelées en tant qu'actions. C'est une bonne pratique de restreindre la visibilité des méthodes qui ne sont pas des actions, comme les méthodes auxiliaires ou les filtres.
-Parameters
+Les Paramètres
----------
-You will probably want to access data sent in by the user or other parameters in your controller actions. There are two kinds of parameters possible in a web application. The first are parameters that are sent as part of the URL, called query string parameters. The query string is everything after "?" in the URL. The second type of parameter is usually referred to as POST data. This information usually comes from an HTML form which has been filled in by the user. It's called POST data because it can only be sent as part of an HTTP POST request. Rails does not make any distinction between query string parameters and POST parameters, and both are available in the `params` hash in your controller:
+Vous voudrez surement accéder aux données envoyées par l'utilisateur ou à d'autres paramètres présents dans le contrôleur. Il y a deux types de paramètres possible dans une application web. Les premiers sont les paramètres qui font partie de l'URL, appelé paramètres de _query string_. les _query string parameters_ sont tout ce qui se trouve après le "?" dans l'URL. Le second type de paramètre fait référence aux données envoyées par la méthode "POST". Cette information vient le plus souvent d'un envoi de formulaire HTML qui a été rempli par l'utilisateur. C'est appelé "POST" car cela peut uniquement être envoyé en tant que partie d'une requête HTTP de type "POST". Rails ne fait pas de distinction entre les paramètres de _query string_ et les _POST parameters_, les deux sont disponibles dans le hash `params` de votre contrôleur :
```ruby
class ClientsController < ActionController::Base
- # This action uses query string parameters because it gets run
- # by an HTTP GET request, but this does not make any difference
- # to the way in which the parameters are accessed. The URL for
- # this action would look like this in order to list activated
- # clients: /clients?status=activated
+ # Cette action utilise des paramètres de query string car
+ # elle est exécutée par une requête HTTP de type GET,
+ # mais cela ne fait aucune différence en ce qui concerne leur accès.
+ # Pour afficher la liste des clients activés, l'URL ressemblerait à :
+ # /clients?status=activated
def index
if params[:status] == "activated"
@clients = Client.activated
@@ -72,36 +72,36 @@ class ClientsController < ActionController::Base
end
end
- # This action uses POST parameters. They are most likely coming
- # from an HTML form which the user has submitted. The URL for
- # this RESTful request will be "/clients", and the data will be
- # sent as part of the request body.
+ # Cette action utilise les paramètres de type POST. Ils viennent le
+ # plus souvent d'un formulaire HTML que l'utilisateur a envoyé. l'URL pour
+ # cette requête RESTful est "/clients" et les données seront
+ # envoyées dans le corps de la requête.
def create
@client = Client.new(params[:client])
if @client.save
redirect_to @client
else
- # This line overrides the default rendering behavior, which
- # would have been to render the "create" view.
+ # Cette ligne surcharge le comportement de rendu par défaut
+ # qui aurait normalement été le rendu de la vue "create".
render "new"
end
end
end
```
-### Hash and Array Parameters
+### Paramètres de type `Hash` et `Array`
-The `params` hash is not limited to one-dimensional keys and values. It can contain arrays and (nested) hashes. To send an array of values, append an empty pair of square brackets "[]" to the key name:
+Les `params` de type hash ne sont pas limités aux clefs et valeurs à une dimension. Il peuvent contenir des tableaux et des hashs imbriqués. Pour envoyer un tableau de valeur, ajoutez une paire de crochets vide "[]" après le nom de la clef :
```
GET /clients?ids[]=1&ids[]=2&ids[]=3
```
-NOTE: The actual URL in this example will be encoded as "/clients?ids%5b%5d=1&ids%5b%5d=2&ids%5b%5d=3" as "[" and "]" are not allowed in URLs. Most of the time you don't have to worry about this because the browser will take care of it for you, and Rails will decode it back when it receives it, but if you ever find yourself having to send those requests to the server manually you have to keep this in mind.
+À Noter : en réalité l'URL de cet exemple serait encodé comme ceci "/clients?ids%5b%5d=1&ids%5b%5d=2&ids%5b%5d=3" car "[" et "]" ne sont pas autorisés dans les URL. La plupart du temps il est inutile de s'inquiéter à propos de ça car le navigateur s'en charge pour vous, et Rails le décodera en retour quand il le recevra, mais si jamais vous avez besoin d'envoyer ces requêtes manuellement à un serveur vous devez avoir ça en tête.
-The value of `params[:ids]` will now be `["1", "2", "3"]`. Note that parameter values are always strings; Rails makes no attempt to guess or cast the type.
+La valeur du `params[:ids]` sera maintenant `["1", "2", "3"]`. À noter que les valeurs de paramètres sont toujours du type `String` ; Rails ne fait rien pour deviner ou transtyper le type.
-To send a hash you include the key name inside the brackets:
+Pour envoyer un hash vous devez inclure le nom de la clef dans les crochets :
```html
<form accept-charset="UTF-8" action="/clients" method="post">
@@ -112,49 +112,49 @@ To send a hash you include the key name inside the brackets:
</form>
```
-When this form is submitted, the value of `params[:client]` will be `{"name" => "Acme", "phone" => "12345", "address" => {"postcode" => "12345", "city" => "Carrot City"}}`. Note the nested hash in `params[:client][:address]`.
+Quand ce formulaire est envoyé, la valeur de `params[:client]` serait `{"name" => "Acme", "phone" => "12345", "address" => {"postcode" => "12345", "city" => "Carrot City"}}`. Notez le hash imbriqué dans `params[:client][:address]`.
-Note that the `params` hash is actually an instance of `HashWithIndifferentAccess` from Active Support, which acts like a hash that lets you use symbols and strings interchangeably as keys.
+Remarquez que le `params` de type hash est en réalité une instance de `HashWithIndifferentAccess` d'Active Support, qui se comporte comme un hash et vous laisse utiliser des symboles ou des chaines de caractères indifféremment comme clefs.
-### JSON/XML parameters
+### paramètres au format JSON/XML
-If you're writing a web service application, you might find yourself more comfortable on accepting parameters in JSON or XML format. Rails will automatically convert your parameters into `params` hash, which you'll be able to access like you would normally do with form data.
+Si vous écrivez une application web, vous pourriez vous retrouver plus à l'aise d'accepter des paramètres aux format JSON ou XML. Rails convertira automatiquement vos paramètres en `params` de type hash, que vous pourrez accéder comme vous le feriez avec des données d'un formulaire.
-So for example, if you are sending this JSON parameter:
+Donc pour exemple, si vous envoyez ces paramètres JSON :
```json
{ "company": { "name": "acme", "address": "123 Carrot Street" } }
```
-You'll get `params[:company]` as `{ :name => "acme", "address" => "123 Carrot Street" }`.
+Vous aurez `params[:company]` qui donnera `{ :name => "acme", "address" => "123 Carrot Street" }`.
-Also, if you've turned on `config.wrap_parameters` in your initializer or calling `wrap_parameters` in your controller, you can safely omit the root element in the JSON/XML parameter. The parameters will be cloned and wrapped in the key according to your controller's name by default. So the above parameter can be written as:
+Aussi, si vous activez `config.wrap_parameters` dans votre initialisation ou appelez `wrap_parameters` dans votre contrôleurs, vous pouvez omettre en toute sécurité l'élément racine dans le paramètre au format JSON/XML. Les paramètres seront clonés et entouré de la clef selon le nom du contrôleur par défaut. Donc le paramètre suivant peut être écrit comme ceci :
```json
{ "name": "acme", "address": "123 Carrot Street" }
```
-And assume that you're sending the data to `CompaniesController`, it would then be wrapped in `:company` key like this:
+Et supposons que vous envoyez les données à `CompaniesController`, il serait alors enveloppé dans la clef `:company` comme ceci :
```ruby
{ :name => "acme", :address => "123 Carrot Street", :company => { :name => "acme", :address => "123 Carrot Street" }}
```
-You can customize the name of the key or specific parameters you want to wrap by consulting the [API documentation](http://api.rubyonrails.org/classes/ActionController/ParamsWrapper.html)
+Vous pouvez personnaliser le nom de la clef ou des paramètres spécifiques que vous voulez envelopper en consultant la [documentation de l'API](http://api.rubyonrails.org/classes/ActionController/ParamsWrapper.html)
-### Routing Parameters
+### Paramètre du routage
-The `params` hash will always contain the `:controller` and `:action` keys, but you should use the methods `controller_name` and `action_name` instead to access these values. Any other parameters defined by the routing, such as `:id` will also be available. As an example, consider a listing of clients where the list can show either active or inactive clients. We can add a route which captures the `:status` parameter in a "pretty" URL:
+Le hash `params` contiendra toujours les clefs `:controller` et `:action`, mais vous devriez utiliser les méthodes `controller_name` et `action_name` à la place pour accéder à ces valeurs. Tous les autres paramètres définis par le routage, comme `:id` sera aussi disponible. Par exemple, considérez un listing de clients où la liste peut montrer à la fois des clients actifs et inactifs. Nous pouvons ajouter une route qui capture le paramètre `:status` dans une "jolie" URL :
```ruby
match '/clients/:status' => 'clients#index', foo: "bar"
```
-In this case, when a user opens the URL `/clients/active`, `params[:status]` will be set to "active". When this route is used, `params[:foo]` will also be set to "bar" just like it was passed in the query string. In the same way `params[:action]` will contain "index".
+Dans ce cas, quand un utilisateur ouvre l'URL `/clients/active`, `params[:status]` aura pour valeur "active". Quand cette route est utilisée, `params[:foo]` aura pour valeur "bar" de la même façon que si ça avait été passé par les paramètres de _query string_. De la même façon `params[:action]` contiendra la valeur "index".
### `default_url_options`
-You can set global default parameters for URL generation by defining a method called `default_url_options` in your controller. Such a method must return a hash with the desired defaults, whose keys must be symbols:
+Vous pouvez initialiser un paramètre global par défaut pour le générateur d'URL en définissant une méthode appelé `default_url_options` dans votre contrôleur. Cette méthode doit renvoyer un hash avec les valeurs par défauts voulu, ces clefs doivent être des symboles :
```ruby
class ApplicationController < ActionController::Base
@@ -164,32 +164,31 @@ class ApplicationController < ActionController::Base
end
```
-These options will be used as a starting point when generating URLs, so it's possible they'll be overridden by the options passed in `url_for` calls.
-
-If you define `default_url_options` in `ApplicationController`, as in the example above, it would be used for all URL generation. The method can also be defined in one specific controller, in which case it only affects URLs generated there.
+Ces options seront utilisées comme point de départ lors de la génération des URLs, il est donc possible qu'ils soient remplacés par les options passées dans la méthode `url_for`.
+Si vous définissez `default_url_options` dans `ApplicationController`, comme dans l'exemple ci-dessus, il sera utilisé pour toutes les générations d'URL. La méthode peut également être définie dans un contrôleur spécifique, dans ce cas, il affecte uniquement les URLs générées du concernant ce contrôleur.
Session
-------
-Your application has a session for each user in which you can store small amounts of data that will be persisted between requests. The session is only available in the controller and the view and can use one of a number of different storage mechanisms:
+Votre application a une session pour chaque utilisateur dans laquelle vous pouvez stocker de petites quantités de données qui seront persisté entre les requêtes. La session est uniquement disponible dans le contrôleur et la vue et peut utiliser l'un de ces mécanismes de stockage différents :
-* `ActionDispatch::Session::CookieStore` - Stores everything on the client.
-* `ActionDispatch::Session::CacheStore` - Stores the data in the Rails cache.
-* `ActionDispatch::Session::ActiveRecordStore` - Stores the data in a database using Active Record. (require `activerecord-session_store` gem).
-* `ActionDispatch::Session::MemCacheStore` - Stores the data in a memcached cluster (this is a legacy implementation; consider using CacheStore instead).
+* `ActionDispatch::Session::CookieStore` - Stocke tout dans le navigateur.
+* `ActionDispatch::Session::CacheStore` - Stock les données dans le cache de Rails.
+* `ActionDispatch::Session::ActiveRecordStore` - Stocke les données dans une base de donnée en utilisant Active Record. (nécessite le gem `activerecord-session_store`).
+* `ActionDispatch::Session::MemCacheStore` - Stocke les données dans un cluster de type memcached (C'est une ancienne implémentation; utilisez à la place CacheStore).
-All session stores use a cookie to store a unique ID for each session (you must use a cookie, Rails will not allow you to pass the session ID in the URL as this is less secure).
+Toutes ces façons de stocker une session utilise un cookie pour stocker un identifiant unique pour chaque session (vous devez utiliser un cookie, Rails ne vous permettra pas de passer l'ID de session dans l'URL car cela est moins sûr).
-For most stores, this ID is used to look up the session data on the server, e.g. in a database table. There is one exception, and that is the default and recommended session store - the CookieStore - which stores all session data in the cookie itself (the ID is still available to you if you need it). This has the advantage of being very lightweight and it requires zero setup in a new application in order to use the session. The cookie data is cryptographically signed to make it tamper-proof, but it is not encrypted, so anyone with access to it can read its contents but not edit it (Rails will not accept it if it has been edited).
+Pour la plupart des enregistrements, cet ID est utilisé pour rechercher les données de session sur le serveur, par exemple, dans une table de base de données. Il y a une exception, et c'est la valeur par défaut et recommandée de stockage de session - par les Cookies - qui stocke les données de session dans le cookie lui-même (l'ID est toujours à votre disposition si vous en avez besoin). Ceci a l'avantage d'être très léger et ne nécessite aucune installation sur une nouvelle application pour utiliser la session. Les données cookie ont une signature cryptographique pour le rendre inviolable, mais il n'est pas cryptée, donc toute personne ayant accès à elle peut lire son contenu mais pas le modifier (Rails ne l'acceptera pas s'il a été modifié).
-The CookieStore can store around 4kB of data — much less than the others — but this is usually enough. Storing large amounts of data in the session is discouraged no matter which session store your application uses. You should especially avoid storing complex objects (anything other than basic Ruby objects, the most common example being model instances) in the session, as the server might not be able to reassemble them between requests, which will result in an error.
+L'enregistrement par cookie peut stocker environ 4 Ko de données - beaucoup moins que les autres - mais cela est généralement suffisant. Stocker de grandes quantités de données dans la session est déconseillée quel que soit le stockage de session utilisé par votre application. Vous devez surtout éviter de stocker des objets complexes (autre chose que des objets de base de Ruby, l'exemple le plus courant étant instances du modèle) dans la session, le serveur peut ne pas être en mesure de les réhabiliter entre les demandes, ce qui se traduira par une erreur.
-If your user sessions don't store critical data or don't need to be around for long periods (for instance if you just use the flash for messaging), you can consider using ActionDispatch::Session::CacheStore. This will store sessions using the cache implementation you have configured for your application. The advantage of this is that you can use your existing cache infrastructure for storing sessions without requiring any additional setup or administration. The downside, of course, is that the sessions will be ephemeral and could disappear at any time.
+Si vos sessions utilisateurs ne stockent pas de données critiques ou n'ont pas besoin d'être là pour de longues périodes (par exemple, si vous venez d'utiliser un message de type flash), vous pouvez envisager d'utiliser ActionDispatch::Session::CacheStore. Cela stockera les sessions en utilisant l'implémentation de cache que vous avez configuré pour votre application. L'avantage de ceci est que vous pouvez utiliser votre infrastructure existante pour stocker les sessions sans nécessiter de configuration supplémentaire ou de l'administration. L'inconvénient, bien sûr, est que les sessions seront éphémères et pourraient disparaître à tout moment.
-Read more about session storage in the [Security Guide](security.html).
+En savoir plus sur le stockage des sessions dans le [Guide de sécurité] (security.html)
-If you need a different session storage mechanism, you can change it in the `config/initializers/session_store.rb` file:
+Si vous avez besoin d'un mécanisme autre pour stocker les sessions, vous pouvez le modifier dans le fichier `config/initializers/session_store.rb` :
```ruby
# Use the database for sessions instead of the cookie-based default,
@@ -198,21 +197,21 @@ If you need a different session storage mechanism, you can change it in the `con
# YourApp::Application.config.session_store :active_record_store
```
-Rails sets up a session key (the name of the cookie) when signing the session data. These can also be changed in `config/initializers/session_store.rb`:
+Rails établit une clé de session (le nom du cookie) lors de la signature des données de session. Ceux-ci peuvent également être modifiés dans `config/initializers/session_store.rb`:
```ruby
# Be sure to restart your server when you modify this file.
YourApp::Application.config.session_store :cookie_store, key: '_your_app_session'
```
-You can also pass a `:domain` key and specify the domain name for the cookie:
+Vous pouvez également passer la clef `:domain` et spécifier le nom de domaine pour le cookie :
```ruby
# Be sure to restart your server when you modify this file.
YourApp::Application.config.session_store :cookie_store, key: '_your_app_session', domain: ".example.com"
```
-Rails sets up (for the CookieStore) a secret key used for signing the session data. This can be changed in `config/initializers/secret_token.rb`
+Rails met en place (pour le stockage par cookies) une clé secrète utilisée pour la signature des données de session. Ceci peut être modifié dans `config/initializers/secret_token.rb`.
```ruby
# Be sure to restart your server when you modify this file.
@@ -224,25 +223,25 @@ Rails sets up (for the CookieStore) a secret key used for signing the session da
YourApp::Application.config.secret_key_base = '49d3f3de9ed86c74b94ad6bd0...'
```
-NOTE: Changing the secret when using the `CookieStore` will invalidate all existing sessions.
+REMARQUE : La modification du jeton secret lorsque vous utilisez le `CookieStore` annulera toutes les sessions existantes.
-### Accessing the Session
+### Accéder à la Session
-In your controller you can access the session through the `session` instance method.
+Dans votre contrôleur, vous pouvez accéder à la session via la méthode `session`.
-NOTE: Sessions are lazily loaded. If you don't access sessions in your action's code, they will not be loaded. Hence you will never need to disable sessions, just not accessing them will do the job.
+REMARQUE : Les sessions sont chargées si besoin. Si vous n'avez pas accédé à des sessions dans le code de votre action, elles ne seront pas chargés. Par conséquent, vous n'aurez jamais besoin de désactiver les sessions, le fait de ne pas y accéder sera suffisant.
-Session values are stored using key/value pairs like a hash:
+Les valeurs de session sont stockées en utilisant les paires clé/valeur, comme un hash:
```ruby
class ApplicationController < ActionController::Base
private
- # Finds the User with the ID stored in the session with the key
- # :current_user_id This is a common way to handle user login in
- # a Rails application; logging in sets the session value and
- # logging out removes it.
+ # Trouve l'utilisateur avec l'ID stocké dans la session avec la clé
+ # :current_user_id Il s'agit d'une voie commune pour gérer la connexion de l'utilisateur dans une
+ # application Rails; se connecter fixe la valeur de session et
+ # la déconnexion la supprime.
def current_user
@_current_user ||= session[:current_user_id] &&
User.find_by_id(session[:current_user_id])
@@ -250,15 +249,15 @@ class ApplicationController < ActionController::Base
end
```
-To store something in the session, just assign it to the key like a hash:
+Pour stocker quelque chose dans la session, il suffit de l'affecter à la clef comme un hash:
```ruby
class LoginsController < ApplicationController
- # "Create" a login, aka "log the user in"
+ # "Créé un login" autrement dit "connecter l'utilisateur"
def create
if user = User.authenticate(params[:username], params[:password])
- # Save the user ID in the session so it can be used in
- # subsequent requests
+ # Sauvegarde de l'ID utilisateur dans la session de sorte qu'il peut être utilisé
+ # dans les requêtes suivantes
session[:current_user_id] = user.id
redirect_to root_url
end
@@ -266,28 +265,28 @@ class LoginsController < ApplicationController
end
```
-To remove something from the session, assign that key to be `nil`:
+Pour supprimer quoique ce soit de la session, assigner la clef à `nil` :
```ruby
class LoginsController < ApplicationController
- # "Delete" a login, aka "log the user out"
+ # "Supprimer" une connexion, autrement dit "déconnecter un utilisateur"
def destroy
- # Remove the user id from the session
+ # Supprimer l'ID utilisateur de la session
@_current_user = session[:current_user_id] = nil
redirect_to root_url
end
end
```
-To reset the entire session, use `reset_session`.
+Pour réinitialiser toute la session, utilisez `reset_session`.
-### The Flash
+### Le flash
-The flash is a special part of the session which is cleared with each request. This means that values stored there will only be available in the next request, which is useful for passing error messages etc.
+Le flash est une partie spéciale de la session qui est effacée à chaque requête. Cela signifie que les valeurs qui y sont stockées ne seront disponibles que dans la requête suivante, qui est utile pour transmettre des messages d'erreur, etc.
-It is accessed in much the same way as the session, as a hash (it's a [FlashHash](http://api.rubyonrails.org/classes/ActionDispatch/Flash/FlashHash.html) instance).
+Il est accessible en grande partie de la même manière que la session, comme un hash (c'est une instance de [FlashHash](http://api.rubyonrails.org/classes/ActionDispatch/Flash/FlashHash.html)).
-Let's use the act of logging out as an example. The controller can send a message which will be displayed to the user on the next request:
+Profitons de l'acte de se déconnecter à titre d'exemple. Le contrôleur peut envoyer un message qui sera affiché à l'utilisateur sur la demande suivante:
```ruby
class LoginsController < ApplicationController
@@ -299,7 +298,7 @@ class LoginsController < ApplicationController
end
```
-Note that it is also possible to assign a flash message as part of the redirection. You can assign `:notice`, `:alert` or the general purpose `:flash`:
+Notez qu'il est également possible d'assigner un message flash dans le cadre de la redirection. Vous pouvez assigner `:notice`, `:alert` ou de manière générale `:flash` :
```ruby
redirect_to root_url, notice: "You have successfully logged out."
@@ -307,7 +306,8 @@ redirect_to root_url, alert: "You're stuck here!"
redirect_to root_url, flash: { referral_code: 1234 }
```
-The `destroy` action redirects to the application's `root_url`, where the message will be displayed. Note that it's entirely up to the next action to decide what, if anything, it will do with what the previous action put in the flash. It's conventional to display any error alerts or notices from the flash in the application's layout:
+L'action `destroy` redirige vers `root_url` de l'application, où le message sera affiché. Notez que c'est à la prochaine action de décider, le cas échéant, ce qu'il faudra faire avec ce que l'action précédente à mise dans le flash.
+Par convention nous affichons tous les messages d'erreur ou les informations du flash dans le rendu de l'application :
```erb
<html>
@@ -322,9 +322,9 @@ The `destroy` action redirects to the application's `root_url`, where the messag
</html>
```
-This way, if an action sets a notice or an alert message, the layout will display it automatically.
+De cette façon, si une action renvoie un avis ou un message d'alerte, la mise en page l'affichera automatiquement.
-You can pass anything that the session can store; you're not limited to notices and alerts:
+Vous pouvez passer quoi que ce soit que la session peut stocker, vous n'êtes pas limité aux notifications et des alertes.
```erb
<% if flash[:just_signed_up] %>
@@ -332,20 +332,20 @@ You can pass anything that the session can store; you're not limited to notices
<% end %>
```
-If you want a flash value to be carried over to another request, use the `keep` method:
+Si vous voulez qu'une valeur soit reportées à une autre demande, utilisez la méthode `keep` :
```ruby
class MainController < ApplicationController
- # Let's say this action corresponds to root_url, but you want
- # all requests here to be redirected to UsersController#index.
- # If an action sets the flash and redirects here, the values
- # would normally be lost when another redirect happens, but you
- # can use 'keep' to make it persist for another request.
+ # Disons que cette action correspond à root_url, mais vous voulez
+ # que toutes les demandes soit redirigé vers UsersController#index.
+ # Si une action met à jour le flash et redirige ici, les valeurs
+ # serait normalement perdue lors d'une autre redirection, mais vous
+ # pouvez utiliser 'keep' pour le faire persister pour une autre requete.
def index
- # Will persist all flash values.
+ # Cela va persister toutes les valeurs de flash.
flash.keep
- # You can also use a key to keep only some kind of value.
+ # Vous pouvez aussi utiliser une clef pour garder uniquement un type de valeur
# flash.keep(:notice)
redirect_to users_url
end
Something went wrong with that request. Please try again.