Skip to content

Commit d946146

Browse files
committed
Imported the "fr" content.
1 parent 8cbb1a4 commit d946146

File tree

66 files changed

+4755
-1
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+4755
-1
lines changed

fr/about/index.md

Lines changed: 231 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,231 @@
1+
---
2+
layout: page
3+
title: "À propos de Ruby"
4+
lang: fr
5+
---
6+
7+
Indéniablement, Ruby devient de plus en plus populaire. Les « rubyistes
8+
» qualifient ce langage d’élégant, voire lui prêtent des qualités
9+
artistiques ; ils soulignent dans le même temps qu’il est pratique à
10+
utiliser et facile d’accès. Mais tout ça est très éthéré, qu’en est-il
11+
concrètement parlant ?
12+
13+
### Ruby, une conceptualisation personnelle
14+
15+
![](http://redhanded.hobix.com/images/ruby-lang-matz.png){:
16+
style="padding-left:8px;"}
17+
{: style="float:right"}
18+
19+
Le langage ruby, en terme de syntaxe et de fonctionnalité, a été dès le
20+
départ conçu comme un ensemble homogène. Son créateur est le programmeur
21+
japonais [Yukihiro « matz » Matsumoto][1]. Ce dernier a rassemblé
22+
certaines fonctionnalités de ses langages préférés de l’époque
23+
(principalement Perl, Smalltalk, Eiffel, Ada et Lisp) afin d’imaginer un
24+
nouveau langage qui mêlerait astucieusement programmations impérative et
25+
fonctionnelle. À plusieurs reprises, il a déclaré que son but était «
26+
d’essayer de rendre Ruby le plus naturel possible, pas nécessairement
27+
simple. »
28+
29+
À ce propos, il a ajouté :
30+
31+
> Ruby est simple en apparence, mais son architecture interne est très
32+
> complexe — tout comme notre corps peut l’être<sup>[1](#fn1)</sup>.
33+
34+
C’est cette approche qui a été maintenue depuis lors, pour faire de Ruby
35+
un langage robuste, porté par une syntaxe naturelle.
36+
37+
### La croissance de Ruby
38+
39+
Depuis sa publication en 1995, Ruby a progressivement intéressé de plus
40+
en plus de programmeurs venant des quatre coins du monde. En 2006, Ruby
41+
rassemblait une masse critique d’utilisateur et gagnait une réelle
42+
reconnaissance. Aujourd’hui, des groupes d’utilisateurs existent dans
43+
les plus grandes villes du monde, et les (nombreuses) conférences à
44+
propos de Ruby affichent complet.
45+
46+
![Graph courtesy of
47+
Gmane.](http://gmane.org/plot-rate.php?group=gmane.comp.lang.ruby.general&amp;width=280&amp;height=140&amp;title=Ruby-Talk+Activity+over+4+Years
48+
"Graph courtesy of Gmane."){: style="padding-left:8px;"}
49+
{: style="float:right"}
50+
51+
Ruby-Talk, la toute première [liste de
52+
diffusion](/fr/community/mailing-lists/) recevant les discussions à
53+
propos du langage Ruby, atteint aujourd’hui une moyenne de deux cent
54+
nouveaux messages par jour.
55+
56+
L’index TIOBE, qui mesure la croissance des langages informatiques,
57+
place Ruby à la dixieme place du classement des langages les plus
58+
utilisés au monde. Concernant cette évolution, leur prédiction est la
59+
suivante : « il y a des chances que Ruby entre dans le top 10 dans moins
60+
de six mois. » La plus grande part de cette accélération semble revenir
61+
à la popularité de certains logiciels écrits en Ruby, notamment le
62+
framework web Ruby on Rails<sup>[2](#fn2)</sup>.
63+
64+
Par ailleurs, Ruby est [totalement libre](./license.txt). Il est non
65+
seulement gratuit, mais son utilisation, sa copie, sa modification et sa
66+
distribution sont également libres.
67+
68+
### Une complète orientation objet
69+
70+
Initialement, Matz a étudié les autres langages afin de définir une
71+
syntaxe qui lui serait idéale. Se remémorant cet épisode, il nous
72+
rapportait : « je voulais un langage de script plus puissant que Perl,
73+
et plus orienté objet que Python<sup>[3](#fn3)</sup>.”
74+
75+
Dans Ruby, le paradigme de base est que tout y est un objet. Chaque
76+
entité d’information et de code peut recevoir ses propres propriétés et
77+
actions. La programmation orientée objet fait référence aux propriétés
78+
sous le terme de *variables d’instance*, et aux actions sous le nom de
79+
*méthodes*. L’approche purement objet de Ruby est très souvent illustrée
80+
par un bout de code montrant l’application d’une action à un nombre.
81+
82+
5.times { print "Nous *adorons* Ruby -- Même trop !" }
83+
{: .code .ruby-code}
84+
85+
Dans beaucoup de langages, les nombres et autres types primaires ne sont
86+
pas des objets. Ruby suit ici la voie de Smalltalk, en donnant accès aux
87+
méthodes et variables d’instance à tous les types. Cela facilite
88+
l’appropriation de Ruby, puisque les règles s’appliquant aux objets
89+
usuels s’appliquent en fait à travers tout Ruby. Par ailleurs, la
90+
syntaxe est triviale, se rapprochant d’une phrase minimaliste en
91+
anglais.
92+
93+
### Un soucis de flexibilité
94+
95+
Ruby a pour réputation d’être un langage très flexible, autorisant
96+
notamment son utilisateur à en modifier les entrailles durant
97+
l’exécution. Des parties importantes de Ruby peuvent être retirées ou
98+
redéfinies à loisir ; des greffes de fonctionnalités sont possibles en
99+
cours de route. En définitive, Ruby essaye de ne pas contraindre le
100+
programmeur, mais de lui fournir un squelette robuste autour duquel
101+
bâtir des applications.
102+
103+
Par exemple, l’opération arithmétique d’addition est réalisée par
104+
l’opérateur plus (`+`). Mais si vous préférez utiliser une méthode
105+
`plus`, vous pouvez l’ajouter à la classe de base `Numeric` de Ruby :
106+
107+
class Numeric
108+
  def plus(x)
109+
    self.+(x)
110+
  end
111+
end
112+
113+
y = 5.plus 6
114+
# y vaut maintenant 11
115+
{: .code .ruby-code}
116+
117+
Tous les opérateurs de Ruby sont des méthodes pensées pour être aussi
118+
pratique que faire se peut, syntaxiquement parlant. Vous pouvez
119+
toutefois les redéfinir à votre convenance.
120+
121+
### Les blocs, un moyen d’expression à part entière
122+
123+
L’usage que fait Ruby des blocs de code est également reconnu comme
124+
étant une grande source de flexibilité. Un programmeur peut associer à
125+
toute méthode une *closure*, un bloc de code « anonyme » décrivant la
126+
manière dont la méthode doit se comporter. Une telle *closure* est
127+
appelée en Ruby un *bloc*. Cette fonctionnalité est rapidement devenu
128+
l’une des plus populaires auprès des nouveaux utilisateurs de Ruby,
129+
habitués à des langages impératifs comme PHP ou Visual Basic.
130+
131+
Les blocs trouvent leur inspiration dans les langages fonctionnels. Matz
132+
a dit à ce propos : « en créant les *closures* de Ruby, je souhaitais
133+
respecter la voie tracée par Lisp<sup>[4](#fn4)</sup>. »
134+
135+
search_engines =
136+
  %w[Google Yahoo MSN].map do |moteur|
137+
    "http://www." + moteur.downcase + ".com"
138+
  end
139+
{: .code .ruby-code}
140+
141+
Dans le code ci-dessus, le bloc est délimité par la structure `do ...
142+
end`. La méthode `map` applique le bloc à la liste de mots fournie en
143+
premier lieu par un simple tableau. Bien d’autres méthodes en Ruby
144+
laissent au programmeur l’opportunité d’écrire leurs propres blocs, afin
145+
de d’adapter le fonctionnement d’une méthode au contexte du script.
146+
147+
### Le mécanisme de *mixin*
148+
149+
À la différence de bien d’autres langages orientés objet, Ruby ne donne
150+
accès qu’à l’héritage unique, et ce, **volontairement**. En effet, Ruby
151+
supporte par ailleurs le concept de modules (similaires au *Categories*
152+
en Objective-C). Ces modules sont des regroupements de méthodes.
153+
154+
Les classes peuvent « incorporer » un module (opération dite de *mixin*)
155+
afin d’en recevoir toutes les méthodes, sans plus de travail. Par
156+
exemple, toute classe implémentant une méthode `each` peut ensuite
157+
incorporer le module `Enumerable`, lequel fournit gratuitement plusieurs
158+
méthodes utilisant `each` pour faire des boucles.
159+
160+
class MonTableau
161+
  include Enumerable
162+
end
163+
{: .code .ruby-code}
164+
165+
En général, les rubyistes préfèrent cette façon de faire à l’héritage
166+
multiple, qui est complexe et peut se révéler trop restrictif.
167+
168+
### Le fond et la forme
169+
170+
Bien que Ruby fasse un usage très limité de la ponctuation et se
171+
concentre sur des mots clé simples en anglais, quelques signes de
172+
ponctuation agrémentent la syntaxe. Ruby ne requière pas la déclaration
173+
des variables. Plus simplement, une convention de nommage est utilisée
174+
pour indiquer la portée des variables.
175+
176+
* `var` pourrait être une variable locale.
177+
* `@var` est une variable d’instance.
178+
* `$var` est une variable globale.
179+
180+
Ces signes améliorent la lisibilité en permettant une identification
181+
rapide du rôle de chaque variable. Il devient ainsi inutile de préfixer
182+
chaque variable d’instance d’un `self.` redondant.
183+
184+
### Au delà de ces bases
185+
186+
Ruby met à disposition du programmeur bien d’autres fonctionnalités,
187+
parmi lesquelles on peut citer…
188+
189+
* une gestion des exceptions, tout comme Java ou Python, afin de gérer
190+
facilement les erreurs ;
191+
* un ramasse-miettes (*garbage collector*) utilisant l’algorithme
192+
*mark-and-sweep* pour gérer tous les objets. Il n’y a pas non plus
193+
besoin de maintenir un compte des références individuelles dans les
194+
bibliothèques d’extensions en C. Comme Matz le dit si bien, « c’est un
195+
bon point pour votre santé » ;
196+
* la possibilité d’écrire des extensions en C est plus simple qu’en Perl
197+
ou Python, grâce à une API élégante permettant d’appeler Ruby depuis
198+
le C. Cela comprend aussi bien les appels à Ruby au sein d’un
199+
logiciel, que l’utilisation de Ruby comme langage de script. Une
200+
interface SWIG est également disponible ;
201+
* la possibilité de charger une bibliothèque d’extension à la volée, si
202+
le système d’exploitation le permet ;
203+
* une très grande portabilité : développé majoritairement sous
204+
GNU/Linux, Ruby fonctionne aussi sur une grande part des UNIX, Mac OS
205+
X, Windows 95/98/Me/NT/2000/XP, DOS, BeOS, OS/2, etc.
206+
207+
#### Références
208+
209+
<sup>1</sup> Matz, [discutant][2] sur la liste de diffusion anglophone
210+
Ruby-Talk, le 12 mai 2000.
211+
{: #fn1}
212+
213+
<sup>2</sup> Consultez le site Internet du projet [Ruby on Rails][3] (en
214+
anglais) pour plus de détails.
215+
{: #fn2}
216+
217+
<sup>3</sup> Matz, dans *[An Interview with the Creator of Ruby][4]* (en
218+
anglais), le 29 novembre 2001.
219+
{: #fn3}
220+
221+
<sup>4</sup> Matz, dans *[Blocks and Closures in Ruby][5]* (en anglais),
222+
le 22 décembre 2003.
223+
{: #fn4}
224+
225+
226+
227+
[1]: http://www.rubyist.net/~matz/
228+
[2]: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/2773
229+
[3]: http://rubyonrails.org/
230+
[4]: http://www.linuxdevcenter.com/pub/a/linux/2001/11/29/ruby.html
231+
[5]: http://www.artima.com/intv/closures2.html

fr/community/conferences/index.md

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
---
2+
layout: page
3+
title: "Conférences"
4+
lang: fr
5+
---
6+
7+
Des programmeurs du monde entier, chaque année plus nombreux, se
8+
rencontrent dans des conférences diverses—l’occasion pour eux de
9+
partager leurs vues sur le travail en cours et le futur du langage ; un
10+
bon moment pour accueillir le nouveaux, également.
11+
12+
### Les principales conférences
13+
14+
[RubyConf][1]
15+
: Chaque année depuis 2001, [Ruby Central, Inc.][2] a organisé RubyConf,
16+
la conférence internationale de Ruby. La fréquentation y a été
17+
multipliée par dix entre 2001 et 2006. RubyConf, c’est la possibilité
18+
d’écouter les créateurs de Ruby au cours d’une suite de conférences à
19+
la fois techniques et ouvertes.
20+
21+
[RubyKaigi][3]
22+
: La première conférence japonaise sur Ruby, le RubyKaigi 2006, s’est
23+
tenue à Odaiba. Bien qu’il n’y ai pas eu d’annonce sur éventuelle
24+
poursuite en 2007 et au-delà, tout est possible.
25+
26+
[EuRuKo <small>(Europaeische Ruby Konferenz)</small>][4]
27+
: La première conférence europénne sur Ruby (EuRuKo) s’est tenue à
28+
Karlsruhe, en Allemagne, en 2003. Organisée par une équipe de
29+
rubyistes de langue allemande, dont Armin Roehrl et Michael Neumann,
30+
l’EuRuKo s’est imposé comme le second évènement annuel dans la
31+
communauté.
32+
33+
[Open Source Developer Conference][5]
34+
: Une conférence annuelle sur le développement open source. Basée en
35+
Australie, elle a gagné une aura particulière et chaque année, on
36+
dénombre plusieurs interventions à propos de Ruby.
37+
38+
### Les conférences régionales
39+
40+
[Ruby Central][2] maintient un [*Regional Conference Grant Program*][6]
41+
afin de guider sur les plans budgétaire et organisationnel les groupes
42+
amateurs souhaitant monter des conférences locales ou régionales.
43+
44+
Ruby Central s’est également rapproché de [SDForum][7] pour monter la
45+
*Silicon Valley Ruby Conference*, dont le deuxième opus se tient en
46+
2007.
47+
48+
### Ruby à d’autres conférences
49+
50+
Une intervention sur Ruby est programmée à l’[*O’Reilly Open Source
51+
Conference*][8] (OSCON) depuis 2004. Par ailleurs, les rubyistes
52+
maintiennent une très forte présence dans divers regroupements non
53+
directement liés à Ruby. De très nombreuses conférences ont été
54+
consacrées à [Ruby on Rails][9], à commencer par la [RailsConf][10] de
55+
Ruby Central, la [RailsConf Europe][11] (co-produite en 2006 par Ruby
56+
Central et [Skills Matter][12], organisée en 2007 par Ruby Central et
57+
O’Reilly) et enfin *Canada on Rails*.
58+
59+
60+
61+
[1]: http://www.rubycentral.org/conference
62+
[2]: http://www.rubycentral.org
63+
[3]: http://jp.rubyist.net/RubyKaigi2006/
64+
[4]: http://www.approximity.com/cgi-bin/europeRuby/tiki.cgi?c=v&amp;p=Euruko06
65+
[5]: http://www.osdc.com.au/
66+
[6]: http://www.rubycentral.org/rcg2006.pdf
67+
[7]: http://www.sdforum.org
68+
[8]: http://conferences.oreillynet.com/os2006/
69+
[9]: http://www.rubyonrails.org
70+
[10]: http://www.railsconf.org
71+
[11]: http://europe.railsconf.org
72+
[12]: http://www.skillsmatter.com

fr/community/index.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
layout: page
3+
title: "Communauté"
4+
lang: fr
5+
---
6+
7+
La communauté se développant autour d’un langage de programmation
8+
constitue évidemment une de ses qualités essentielles. Ruby possède une
9+
communauté grandissante qui s’avère accueillante, indépendamment du
10+
niveau technique de ses visiteurs. Attention toutefois, la plupart des
11+
communautés utilisateurs utilisent l’anglais comme base de travail. Si
12+
vous recherchez spécifiquement des programmeurs francophones,
13+
[RubyFrance][1] est certainement ce qu’il vous faut !
14+
15+
Quelques liens à visiter:
16+
17+
[Groupes d’utilisateurs](user-groups/)
18+
: Il existe peut-être un groupe d’utilisateurs Ruby dans votre localité.
19+
Les groupes sont des endroits très intéressants pour discuter avec
20+
d’autres programmeurs Ruby. Ils sont gérés de façon indépendante et
21+
organisent en règle générale des rencontres mensuelles, et si vous
22+
êtes chanceux, des “codefests”.
23+
24+
[Listes de diffusion et forums de discussion](mailing-lists/)
25+
: Plusieurs listes de discussion thématiques pour plusieurs langues sont
26+
disponibles. Si vous avez des questions sur Ruby, les poser sur une de
27+
ces listes est un moyen efficace pour obtenir rapidement des réponses.
28+
29+
[IRC](irc://irc.freenode.net/ruby-lang)
30+
: Le canal IRC anglophone #ruby-lang est un endroit fantastique pour
31+
discuter en temps réel avec d’autres rubyistes (voir également
32+
[l’historique des discussions][2]).
33+
34+
[Ruby Core](ruby-core/)
35+
: Avec la version 2.0 de Ruby en cours de développement, c’est le moment
36+
opportun de suivre l’évolution du projet. Si vous êtes interessé à
37+
contribuer à ce dernier, commencez par ici.
38+
39+
[Blogs](weblogs/)
40+
: Très peu de choses se passent dans la communauté Ruby sans qu’elles se
41+
retrouvent mentionnées dans des blogs. Nous avons une liste de liens
42+
pour vous aidez à vous y connecter.
43+
44+
[Conférences](conferences/)
45+
: Les programmeurs Ruby à travers le monde s’impliquent de plus en plus
46+
dans des conférences, dans lesquelles ils partagent ensemble les
47+
progrès sur leurs travaux, et bien sur accueillent les nouveaux
48+
arrivants dans la communauté.
49+
50+
[The Ruby Mentor Project][3]
51+
: Ce projet vise à rapprocher des débutants aet des programmeurs plus
52+
expérimentés en Ruby.
53+
54+
Informations générales
55+
: * [Ruby Central][4]
56+
* [Ruby sur le projet Open Directory][5]
57+
* [Rails sur le projet Open Directory][6]
58+
59+
60+
61+
[1]: http://rubyfrance.org
62+
[2]: http://meme.b9.com/
63+
[3]: http://rubymentor.rubyforge.org/
64+
[4]: http://www.rubycentral.org/
65+
[5]: http://dmoz.org/Computers/Programming/Languages/Ruby/
66+
[6]: http://dmoz.org/Computers/Programming/Languages/Ruby/Software/Rails/

0 commit comments

Comments
 (0)