{{tag>Trusty Xenial programmation BROUILLON}} ---- ====== Rails (ou Ruby on Rails dit aussi RoR) ====== Rails est un cadriciel libre orienté dans le développement d'applications web, et développé lui-même dans le langage [[:ruby|Ruby]]. Les versions concernées par cette documentation sont celles de Ubuntu 14.04 Rails 3.2, et de Ubuntu 16.04 Rails 4.2. ===== Pré-requis ===== * Disposer des [[:sudo|droits d'administration]]. * Disposer d'une connexion à Internet configurée et activée. ===== Installation ===== Pour installer ce logiciel, il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>rails|Rails]]**, qui installera en même temps toutes les dépendances necessaires dont le langage [[:ruby|Ruby]] et les fonctionnalités SQLite3. ===== Configuration ===== La configuration de Rails s'effectue automatiquement pour chaque application créée dans son dossier , voir ci-après. Pour modifier le comportement de Rails lui-même, utilisez les options sur la ligne de commande : man rails que vous pouvez aussi obtenir avec juste la commande __rails__ ou : rails new -h Usage: rails new APP_PATH [options] Options: -r, [--ruby=PATH] # Path to the Ruby binary of your choice # Default: /usr/bin/ruby -m, [--template=TEMPLATE] # Path to some application template (can be a filesystem path or URL) [--skip-gemfile], [--no-skip-gemfile] # Don't create a Gemfile -B, [--skip-bundle], [--no-skip-bundle] # Don't run bundle install -G, [--skip-git], [--no-skip-git] # Skip .gitignore file [--skip-keeps], [--no-skip-keeps] # Skip source control .keep files -O, [--skip-active-record], [--no-skip-active-record] # Skip Active Record files -S, [--skip-sprockets], [--no-skip-sprockets] # Skip Sprockets files [--skip-spring], [--no-skip-spring] # Don't install Spring application preloader -d, [--database=DATABASE] # Preconfigure for selected database (options: mysql/oracle/postgresql/sqlite3/frontbase/ibm_db/sqlserver/jdbcmysql/jdbcsqlite3/jdbcpostgresql/jdbc) # Default: sqlite3 -j, [--javascript=JAVASCRIPT] # Preconfigure for selected JavaScript library # Default: jquery -J, [--skip-javascript], [--no-skip-javascript] # Skip JavaScript files [--dev], [--no-dev] # Setup the application with Gemfile pointing to your Rails checkout [--edge], [--no-edge] # Setup the application with Gemfile pointing to Rails repository [--skip-turbolinks], [--no-skip-turbolinks] # Skip turbolinks gem -T, [--skip-test-unit], [--no-skip-test-unit] # Skip Test::Unit files [--rc=RC] # Path to file containing extra configuration options for rails command [--no-rc], [--no-no-rc] # Skip loading of extra configuration options from .railsrc file Runtime options: -f, [--force] # Overwrite files that already exist -p, [--pretend], [--no-pretend] # Run but do not make any changes -q, [--quiet], [--no-quiet] # Suppress status output -s, [--skip], [--no-skip] # Skip files that already exist Rails options: -h, [--help], [--no-help] # Show this help message and quit -v, [--version], [--no-version] # Show Rails version number and quit Description: The 'rails new' command creates a new Rails application with a default directory structure and configuration at the path you specify. You can specify extra command-line arguments to be used every time 'rails new' runs in the .railsrc configuration file in your home directory. Note that the arguments specified in the .railsrc file don't affect the defaults values shown above in this help message. Example: rails new ~/Code/Ruby/weblog This generates a skeletal Rails installation in ~/Code/Ruby/weblog. See the README in the newly created application to get going. ===== Utilisation ===== ==== Créez votre première application Rails (Hello, Rails !) ==== * Générez le squelette de l'application : cette commande créera un dossier nommé __weblog__ dans votre dossier personnel, et auto-configurera toutes les fonctionnalités nécessaires (base sqlite3, mini serveur web). rails new $HOME/weblog create create README.rdoc create Rakefile create config.ru create .gitignore create Gemfile create app create app/assets/javascripts/application.js create app/assets/stylesheets/application.css create app/controllers/application_controller.rb create app/helpers/application_helper.rb create app/views/layouts/application.html.erb create app/assets/images/.keep create app/mailers/.keep create app/models/.keep create app/controllers/concerns/.keep create app/models/concerns/.keep create bin create bin/bundle create bin/rails create bin/rake create bin/setup create config create config/routes.rb create config/application.rb create config/environment.rb create config/secrets.yml create config/environments create config/environments/development.rb create config/environments/production.rb create config/environments/test.rb create config/initializers create config/initializers/assets.rb create config/initializers/backtrace_silencers.rb create config/initializers/cookies_serializer.rb create config/initializers/filter_parameter_logging.rb create config/initializers/inflections.rb create config/initializers/mime_types.rb create config/initializers/session_store.rb create config/initializers/wrap_parameters.rb create config/locales create config/locales/en.yml create config/boot.rb create config/database.yml create db create db/seeds.rb create lib create lib/tasks create lib/tasks/.keep create lib/assets create lib/assets/.keep create log create log/.keep create public create public/404.html create public/422.html create public/500.html create public/favicon.ico create public/robots.txt create test/fixtures create test/fixtures/.keep create test/controllers create test/controllers/.keep create test/mailers create test/mailers/.keep create test/models create test/models/.keep create test/helpers create test/helpers/.keep create test/integration create test/integration/.keep create test/test_helper.rb create tmp/cache create tmp/cache/assets create vendor/assets/javascripts create vendor/assets/javascripts/.keep create vendor/assets/stylesheets create vendor/assets/stylesheets/.keep run bundle install --local Resolving dependencies... Using rake 10.5.0 Using i18n 0.7.0 Using json 1.8.3 Using minitest 5.8.4 Using thread_safe 0.3.5 Using builder 3.2.2 Using erubis 2.7.0 Using nokogiri 1.6.7.2 Using rack 1.6.4 Using mime-types 2.6.1 Using arel 6.0.3 Using debug_inspector 0.0.2 Using bundler 1.11.2 Using columnize 0.9.0 Using coffee-script-source 1.9.1.1 Using execjs 2.6.0 Using thor 0.19.1 Using multi_json 1.11.2 Using rdoc 4.2.1 Using sass 3.4.21 Using tilt 2.0.1 Using spring 1.3.6 Using sqlite3 1.3.11 Using tzinfo 1.2.2 Using loofah 2.0.3 Using rack-test 0.6.3 Using sprockets 3.3.0 Using mail 2.6.3 Using binding_of_caller 0.7.2 Using byebug 5.0.0 Using coffee-script 2.4.1 Using uglifier 2.7.2 Using sdoc 0.4.1 Using activesupport 4.2.6 Using rails-html-sanitizer 1.0.3 Using rails-deprecated_sanitizer 1.0.3 Using globalid 0.3.6 Using activemodel 4.2.6 Using jbuilder 2.3.1 Using rails-dom-testing 1.0.6 Using activejob 4.2.6 Using activerecord 4.2.6 Using actionview 4.2.6 Using actionpack 4.2.6 Using actionmailer 4.2.6 Using railties 4.2.6 Using sprockets-rails 2.3.2 Using coffee-rails 4.1.0 Using jquery-rails 4.0.5 Using rails 4.2.6 Using sass-rails 5.0.4 Using web-console 2.2.1 Using turbolinks 2.5.3 Bundle complete! 12 Gemfile dependencies, 53 gems now installed. Use `bundle show [gemname]` to see where a bundled gem is installed. run bundle exec spring binstub --all * bin/rake: spring inserted * bin/rails: spring inserted * Lancez ensuite le serveur Rails pour exécuter l'application __weblog__ cd $HOME/weblog bin/rails server => Booting WEBrick => Rails 4.2.6 application starting in development on http://localhost:3000 => Run `rails server -h` for more startup options => Ctrl-C to shutdown server [2017-07-17 01:28:37] INFO WEBrick 1.3.1 [2017-07-17 01:28:37] INFO ruby 2.3.1 (2016-04-26) [x86_64-linux-gnu] [2017-07-17 01:28:37] INFO WEBrick::HTTPServer#start: pid=1849 port=3000 Started GET "/" for 127.0.0.1 at 2017-07-17 01:34:32 -1000 Processing by Rails::WelcomeController#index as HTML Rendered /usr/lib/ruby/vendor_ruby/rails/templates/rails/welcome/index.html.erb (0.0ms) Completed 200 OK in 1ms (Views: 0.7ms | ActiveRecord: 0.0ms) Dans la version de Ubuntu 14.04 Rails 3.2 : * la base préconfigurée de l'application doit être activée cd $HOME/weblog rake db:create * l'exécution "rails server" s'effectue sans mentionner bin dans le chemin. rails server * Lancez le navigateur web à l'adresse localhost:3000, exemple avec __midori__ midori http://localhost:3000 {{::midori_ror_new_weblog_capture_2017-07-17_01-35-55.jpg?direct&300|midori localhost:3000}} ==== Utilisations avancées ==== Les utilisateurs et programmeurs avancés pourront configurer Rails avec d'autres serveurs web comme Apache : * modules [[https://www.phusionpassenger.com/|Phusion Passenger]] Rails et Rack pour Apache **[[apt>libapache2-mod-passenger]]** , ou d'autres moteurs de bases de données comme MySQL, PostgreSQL, ou via la connexion de bases JDBC. Lire soigneusement [[https://guides.rubyonrails.org/|les guides de rubyonrails]] et [[http://api.rubyonrails.org/|l'API]]. ===== Désinstallation ===== Pour supprimer cette application, il suffit de [[:tutoriel:comment_supprimer_un_paquet|supprimer son paquet]]. Selon la méthode choisie, la configuration globale de l'application est conservée ou supprimée. Les journaux du système, et les fichiers de préférence des utilisateurs dans leurs dossiers personnels sont toujours conservés. ===== Voir aussi ===== * **(en)** [[http://rubyonrails.org|Rails]] * **(fr)** [[wpfr>Ruby_on_Rails|Ruby on Rails sur Wikipédia]] * **(fr)** [[http://railspremierspas.humancoders.com|Vos premiers pas en Ruby on Rails]] ---- //Correcteur : [[utilisateurs:j5012|J5012]].// //Basé sur [[https://guides.rubyonrails.org/getting_started.html|Getting Started with Rails]] par [[https://guides.rubyonrails.org/credits.html]].//