Outils pour utilisateurs

Outils du site


issue80:c_c

Table des matières

1

Early in December I was spending some time working on a website that will eventually become my website for my freelance IT business. I started off using Bolt CMS and ended up with a design I quite liked, and overall, Bolt did everything I wanted. However, it did a lot more than I needed as well, and I have slight reservations for using a blog-oriented CMS to manage the content of a web page. Instead, I decided to give Ruby on Rails a shot, to see which option I would ultimately go with. I had previously spent a while learning both Ruby and Ruby on Rails, so jumping in wasn't quite as daunting. This month's article is for anyone hesitating about diving in, and for anyone interested in web design who would like to pick up some new skills.

Au début décembre, je passais du temps à travailler sur un site Web qui deviendra finalement le site Web pour mon entreprise IT indépendante. Au départ, j'utilisais Bolt CMS et j'ai fini avec une conception que j'aimais bien, et, dans l'ensemble, Bolt faisait tout ce que je voulais. Mais il a aussi fait beaucoup plus que ce dont j'avais besoin et j'ai de légères réserves sur l'utilisation d'un CMS [en français SGC Système de Gestion de Contenu] conçu pour les blogs, pour gérer le contenu d'une page Web. Au lieu de cela, j'ai décidé de jeter un œil à Ruby on Rails, pour voir quelle option je choisirai in fine. J'avais déjà passé un certain temps d'apprentissage à la fois sur Ruby et Ruby on Rails, donc me plonger dedans n'était pas trop intimidant. L'article de ce mois-ci est pour tous ceux qui hésitent à sauter le pas et pour quiconque s'intéresse à la conception Web et voudrait acquérir quelques nouvelles compétences.

Prerequisites The ruby package must be installed before using Rails. The current one in Ubuntu is version 1.9.2 (package: ruby1.9.1). The current version is actually 2.0.0-p353, so it may be better to install ruby-rvm (ruby version manager), and use that to install/manage your ruby versions. For anyone who needs to install it in other operating systems too, there are good instructions here: https://www.ruby-lang.org/en/downloads/ Rails installation instructions: http://rubyonrails.org/download

Prérequis

Le paquet ruby doit être installé avant d'utiliser Rails. Le paquet actuel dans Ubuntu est une version 1.9.2 (paquet : ruby1.9.1). La version actuelle est en fait la 2.0.0-p353 ; il peut donc être préférable d'installer rubis-rvm (rubis version manager) et de l'utiliser pour installer et gérer vos versions de rubis. Pour ceux qui ont besoin de l'installer également dans d'autres systèmes d'exploitation, il y a de bonnes instructions ici : https://www.ruby-lang.org/en/downloads/

Rails instructions d'installation : http://rubyonrails.org/download

2

Ruby on Rails – What is it? Ruby on Rails is a framework designed in Ruby to make the generation of complex websites much easier. It's designed with the idea in mind that a programmer can focus on convention over configuration, while still designing the website they originally had in mind. Ruby on Rails – Why should I try it? • By default it uses SCSS for its stylesheets, allowing for cleaner formatting in your stylesheets (it's automatically parsed to css when running the server). • Integrates a server setup, which can be started with “rails server” or “rails s”, and polls for changes to the files, while serving up your website on localhost:3000 (port 3000, by default). Naturally, this can also be used in a production environment with an actual domain. • Allows for easy extensibility by editing the Gemfile. • Has modules for certain tasks (i.e. User authentification) which you can easily add to your own project, and helps to avoid feature overload.

Ruby on Rails - Qu'est-ce que c'est ?

Ruby on Rails est un cadre conçu en Ruby pour rendre la génération de sites Web complexes beaucoup plus facile. Il est conçu avec l'idée que le programmeur peut se concentrer sur le codage par convention plutôt que sur la configuration, tout en concevant le site qu'il avait à l'esprit à l'origine.

Ruby on Rails - Pourquoi devrais-je l'essayer ? • Par défaut, il utilise SCSS pour ses feuilles de style, permettant une mise en forme plus propre dans vos feuilles de style (c'est automatiquement transformé en CSS lors de l'exécution du serveur). • Il intègre une configuration de serveur qui peut être démarré avec « rails server » ou « rails s » et vérifie régulièrement les modifications apportées aux fichiers, tout en publiant votre site sur localhost:3000 (port 3000 par défaut). Naturellement, on peut également l'utiliser dans un environnement de production avec un domaine réel. • Il permet l'extensibilité facile en éditant le Gemfile. • Il a des modules pour certaines tâches (par exemple l'authentification de l'utilisateur) que vous pouvez ajouter facilement à votre propre projet et contribue à éviter la surcharge de fonctionnalités.

• You can create your own classes and controllers, so that only items you actually use are saved in your database. • Error handling – This is a bit subjective, but I find that Rails' approach to throwing errors and debug information is a lot more helpful/cleaner than most other web-based languages. • Large community – odds are you'll be able to find a solution to most of your problems online, and some areas may even have Rails/Ruby meet-ups. • Integrates with Git very well, allowing for clean revision control of your website's code. It can also be used to upload your site to hosts like Heroku, without the need to use FTP. • Includes a routing table, allowing you immense control over the URL formatting and restrictions.

• Vous pouvez créer vos propres classes et contrôleurs, afin que seuls les éléments que vous utilisez réellement soient enregistrés dans votre base de données. • Gestion des erreurs - C'est un peu subjectif, mais je trouve que l'approche de Rails pour relever les erreurs et les informations de débogage est beaucoup plus utile et/ou plus propre que la plupart des autres langages sur le Web. • Grandes communautés - Il y a des chances pour que vous soyez en mesure de trouver en ligne une solution à la plupart de vos problèmes et certaines régions peuvent même avoir des rencontres Rails/Ruby. • Très bonne intégration avec Git, vous permettant un contrôle propre de la révision du code de votre site Web. Il peut également être utilisé pour télécharger votre site vers des hôtes comme Heroku, sans devoir utiliser FTP. • Il comprend une table de routage, ce qui vous permet un immense contrôle sur le formatage et les restrictions d'URL.

3

Possible hardships: • Very programming-focused – if this isn't your forte and you're not interested in learning, you may very well struggle. • Requires a basic knowledge of Ruby – since Rails uses the Ruby syntax for controllers, models and helpers, it's highly recommended you have a working knowledge of it. However, something like http://tryruby.org/ could be sufficient, if you're willing to refine your knowledge as you work in Rails. • Unless you follow a tutorial for your first project, you may run into issues where you're unsure what to Google, due to the errors being specific to your custom models. • The rails generate command can be slightly confusing at first, especially when it results in rake db:migrate errors. However, once you work your way through one error, you should have a good understanding of how to fix future ones. • If you don't know about SCSS, you will lose out on the benefit of it, but it won't impact your CSS generation.

Difficultés possibles : • Très axé sur la programmation : si ce n'est pas votre fort et que l'apprendre ne vous intéresse pas, vous pouvez très bien avoir du mal. • Nécessite une connaissance de base de Ruby : puisque Rails utilise la syntaxe Ruby pour les contrôleurs, les modèles et les assistants, il est fortement recommandé d'en avoir une connaissance pratique et fonctionnelle. Cependant, quelque chose comme http://tryruby.org/ pourra suffire, si vous êtes prêt à affiner vos connaissances tout en travaillant dans Rails. • Sauf si vous suivez un tutoriel pour votre premier projet, vous pouvez rencontrer des problèmes sans savoir vraiment ce qu'il faut chercher sur Google, les erreurs étant spécifiques à vos modèles personnalisés. • La commande generate de rails peut être légèrement déroutante au premier abord, surtout quand elle se termine par des erreurs rake db:migrate. Cependant, une fois que vous vous êtes débrouillé avec une erreur, vous devriez avoir une bonne compréhension de la façon de résoudre les autres. • Si vous ne connaissez rien sur SCSS, vous perdrez ses avantages, mais ça n'impactera pas la génération de votre CSS.

4

You've sold me! Where do I start? The first stop I'd recommend is http://tryruby.org, in order to learn/freshen up on Ruby. Once you've completed that, Code School also offers a free course in Rails, called Rails for Zombies (http://railsforzombies.org). While it may seem silly at points, it is actually a great resource for an introduction to Rails. There are also countless books that cover Ruby on Rails (admittedly, I haven't read any, and as such don't feel I can make a recommendation).

C'est vendu ! Où dois-je commencer ?

La première étape que je recommande est http://tryruby.org, afin d'apprendre Ruby ou de rafraîchir vos connaissances. Une fois que vous avez terminé, Code School offre également un cours gratuit de Rails, appelé Rails for Zombies (http://railsforzombies.org). Bien qu'il puisse sembler parfois ridicule, c'est en fait une grande ressource pour une introduction à Rails. Il y a aussi d'innombrables livres qui traitent de Ruby on Rails (j'admets que je n'en ai pas lu ; ainsi je ne me sens pas en mesure de faire de recommandation).

Once you've read up on Rails and have done a tutorial of some sort, be sure to pick out a specific thing you'd like to achieve (i.e. Design a class/controller to handle pages and their content). Then look into the rails generate scaffold command. My only tip here is to make sure you integrate all the variables you'll need from the get-go in the scaffold command. An example command could be: rails generate scaffold Page title:string content:string slug:string This will generate the controller, model and views required for Page, and configure it to have a title, content, and slug attribute in the database, which you can input through the edit page. Since this article isn't intended to be a detailed how-to, I will leave you with just two more hints: •In the above example, after running the server, you can see your pages by going to http://localhost:3000/pages • Once you've used the scaffold command and have the files, it works best if you then generate specific controllers or models as you need them. To see a full list, type rails generate -h

Une fois que vous pris connaissance de Rails et que vous avez suivi un quelconque tutoriel, choisissez une chose spécifique que vous souhaitez réaliser (conception d'une classe ou d'un contrôleur pour gérer les pages et leur contenu). Ensuite, regardez la commande rails generate scaffold. Mon seul conseil ici est de vous assurer que vous intégrez toutes les variables dont vous aurez besoin dans la commande scaffold dès le départ. Un exemple de commande pourrait être :

rails generate scaffold Page title:string content:string slug:string

Cela va générer le contrôleur, le modèle et les vues nécessaires pour Page et les configurer pour avoir les attributs titre, contenu, et slug dans la base de données, que vous pourrez entrer dans la page d'édition. Puisque cet article n'est pas destiné à être un manuel détaillé, je vais vous laisser avec seulement deux autres conseils : • Dans l'exemple ci-dessus, après l'exécution du serveur, vous pouvez voir vos pages en allant sur http://localhost:3000/pages • Une fois que vous avez utilisé la commande scaffold et obtenu les fichiers, ça fonctionne mieux si vous générez alors des contrôleurs ou des modèles spécifiques au fur et à mesure que vous en avez besoin. Pour voir la liste complète, tapez rails generate -h

5

It still seems kind of daunting - can I really do this? Titre : Ruby on Rails If you want a success story, the one that first jumps to mind is the creator of Freelancify, who learned Ruby on Rails in 12 weeks (specifically, from the time he began learning Ruby on Rails and the time he put Freelancify online was 12 weeks). According to his blog post, he wasn't a programmer at all before jumping into Ruby on Rails. Source: http://www.jamesfend.com/learned-ruby-rails-12-weeks-launch-freelancify Will you be doing a tutorial on how to set up Rails? While I find the Ruby on Rails documentation is excellent, and there are some guides online as well, I can understand if some people prefer an up-to-date step-by-step guide from me. If that's the case, let me know in an email at lswest34+fcm@gmail.com and I will happily cover setting up Rails 4.0.2 and getting a project started. As always, I hope you've found this article interesting, and that I have enticed one or two of you into trying Ruby on Rails. If you have any comments, questions, suggestions or requests, you're welcome to contact me at lswest34+fcm@gmail.com. I'd also be happy to hear about any experiences with Ruby or Ruby on Rails you've had.

Ça semble encore un peu intimidant : est-ce que je peux vraiment le faire ?

Titre : Ruby on Rails

Si vous voulez une histoire d'une réussite, le premier qui vient à l'esprit est celui du créateur de Freelancify, qui a appris Ruby on Rails en 12 semaines (plus précisément, entre le moment où il a commencé à apprendre Ruby on Rails et le moment où il a mis Freelancify en ligne, il y a eu 12 semaines). Selon son blog, il n'était pas du tout un programmeur avant de plonger dans Ruby on Rails.

Source: http://www.jamesfend.com/learned-ruby-rails-12-weeks-launch-freelancify

Allez-vous faire un tutoriel sur comment mettre rails en place ?

Bien que je trouve la documentation de Ruby on Rails excellente et qu'il y ait aussi des guides en ligne, je peux comprendre que certaines personnes préfèrent un guide étape par étape, à jour, venant de moi. Si c'est le cas, faites-le moi savoir dans un e-mail à lswest34+fcm@gmail.com et je serai heureux de décrire la mise en place de Rails 4.0.2 et le démarrage d'un projet.

Comme toujours, j'espère que vous avez trouvé cet article intéressant et que j'ai convaincu un ou deux d'entre vous à essayer Ruby on Rails. Si vous avez des commentaires, des questions, des suggestions ou des demandes, n'hésitez pas à me contacter à lswest34+fcm@gmail.com. Je serais également heureux de connaître vos expériences vécues avec Ruby ou Ruby on Rails.

issue80/c_c.txt · Dernière modification : 2014/04/21 11:59 de auntiee