diff --git a/README.fr.rdoc b/README.fr.rdoc
index 659b091c..e80f49ed 100644
--- a/README.fr.rdoc
+++ b/README.fr.rdoc
@@ -1,4 +1,4 @@
-= Sinatra
+= Sinatra
Attention : Ce document correspond à la traduction de la version anglaise et
il n'est peut être plus à jour.
@@ -101,6 +101,12 @@ Là encore on peut utiliser les paramètres de bloc :
"Bonjour, #{c} !"
end
+Les routes peuvent aussi comporter des paramètres optionnels :
+
+ get '/posts.?:format?' do
+ # répond à "GET /posts" et aussi à "GET /posts.json", "GET /posts.xml" etc...
+ end
+
=== Conditions
Les routes peuvent définir toutes sortes de conditions, comme par exemple le
@@ -213,45 +219,49 @@ Ou bien en utilisant la forme négative :
== Fichiers statiques
-Par défaut, le dossier ./public est utilisé pour servir les fichiers
-statiques. Vous pouvez changer ce dossier pour un autre nom grâce au paramètre
+Les fichiers du dossier ./public sont servis de façon statique. Vous
+avez la possibilité d'utiliser un autre répertoire en définissant le paramètre
:public_folder :
set :public_folder, File.dirname(__FILE__) + '/statique'
-Notez que le nom du dossier public n'est pas inclus dans l'URL. Un fichier
-sous ./public/css/style.css est appelé avec l'URL : http://exemple.com/css/style.css.
+Notez que le nom du dossier public n'apparait pas dans l'URL. Le fichier
+./public/css/style.css sera appelé via l'URL :
+http://exemple.com/css/style.css.
+
+Utilisez le paramètre :static_cache_control pour ajouter l'information
+d'en-tête Cache-Control (voir plus loin).
== Vues / Templates
-Chaque langage de template est exposé via sa propre méthode de rendu.
-Ces méthodes retournent tout simplement une chaîne de caractères.
+Chaqie langage de template est disponible via sa propre méthode de rendu,
+lesquelles renvoient tout simplement une chaîne de caractères.
get '/' do
erb :index
end
-Ceci effectue le rendu de views/index.erb.
+Ceci effectue le rendu de la vue views/index.erb.
-Plutôt que le nom d'un template, vous pouvez directement passer le contenu du
-template :
+Plutôt que d'utiliser le nom d'un template, vous pouvez directement passer
+le contenu du template :
get '/' do
code = "<%= Time.now %>"
erb code
end
-Les templates prennent un second paramètre, un hash d'options :
+Les méthodes de templates acceptent un second paramètre, un hash d'options :
get '/' do
erb :index, :layout => :post
end
-Cecie effectue le rendu de views/index.erb embarqué dans
-views/post.erb (views/layout.erb est la valeur par défaut
-si ce fichier existe).
+Ceci effectuera le rendu de la vue views/index.erb en l'intégrant
+au +layout+ views/post.erb (les vues Erb sont intégrées par défaut
+au +layout+ views/layout.erb quand ce fichier existe).
-Toute option que Sinatra ne comprends pas sera passée au moteur de rendu :
+Toute option que Sinatra ne comprend pas sera passée au moteur de rendu :
get '/' do
haml :index, :format => :html5
@@ -286,8 +296,8 @@ Options disponibles :
[layout]
S'il faut ou non utiliser un +layout+ (+true+ or +false+). Indique le
- template à utiliser lorsque c'est un Symbol. Exemple : erb :index,
- :layout => request.xhr?.
+ template à utiliser lorsque c'est un symbole. Exemple : erb :index,
+ :layout => !request.xhr?.
[content_type]
Content-Type que le template produit, dépend par défaut du langage de
@@ -308,17 +318,17 @@ Les templates sont supposés se trouver directement dans le dossier
set :views, settings.root + '/templates'
-Il est important de noter que les templates sont toujours référencés
-sous forme de symboles, même s'il s'agit d'un sous-répertoire (dans ce
-cas, utilisez :'sous_repertoire/template'). Vous devez utiliser un
-symbole car les méthodes de rendu évalueront le contenu des chaînes de
+Il est important de se souvenir que les templates sont toujours référencés
+sous forme de symboles, même lorsqu'ils sont dans un sous-répertoire (dans
+ce cas, utilisez :'sous_repertoire/template'). Il faut utiliser
+un symbole car les méthodes de rendu évaluent le contenu des chaînes de
caractères au lieu de les considérer comme un chemin vers un fichier.
=== Langages de template disponibles
Certains langages ont plusieurs implémentations. Pour préciser l'implémentation
-à utiliser (et garantir l'aspect thread-safe), vous devriez simplement la
-charger au préalable :
+à utiliser (et garantir l'aspect thread-safe), vous devez simplement l'avoir
+chargée au préalable :
require 'rdiscount' # ou require 'bluecloth'
get('/') { markdown :index }
@@ -333,7 +343,7 @@ Exemple:: haml :index, :format => :html5
Dépendances:: {erubis}[http://www.kuwata-lab.com/erubis/] ou
erb (inclus avec Ruby)
-Extensions de fichier:: .erb, .rhtml or .erubis
+Extensions de fichier:: .erb, .rhtml ou .erubis
(Erubis seulement)
Exemple:: erb :index
@@ -341,7 +351,7 @@ Exemple:: erb :index
Dépendances:: {builder}[http://builder.rubyforge.org/]
Extensions de fichier:: .builder
-Exemple:: builder { |xml| xml.em "hi" }
+Exemple:: builder { |xml| xml.em "salut" }
Ce moteur accepte également un bloc pour des templates en ligne (voir exemple).
@@ -349,7 +359,7 @@ Ce moteur accepte également un bloc pour des templates en ligne (voir exemple).
Dépendances:: {nokogiri}[http://nokogiri.org/]
Extensions de fichier:: .nokogiri
-Exemple:: builder { |xml| xml.em "hi" }
+Exemple:: builder { |xml| xml.em "salut" }
Ce moteur accepte également un bloc pour des templates en ligne (voir exemple).
@@ -387,10 +397,10 @@ Dépendances:: {rdiscount}[https://github.com/rtomayko/rdiscount],
{bluecloth}[http://deveiate.org/projects/BlueCloth],
{kramdown}[http://kramdown.rubyforge.org/] *ou*
{maruku}[http://maruku.rubyforge.org/]
-Extensions de fichier:: .markdown, .mkd and .md
+Extensions de fichier:: .markdown, .mkd et .md
Exemple:: markdown :index, :layout_engine => :erb
-Il n'est pas possible d'appeler des méthodes depuis markdown, ni même de lui
+Il n'est pas possible d'appeler des méthodes depuis markdown, ni de lui
passer des variables locales. Par conséquent, il sera souvent utilisé en
combinaison avec un autre moteur de rendu :
@@ -404,8 +414,8 @@ templates :
Comme vous ne pouvez pas appeler de Ruby au sein de Markdown, vous ne pouvez
pas utiliser de +layouts+ écrits en Markdown. Toutefois, il est possible
-d'utiliser un autre moteur de rendu pour le template que pour le +layout+ en
-utilisant l'option :layout_engine.
+d'utiliser un moteur de rendu différent pour le template et pour le +layout+
+en utilisant l'option :layout_engine.
=== Templates Textile
@@ -413,7 +423,7 @@ Dépendances:: {RedCloth}[http://redcloth.org/]
Extensions de fichier:: .textile
Exemple:: textile :index, :layout_engine => :erb
-Il n'est pas possible d'appeler des méthodes depuis textile, ni même de lui
+Il n'est pas possible d'appeler des méthodes depuis textile, ni de lui
passer des variables locales. Par conséquent, il sera souvent utilisé en
combinaison avec un autre moteur de rendu :
@@ -427,16 +437,16 @@ templates :
Comme vous ne pouvez pas appeler de Ruby au sein de Textile, vous ne pouvez
pas utiliser de +layouts+ écrits en Textile. Toutefois, il est possible
-d'utiliser un autre moteur de rendu pour le template que pour le +layout+ en
-utilisant l'option :layout_engine.
+d'utiliser un moteur de rendu différent pour le template et pour le +layout+
+en utilisant l'option :layout_engine.
=== Templates RDoc
Dépendances:: {rdoc}[http://rdoc.rubyforge.org/]
Extensions de fichier:: .rdoc
-Exemple:: textile :README, :layout_engine => :erb
+Exemple:: rdoc :README, :layout_engine => :erb
-Il n'est pas possible d'appeler des méthodes depuis rdoc, ni même de lui
+Il n'est pas possible d'appeler des méthodes depuis rdoc, ni de lui
passer des variables locales. Par conséquent, il sera souvent utilisé en
combinaison avec un autre moteur de rendu :
@@ -450,8 +460,8 @@ templates :
Comme vous ne pouvez pas appeler de Ruby au sein de RDoc, vous ne pouvez
pas utiliser de +layouts+ écrits en RDoc. Toutefois, il est possible
-d'utiliser un autre moteur de rendu pour le template que pour le +layout+ en
-utilisant l'option :layout_engine.
+d'utiliser un moteur de rendu différent pour le template et pour le +layout+
+en utilisant l'option :layout_engine.
=== Templates Radius
@@ -460,7 +470,7 @@ Extensions de fichier:: .radius
Exemple:: radius :index, :locals => { :key => 'value' }
Comme vous ne pouvez pas appeler de méthodes Ruby depuis un template Radius,
-vous aurez sûrement à lui passer des variables locales
+vous aurez sûrement à lui passer des variables locales.
=== Templates Markaby
@@ -482,7 +492,7 @@ Dépendances:: {creole}[https://github.com/minad/creole]
Extensions de fichier:: .creole
Exemple:: creole :wiki, :layout_engine => :erb
-Il n'est pas possible d'appeler des méthodes depuis creole, ni même de lui
+Il n'est pas possible d'appeler des méthodes depuis creole, ni de lui
passer des variables locales. Par conséquent, il sera souvent utilisé en
combinaison avec un autre moteur de rendu :
@@ -496,8 +506,8 @@ templates :
Comme vous ne pouvez pas appeler de Ruby au sein de Creole, vous ne pouvez
pas utiliser de +layouts+ écrits en Creole. Toutefois, il est possible
-d'utiliser un autre moteur de rendu pour le template que pour le +layout+ en
-utilisant l'option :layout_engine.
+d'utiliser un moteur de rendu différent pour le template et pour le +layout+
+en utilisant l'option :layout_engine.
=== Templates CoffeeScript
@@ -512,7 +522,7 @@ Exemple:: coffee :index
haml '%div.title Bonjour le monde'
end
-Générera le template embarqué spécifié dans la chaîne de caractères.
+Générera le code du template spécifié dans la chaîne de caractères.
=== Accéder aux variables dans un Template