1
0
Fork 0
mirror of https://github.com/sinatra/sinatra synced 2023-03-27 23:18:01 -04:00

Merge pull request #336 from michelc/master

Updated french README
This commit is contained in:
Konstantin Haase 2011-08-02 11:06:23 -07:00
commit 205fe10ff3

View file

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