PageRenderTime 66ms CodeModel.GetById 26ms RepoModel.GetById 1ms app.codeStats 0ms

/episodes/200/fr.html

https://github.com/mrnbrkt/asciicasts.com-translations
HTML | 110 lines | 90 code | 20 blank | 0 comment | 0 complexity | cf9179ddd0ce4993f916c025480f4c85 MD5 | raw file
  1. <p>Comment c&eacute;l&eacute;brer au mieux l&#x27;&eacute;pisode 200 si ce n&#x27;est en jetant un premier coup d&#x27;&oelig;il &agrave; Rails&nbsp;3 ? La premi&egrave;re beta de Rails&nbsp;3 vient de sortir et, dans cet &eacute;pisode, nous allons voir comment l&#x27;installer et la configurer. Nous couvrirons les nouvelles fonctionnalit&eacute;s en profondeur dans les prochains &eacute;pisodes. M&ecirc;me si vous de pr&eacute;voyez pas de mettre &agrave; jour vos applications dans un avenir proche, il est toujours int&eacute;ressant d&#x27;installer la beta de mani&egrave;re &agrave; vous faire la main et de jouer avec les nouvelles fonctionnalit&eacute;s.</p>
  2. <h3>Mettre Ruby &agrave; jour</h3>
  3. <p>Rails&nbsp;3 requi&egrave;re Ruby en version 1.8.7 ou sup&eacute;rieure. La premi&egrave;re &eacute;tape est donc de voir quelle version vous utilisez actuellement. Pour ce faire, lancez <code>ruby -v</code> dans un terminal.</p>
  4. <pre class="terminal">
  5. $ ruby -v
  6. ruby 1.8.6 (2008-08-11 patchlevel 287) [universal-darwin9.0]
  7. </pre>
  8. <p>Cette machine utilise Ruby&nbsp;1.8.7. Nous aurons donc besoin de mettre Ruby &agrave; jour avant d&#x27;aller plus loin. Nous pourrions le faire &agrave; la main mais nous allons plut&ocirc;t utiliser rvm, le <a href="http://rvm.beginrescueend.com">Gestionnaire de version de Ruby</a> (Ruby Version Manager). Cela nous permet d&#x27;installer plusieurs versions de Ruby et de passer de l&#x27;une &agrave; l&#x27;autre gr&acirc;ce &agrave; une simple commande.</p>
  9. <p>Si vous utilisez Windows, rvm n&#x27;est pas disponible, vous devrez donc installer Ruby &agrave; la main. Sous Linux, OS&nbsp;X ou autres syst&egrave;mes d&#x27;exploitation bas&eacute;s sur UNIX, nous pouvons installer rvm en suivant les instructions de <a href="http://rvm.beginrescueend.com/install/">la page d&#x27;installation</a> et en lan&ccedil;ant les commandes suivantes&nbsp;:</p>
  10. <pre class="terminal">
  11. mkdir -p ~/.rvm/src/ &amp;&amp; cd ~/.rvm/src &amp;&amp; rm -rf ./rvm/ &amp;&amp; git clone git://github.com/wayneeseguin/rvm.git &amp;&amp; cd rvm &amp;&amp; ./install
  12. </pre>
  13. <p>Une fois que la commande est termin&eacute;e, quelques instructions nous sont donn&eacute;es pour terminer l&#x27;installation. Ces instructions seront diff&eacute;rentes en fonction de si l&#x27;on utilise bash ou zsh. Une fois ces instructions suivies, nous devons fermer et ouvrir de nouveau le terminal. Nous pouvons maintenant lancer la commande <code>rvm</code> pour installer n&#x27;importe quelle version de Ruby.</p>
  14. <p>Rails&nbsp;3.0 requi&egrave;re Ruby 1.8.7 pour tourner mais il fonctionnera &eacute;galement avec la version 1.9.1 et, comme nous nous sentons aventureux, nous installerons cette version. Pour ce faire, lan&ccedil;ons la commande suivante&nbsp;:</p>
  15. <pre class="terminal">
  16. $ rvm install 1.9.1
  17. </pre>
  18. <p>Cela va t&eacute;l&eacute;charger, configurer et installer Ruby&nbsp;1.9.1, ce qui va prendre quelques minutes et garder vos genoux au chaud si vous faites cela sur un portable. Une fois cela termin&eacute;, nous pouvons lancer <code>rvm list</code> pour voir quelles versions de Ruby nous avons d&#x27;install&eacute;es.</p>
  19. <pre class="terminal">
  20. noonoo:~ eifion$ rvm list
  21. ruby-1.9.1-p378 [ x86_64 ]
  22. system [ x86_64 i386 ppc ]
  23. </pre>
  24. <p>Maintenant que nous avons Ruby&nbsp;1.9.1 d&#x27;install&eacute;, nous pouvons utiliser cette version.</p>
  25. <pre class="terminal">
  26. $ rvm 1.9.1
  27. $ ruby -v
  28. ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-darwin10.2.0]
  29. </pre>
  30. <p>La nouvelle version de Ruby sera active tant que le terminal restera ouvert. Si nous fermons et ouvrons le terminal de nouveau, nous utiliserons la version par d&eacute;faut de Ruby. Pour rendre la nouvelle version permanente, nous pouvons passer l&#x27;option <code>--default</code> &agrave; <code>rvm</code>.</p>
  31. <pre class="terminal">
  32. $ rvm 1.9.1 --default
  33. $ ruby -v
  34. ruby 1.9.1p378 (2010-01-10 revision 26273) [i386-darwin10.2.0]
  35. </pre>
  36. <p>Nous pouvons maintenant ouvrir autant de terminaux que nous voulons, 1.9.1 sera la version de ruby &agrave; chaque fois.</p>
  37. <p>Si nous voulons revenir &agrave; la version syst&egrave;me de Ruby, nous pouvons utiliser <code>rvm system</code>, en passant <code>--default</code> pour revenir &agrave; la version syst&egrave;me de Ruby de fa&ccedil;on permanente.</p>
  38. <h3>Installer la beta de Rails</h3>
  39. <p>Maintenant que nous avons une version support&eacute;e de Ruby, nous pouvons installer la beta de Rails&nbsp;3.</p>
  40. <pre class="terminal">
  41. gem install tzinfo builder memcache-client rack rack-test rack-mount erubis mail text-format thor bundler i18n
  42. gem install rails --pre
  43. </pre>
  44. <p>&Eacute;tant donn&eacute; que nous installons une pre-release de Rails, nous devons installer les d&eacute;pendances &agrave; part, ce que nous faisons via la premi&egrave;re ligne. Notez que la commande <code>gem</code> n&#x27;est pas pr&eacute;fix&eacute;e de <code>sudo</code>. Comme nous utilisons rvm, nous ne voulons pas utiliser <code>sudo</code> quand nous installons les gems. Faites donc bien attention. La <a href="http://rvm.beginrescueend.com/gems/">page sur les gems</a> du site de rvm donne plus de d&eacute;tails sur le sujet.</p>
  45. <p>Une fois les deux commandes termin&eacute;es, nous avons Rails&nbsp;3.0 install&eacute; et nous pouvons commencer &agrave; tester.</p>
  46. <h3>Utiliser Rails&nbsp;3.0</h3>
  47. <p>Tout d&#x27;abord, assurons nous que Rails&nbsp;3 a &eacute;t&eacute; install&eacute; en lan&ccedil;ant <code>rails -v</code>.</p>
  48. <pre class="terminal">
  49. $ rails -v
  50. Rails 3.0.0.beta
  51. </pre>
  52. <p>Si vous obtenez une erreur quand vous essayez cela, fermez votre terminal, ouvrez le de nouveau et tentez une nouvelle fois la commande. Une fois Rails&nbsp;3.0 fonctionnel, nous pouvons cr&eacute;er notre premi&egrave;re application. Ce sera une application tr&egrave;s simple dont le but sera de stocker des records de jeux et nous l&#x27;appellerons <code>topscore</code>. Nous cr&eacute;ons une application Rails&nbsp;3.0 comme nous le faisons habituellement&nbsp;:</p>
  53. <pre class="terminal">
  54. rails topscore
  55. </pre>
  56. <p>Mais lorsque l&#x27;on se d&eacute;place dans le dossier de l&#x27;application et que l&#x27;on essaye de d&eacute;marrer le serveur, on constate la premi&egrave;re diff&eacute;rence.</p>
  57. <pre class="terminal">
  58. $ script/server
  59. -bash: script/server: No such file or directory
  60. </pre>
  61. <p>Aucune commande ne se trouve plus dans le dossier <code>script</code>. Comment allons-nous donc lancer le serveur ? La r&eacute;ponse se trouve dans la commande <code>rails</code>&nbsp;:</p>
  62. <pre class="terminal">
  63. rails server
  64. </pre>
  65. <p>Lorsque nous lan&ccedil;ons cette commande, nous pouvons nous attendre &agrave; un message d&#x27;erreur. Ce n&#x27;est pas anormal, compte tenu du fait que nous travaillons avec une beta. Si nous regardons le message d&#x27;erreur, il indique que la gem <code>sqlite3-ruby</code> est manquante. Ce la peut nous sembler d&eacute;routant si la gem est bien install&eacute;e sur notre syst&egrave;me. Il faut bien comprendre que chaque version de Ruby que l&#x27;on installe embarque sa propre version du RubyGems. Cela signifie que toutes les gems suppl&eacute;mentaires requises devront &ecirc;tre install&eacute;es pour chaque version. Nous devons donc installer la gem <code>sqlite3-ruby</code> pour Ruby&nbsp;1.9.1. Encore une fois, attention de ne pas pr&eacute;fixer la commande par <code>sudo</code>.</p>
  66. <pre class="terminal">
  67. gem install sqlite3-ruby
  68. </pre>
  69. <p>Cette fois, lorsque l&#x27;on lance <code>rails server</code>, nous allons voir beaucoup d&#x27;affichages et quelques warnings mais le serveur va d&eacute;marrer. Si l&#x27;on visite <a href="http://localhost:3000/">http://localhost:3000</a> avec notre navigateur, nous devrions voir la page par d&eacute;faut de Rails.</p>
  70. <div class="imageWrapper">
  71. <img src="/system/photos/326/original/E200I01.png" width="785" height="515" alt="La page d'accueil de notre premiere application Rails 3.0."/>
  72. </div>
  73. <p>Nous pouvons maintenant commencer &agrave; construire notre application. Commen&ccedil;ons par g&eacute;n&eacute;rer le scaffold de <code>Game</code>, le mod&egrave;le repr&eacute;sentant un jeu, qui aura un attribut <code>name</code> de type <code>string</code>.</p>
  74. <pre class="terminal">
  75. rails generate scaffold game name:string
  76. </pre>
  77. <p>Encore une fois, nous allons voir beaucoup d&#x27;affichages en lan&ccedil;ant la commande mais elle devrait fonctionner. Nous allons ensuite migrer la base de donn&eacute;es.</p>
  78. <pre class="terminal">
  79. rake db:migrate
  80. </pre>
  81. <p>Si nous visitons la page des jeux (/games), nous allons voir l&#x27;habituelle page g&eacute;n&eacute;r&eacute;e par le scaffold que vous avez s&ucirc;rement d&eacute;j&agrave; vue dans d&#x27;autres applications Rails.</p>
  82. <div class="imageWrapper">
  83. <img src="/system/photos/327/original/E200I02.png" width="799" height="283" alt="La page de creation d'un jeu generee par le scaffold."/>
  84. </div>
  85. <p>Nous n&#x27;irons pas plus loin pour cette application. Dans les prochains &eacute;pisodes, nous couvrirons les nouvelles fonctionnalit&eacute;s de Rails&nbsp;3 en profondeur. En attendant, cela vaut la peine de lire les <a href="http://guides.rails.info/3_0_release_notes.html">Notes de Publication de Rails&nbsp;3.0</a> pour un aper&ccedil;u de ce qui a chang&eacute;. Il existe &eacute;galement une longue liste de liens sur Rails&nbsp;3 sur <a href="http://www.rubyinside.com/rails-3-0-beta-links-2966.html">Ruby Inside</a>.</p>
  86. <p>&Eacute;tant donn&eacute; que nous travaillons avec une version beta, il est fort possible que certaines choses ne marchent pas correctement et que vous rencontriez quelques bugs ou probl&egrave;mes. Si vous rencontrez une erreur qui ne vient, &agrave; coup s&ucirc;r, pas de votre code, la premi&egrave;re chose &agrave; faire est de v&eacute;rifier quelles gems ou plugins votre application utilise. Il est fort probable que l&#x27;un de ceux-ci soit la cause du probl&egrave;me parce qu&#x27;il n&#x27;a pas encore &eacute;t&eacute; mis &agrave; jour pour fonctionner avec Rails&nbsp;3 ou Ruby&nbsp;1.9. Si vous remontez l&#x27;origine de l&#x27;erreur &agrave; une gem ou un plugin sp&eacute;cifique, vous devriez ajouter un ticket dans le bug tracker de cette gem ou de ce plugin, de mani&egrave;re &agrave; ce que cela puisse &ecirc;tre corrig&eacute;.</p>
  87. <p>Si vous &ecirc;tes s&ucirc;r que le probl&egrave;me vient de Rails lui-m&ecirc;me, vous pouvez soumettre un ticket sur <a href="https://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets?q=all">Rails Lighthouse</a>. Si vous d&eacute;cidez de soumettre un ticket, gardez ce conseil &agrave; l&#x27;esprit. Tout d&#x27;abord, cherchez dans les tickets existants pour vous assurer que vous ne dupliquez pas un ticket existant. Quand vous r&eacute;digez le ticket, assurez-vous de fournir les instructions permettant de r&eacute;pliquer l&#x27;erreur ainsi que le message d&#x27;erreur complet et la pile d&#x27;erreurs (stacktrace) associ&eacute;e. Enfin, pr&eacute;cisez bien les versions de Ruby et de Rails utilis&eacute;es ainsi que les noms et versions des gems ou plugins utilis&eacute;s. Cela facilitera la duplication du probl&egrave;me. Soumettre de bons tickets les aidera &agrave; &ecirc;tre relev&eacute;s et corrig&eacute;s.</p>
  88. <h3>Donner en retour &agrave; l&#x27;Open-Source</h3>
  89. <p>Comme vous l&#x27;aurez probablement remarqu&eacute;, c&#x27;est l&#x27;&eacute;pisode 200 et pour f&ecirc;ter ce 200e Railscast, Ryan Bates lance une campagne appel&eacute;e <a href="http://railscasts.com/give_back">&ldquo;Give Back To Open Source&rdquo; </a>(Donner en retour &agrave; l&#x27;Open-Source). Beaucoup de travail est produit pour l&#x27;open-source et distribu&eacute; ensuite gratuitement &agrave; qui veut l&#x27;utiliser. Il semble donc logique de donner en retour lorsque cela est possible. Le d&eacute;fi lanc&eacute; par Ryan est d&#x27;ouvrir votre plus grosse application Rails et de voir les diff&eacute;rentes gems ou plugins qu&#x27;elle utilise. Si vous regardez les pages de ces projets, vous verrez que beaucoup d&#x27;entre eux acceptent les donations&nbsp;; m&ecirc;me une petite contribution serait grandement appr&eacute;ci&eacute;e et aiderait &agrave; la continuit&eacute; du d&eacute;veloppement de cette gem.</p>
  90. <p>Vous pouvez &eacute;galement jeter un &oelig;il &agrave; liste des tickets d&#x27;un projet, cr&eacute;er un fork et corriger un bug ou aider &agrave; la documentation. C&#x27;est &agrave; vous de d&eacute;cider de comment participer mais vous &ecirc;tes encourag&eacute; &agrave; le faire pour aider la communaut&eacute; Rails &agrave; avancer.</p>