SlideShare uma empresa Scribd logo
1 de 26
Qui utilise Rails ?

• Basecamp (1670 - Alexa)
• Twitter (13)
• Hulu (202)
• iLike (2362)
• ....
               http://rubyonrails.org/applications
Rails est un framework
    web dogmatique
       (opiniated)
    David Heinemeier Hansson
Convention over configuration

“   Paradigme de programmation visant à
    diminuer le nombre de décisions que
    les développeurs doivent effectuer,
    apportant un gain notable de simplicité
    et de productivité, sans toutefois
    perdre en flexibilité.

                          ”
MVC Full stack
•   O/RM & Data Migrations
    •   sqlite, MySQL, PostgreSQL, SQLServer, Oracle, DB2, Firebird, ...

•   Routing & Controllers

•   Templates engine (html, email, xml, json, ...)

•   Helpers (html + ajax)

•   Unit-testing, integration testing, Fixtures, TDD, BDD, ...

•   Multiples environnements

•   Plugins

•   Glue-code : logger, console, générateurs, ...
w
e
b
s
e
r   Controller
v
e
r
w
e
b     View
s
e
r   Controller
v
e
r     Model
w
e
b       View
s
e
r   Routes
v
e
r     Controller


        Model
w
e
b       View       Helpers
s
e
r   Routes
v
e
r     Controller


        Model
w
e




    Rack Middleware
b                         View       Helpers
s
e
r                     Routes
v
e
r                       Controller


                          Model
RESTful   Routes
RESTful                           Routes

                       map.resources :photos


Verbe
               URL              Action              Utilisation
HTTP
 GET     /photos                 index     Liste
 GET     /photos/new              new      Formulaire de création
POST     /photos                 create    Créer
 GET     /photos/:id             show      Afficher
 GET     /photos/:id/edit         edit     Formulaire d’édition
 PUT     /photos/:id             update    Mettre à jour
DELETE   /photos/:id            destroy    Supprimer
Démonstration
Une gestion de bibliothèque
Ecosystème riche
• searchlogic
• authlogic
• paperclip
• geokit
• Capistrano
• ...
Déploiement
       Rails != threadsafe



• Apache / Nginx / Lighttpd + Mongrel
• Apache / Nginx / mod_rails
• unicorn...
Sources

http://people.no-distance.net/ol/documents/rails-intro/rails-intro-fr.pdf - Olivier Gutknecht



http://www.teachmetocode.com/screencasts/1 - Eric Berry




http://guides.rubyonrails.org/




http://www.railscasts.org/
http://creativecommons.org/licenses/by-nc-sa/2.0/fr/


Vous êtes libres de reproduire, distribuer et communiquer cette création au
                 public, ainsi que de modifier cette création



            Paternité. Vous devez citer le nom de l'auteur original de la manière indiquée par l'auteur de
            l'oeuvre ou le titulaire des droits qui vous confère cette autorisation (mais pas d'une manière qui
            suggérerait qu'ils vous soutiennent ou approuvent votre utilisation de l'oeuvre).



            Pas d'Utilisation Commerciale.Vous n'avez pas le droit d'utiliser cette création à des fins
            commerciales.




            Partage des Conditions Initiales à l'Identique. Si vous modifiez, transformez ou adaptez
            cette création, vous n'avez le droit de distribuer la création qui en résulte que sous un contrat
            identique à celui-ci.

Mais conteúdo relacionado

Semelhante a Présentation de Ruby on Rails

Resource Oriented Architecture
Resource Oriented ArchitectureResource Oriented Architecture
Resource Oriented ArchitectureDNG Consulting
 
La mobilité dans Drupal
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans DrupalAdyax
 
Introduction à Symfony2
Introduction à Symfony2Introduction à Symfony2
Introduction à Symfony2Hugo Hamon
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJSAbdoulaye Dieng
 
Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Camille Roux
 
Rest pour l'interopérabilité
Rest pour l'interopérabilitéRest pour l'interopérabilité
Rest pour l'interopérabilitépeportier
 
Le seo et les redirections d urls
Le seo et les redirections d urlsLe seo et les redirections d urls
Le seo et les redirections d urlsAlexandre Filluzeau
 
Oxalide Workshop #3 - Elasticearch, an overview
Oxalide Workshop #3 - Elasticearch, an overviewOxalide Workshop #3 - Elasticearch, an overview
Oxalide Workshop #3 - Elasticearch, an overviewLudovic Piot
 
Oxalide Academy : Workshop #3 Elastic Search
Oxalide Academy : Workshop #3 Elastic SearchOxalide Academy : Workshop #3 Elastic Search
Oxalide Academy : Workshop #3 Elastic SearchOxalide
 
Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)Martin Latrille
 
Symfony with angular.pptx
Symfony with angular.pptxSymfony with angular.pptx
Symfony with angular.pptxEsokia
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applicationsgoldoraf
 
Création des sites web pour débutant
Création des sites web pour débutantCréation des sites web pour débutant
Création des sites web pour débutantKorteby Farouk
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8davrous
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!CARA_Lyon
 

Semelhante a Présentation de Ruby on Rails (20)

Resource Oriented Architecture
Resource Oriented ArchitectureResource Oriented Architecture
Resource Oriented Architecture
 
La mobilité dans Drupal
La mobilité dans DrupalLa mobilité dans Drupal
La mobilité dans Drupal
 
Introduction à Symfony2
Introduction à Symfony2Introduction à Symfony2
Introduction à Symfony2
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJS
 
Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)Pourquoi rails est génial? (version longue)
Pourquoi rails est génial? (version longue)
 
Rest pour l'interopérabilité
Rest pour l'interopérabilitéRest pour l'interopérabilité
Rest pour l'interopérabilité
 
Introduction à Laravel
Introduction à LaravelIntroduction à Laravel
Introduction à Laravel
 
Backbonejs presentation
Backbonejs presentationBackbonejs presentation
Backbonejs presentation
 
Le seo et les redirections d urls
Le seo et les redirections d urlsLe seo et les redirections d urls
Le seo et les redirections d urls
 
Oxalide Workshop #3 - Elasticearch, an overview
Oxalide Workshop #3 - Elasticearch, an overviewOxalide Workshop #3 - Elasticearch, an overview
Oxalide Workshop #3 - Elasticearch, an overview
 
Oxalide Academy : Workshop #3 Elastic Search
Oxalide Academy : Workshop #3 Elastic SearchOxalide Academy : Workshop #3 Elastic Search
Oxalide Academy : Workshop #3 Elastic Search
 
Rails 3 au Djangocong
Rails 3 au DjangocongRails 3 au Djangocong
Rails 3 au Djangocong
 
Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)Présentation de Django @ Orange Labs (FR)
Présentation de Django @ Orange Labs (FR)
 
Angular
AngularAngular
Angular
 
Symfony with angular.pptx
Symfony with angular.pptxSymfony with angular.pptx
Symfony with angular.pptx
 
Nouveaux apis
Nouveaux apisNouveaux apis
Nouveaux apis
 
Rich Desktop Applications
Rich Desktop ApplicationsRich Desktop Applications
Rich Desktop Applications
 
Création des sites web pour débutant
Création des sites web pour débutantCréation des sites web pour débutant
Création des sites web pour débutant
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 
HTML5... La révolution maintenant!
HTML5... La révolution maintenant!HTML5... La révolution maintenant!
HTML5... La révolution maintenant!
 

Présentation de Ruby on Rails

  • 1.
  • 2. Qui utilise Rails ? • Basecamp (1670 - Alexa) • Twitter (13) • Hulu (202) • iLike (2362) • .... http://rubyonrails.org/applications
  • 3. Rails est un framework web dogmatique (opiniated) David Heinemeier Hansson
  • 4. Convention over configuration “ Paradigme de programmation visant à diminuer le nombre de décisions que les développeurs doivent effectuer, apportant un gain notable de simplicité et de productivité, sans toutefois perdre en flexibilité. ”
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13. MVC Full stack • O/RM & Data Migrations • sqlite, MySQL, PostgreSQL, SQLServer, Oracle, DB2, Firebird, ... • Routing & Controllers • Templates engine (html, email, xml, json, ...) • Helpers (html + ajax) • Unit-testing, integration testing, Fixtures, TDD, BDD, ... • Multiples environnements • Plugins • Glue-code : logger, console, générateurs, ...
  • 14.
  • 15. w e b s e r Controller v e r
  • 16. w e b View s e r Controller v e r Model
  • 17. w e b View s e r Routes v e r Controller Model
  • 18. w e b View Helpers s e r Routes v e r Controller Model
  • 19. w e Rack Middleware b View Helpers s e r Routes v e r Controller Model
  • 20. RESTful Routes
  • 21. RESTful Routes map.resources :photos Verbe URL Action Utilisation HTTP GET /photos index Liste GET /photos/new new Formulaire de création POST /photos create Créer GET /photos/:id show Afficher GET /photos/:id/edit edit Formulaire d’édition PUT /photos/:id update Mettre à jour DELETE /photos/:id destroy Supprimer
  • 23. Ecosystème riche • searchlogic • authlogic • paperclip • geokit • Capistrano • ...
  • 24. Déploiement Rails != threadsafe • Apache / Nginx / Lighttpd + Mongrel • Apache / Nginx / mod_rails • unicorn...
  • 25. Sources http://people.no-distance.net/ol/documents/rails-intro/rails-intro-fr.pdf - Olivier Gutknecht http://www.teachmetocode.com/screencasts/1 - Eric Berry http://guides.rubyonrails.org/ http://www.railscasts.org/
  • 26. http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Vous êtes libres de reproduire, distribuer et communiquer cette création au public, ainsi que de modifier cette création Paternité. Vous devez citer le nom de l'auteur original de la manière indiquée par l'auteur de l'oeuvre ou le titulaire des droits qui vous confère cette autorisation (mais pas d'une manière qui suggérerait qu'ils vous soutiennent ou approuvent votre utilisation de l'oeuvre). Pas d'Utilisation Commerciale.Vous n'avez pas le droit d'utiliser cette création à des fins commerciales. Partage des Conditions Initiales à l'Identique. Si vous modifiez, transformez ou adaptez cette création, vous n'avez le droit de distribuer la création qui en résulte que sous un contrat identique à celui-ci.

Notas do Editor