From a8b50866b0573f0f8629d1fced2de19f570fc012 Mon Sep 17 00:00:00 2001 From: michelc Date: Tue, 2 Aug 2011 18:11:56 +0200 Subject: [PATCH 1/3] Added optional parameter info to the README.fr --- README.fr.rdoc | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/README.fr.rdoc b/README.fr.rdoc index 659b091c..de4862ad 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 From 0d37fe0e38fc965404ed2e9ba79ae332140361fb Mon Sep 17 00:00:00 2001 From: michelc Date: Tue, 2 Aug 2011 18:34:21 +0200 Subject: [PATCH 2/3] Proofreading the (short) section about static files --- README.fr.rdoc | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/README.fr.rdoc b/README.fr.rdoc index de4862ad..57451ed2 100644 --- a/README.fr.rdoc +++ b/README.fr.rdoc @@ -219,14 +219,18 @@ 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 From ddd75e8b7bbda080b16d23d4963d9ffd55d930c8 Mon Sep 17 00:00:00 2001 From: michelc Date: Tue, 2 Aug 2011 19:39:38 +0200 Subject: [PATCH 3/3] Proofreading the section about Views and Templates --- README.fr.rdoc | 74 +++++++++++++++++++++++++------------------------- 1 file changed, 37 insertions(+), 37 deletions(-) diff --git a/README.fr.rdoc b/README.fr.rdoc index 57451ed2..e80f49ed 100644 --- a/README.fr.rdoc +++ b/README.fr.rdoc @@ -234,34 +234,34 @@ 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 @@ -296,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 @@ -318,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 } @@ -343,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 @@ -351,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). @@ -359,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). @@ -397,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 : @@ -414,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 @@ -423,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 : @@ -437,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 : @@ -460,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 @@ -470,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 @@ -492,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 : @@ -506,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 @@ -522,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