SlideShare une entreprise Scribd logo
1  sur  87
Pourquoi Rails est
                 génial?
                 D'un point de vue non technique!




9 juillet 2010
Qui parle?
• Camille Roux
• 25 ans, Sophia Antipolis
• +1 an de dev Ruby on Rails
• +3 ans de dev web (WebObjects, Flex,
  PHP...)
• http://camilleroux.com
• camilleroux
Qu'est-ce qu'un bon
 framework web?
Coût
Productivité         Agile
Hébergement
                                                  Innovant
           Déploiement        Performance
Moderne                          Licence        Evolution
            Recrutement
                                      Actif
 Confort
            Rapide        Coût                Bibliothèques
                                   Utilisé
   IDE     Bonnes pratiques
                                     Communauté
                 Outils
Référencement             Plugins       Open Source
             Architecture         Sécurité
Ruby

Quoi : langage de programmation interprété, orienté objet
et multi-paradigme
Licence : Libre - Licence Ruby et GPL
OS : Multiplate-forme
Apparu en : 1995
Créateur :Yukihiro Matsumoto (aka "Matz")
Multiples
     implémentations
• Ruby
• JRuby
• MacRuby
• Rubinius
• ...
+14 000
gems sur Rubygems
+185 000
projets Ruby sur Github
10eme
Position au classement
  TIOBE (juin 2009)
Ruby on Rails
Quoi : framework d'application web reposant sur le langage
Ruby
Autres noms : RoR, Rails
Licence : Libre - MIT
Apparu en : 2004
Créateur : David Heinemeier Hansson (aka “DHH”) et
quelques autres (Rails Core Team)
Philosophie
Convention
   over
Configuration
DRY
(Don't Repeat Yourself)
Awesome
When you thought it couldn't get any awesomer.
Structure
Migrations
Active Record
Scaffold
Environnements
Sécurité
Javascript
Cache
Tests
RAILS 3
• Rails 3 = Rails 2 + Merb
• Modularité
• Bundler
• Performance
• HTML 5
• ...
Ruby est lent non?
• Comme Python et PHP
 • JRuby, Ruby 1.9/2.0...
• La vitesse d'exécution, vraiment important ?
 • Vitesse de développement
 • Fiabilité
 • Maintenabilité
Un plugin/une gem
   pour tout...
Tâches de fond         Upload de fichiers
 Hiérarchies                Paiement en ligne
                  Authentification
  NoSQL                                   Indexation

          Un plugin/une gem
   BDD       pour tout... Pagination
Geolocalisation                       Cache
                         Twitter
        Parsing                        Optimisation
                         Facebook
IDE
IDE
RubyMine 2.0
•   Debugger

•   Refactoring automatisé

•   Analyse du code à la volée + inférence
    du type

•   Code completion

•   Intégration de multiples VCS (Git, SVN...)
Qui utilise
Ruby on Rails?
Scribd
39 700 000
               Twitter
            30 000 000
    Hulu
24 900 000 WhitePages
   Justin.tv
             21 800 000
19 300 000
                         Visiteurs uniques / mois
High Profile Organisations using Rails - WorkingWithRails.com
Des outils
extraordinaires
Github
New Relic
Avantages

• Installation en quelques minutes
• Ruby, JRuby, Java
• Prix
Hébergement
Les classiques
Mutualisé
   VPS


        Les classiques
Dédié
                                Cloud

         Serveurs persos
Engine Yard
• Repose sur Amazon EC2 et S3
• Ajout/suppression de machines à chaud
• Déploiement automatique à partir du code
  source (Git)
• Clonage d'application
• Monitoring et alerte
• Backup
Heroku
1   Je fais mon application
    Rails en utilisant Git

                    2   2 lignes de commandes
                        00:01:00
                                         3
Add-ons
Amazon RDS               Websolr      SSL

                       Zerigo DNS          Sendgrid
  Apigee for Twitter
                                       Panda Stream
      Bundles
                                             New Relic
Cloudant
                  Add-ons                 MongoHQ
           Cron
                                     Moonshado SMS
                       Exceptional
Custom domains
                                           Memcache
           Deploy hooks         LogWorm
+70 000
applications déployées
Les "switchers"
Backupify was originally a photo
backup side project, and Zend
had a good Flickr library, so we
started in Zend.

             Rob May, founder
Iterating quickly was!difficult.When Matt joined
Backupify, he gave me a Ruby on Rails!crash-
course[...]. Seriously, although I’ve read!the blogs,
and seen the screencasts, I wasn’t
truly!impressed with Rails until I started working
with it. Ruby is easy to!understand and Rails
provides a clear level of organization/
convention!that’s easy to maintain.

     Ben Thomas,VP of Product Development
• Architecture système automatisée
• Intégration continue
• "Rubyists are amazingly prolific"
• "Lot of innovation in the Ruby space"
YP.com en quelques
        chiffres
• 23 millions visiteurs uniques/mois
• 2 millions recherches/jours
• +48 millions requêtes/jours
• +1500 requêtes/s
• 30 Mbit/s (200 Mbit/s d'Akamai)
AVANT
• Java/EJB3
• Problèmes de design de la plateforme
• Design fortement basé sur les sessions pas
  "horizontally scalable"
• 125 000 lignes de code
• Aucun test
• Difficulté à ajouter de nouvelles fonctionnalités
• Manque de contrôle sur la structure des URL
APRES
• Performance et stabilité acceptable
• Nombre de serveurs identique
• - de 20 000 lignes de code (avec les tests!)
• Pas de sessions (stateless)
• Migration faite en 2006-2007
• Conception => mise en production : 1 an
• Développement : 3 mois
• Terminé dans les temps
• Jamais plus de 5 développeurs
Ca bouge!
Ruby usage has grown 40%
    among North American
developers from 2008 to 2009
                      Evans Data
+ 400 % en 5 ans
 développeurs Ruby (2008 - 2013)




                  Gartner Group, mars 2008
Levées de fond

• $10M - Heroku - Mai 2010
• $19M - Engine Yard - Octobre 2009
• $6M - New Relic - Novembre 2008
• $15M - Engine Yard - Juillet 2008
• $3M - Heroku - Mai 2008
Alors pourquoi Rails ?

• Un langage
• Un framework
• Une communauté
• Des outils
• ...
Cadeau ?
30 jours RPM Gold


Sophia2010 (sensible à la casse)
?       www.camilleroux.com
    contact@camilleroux.com
Crédits photos


•   http://www.flickr.com/photos/kandyjaxx/2012468692/

•   http://www.flickr.com/photos/kh-67/3564168600/

•   http://www.flickr.com/photos/ecstaticist/2589723846/

Contenu connexe

En vedette

Rails 3 overview
Rails 3 overviewRails 3 overview
Rails 3 overviewYehuda Katz
 
Rails 3 Beautiful Code
Rails 3 Beautiful CodeRails 3 Beautiful Code
Rails 3 Beautiful CodeGreggPollack
 
テストの運用について #m3dev
テストの運用について #m3devテストの運用について #m3dev
テストの運用について #m3devKazuhiro Sera
 
Skinny Controllers, Skinny Models
Skinny Controllers, Skinny ModelsSkinny Controllers, Skinny Models
Skinny Controllers, Skinny ModelsKazuhiro Sera
 
Ruby on Rails Presentation
Ruby on Rails PresentationRuby on Rails Presentation
Ruby on Rails PresentationJoost Hietbrink
 
The Dark Side Of Lambda Expressions in Java 8
The Dark Side Of Lambda Expressions in Java 8The Dark Side Of Lambda Expressions in Java 8
The Dark Side Of Lambda Expressions in Java 8Takipi
 
Applications Web En Entreprise Avec Ruby On Rails Benefices Et Limitations Gu...
Applications Web En Entreprise Avec Ruby On Rails Benefices Et Limitations Gu...Applications Web En Entreprise Avec Ruby On Rails Benefices Et Limitations Gu...
Applications Web En Entreprise Avec Ruby On Rails Benefices Et Limitations Gu...Fred de Villamil
 
Ruby Basics
Ruby BasicsRuby Basics
Ruby BasicsSHC
 
AppDynamics VS New Relic – The Complete Guide
AppDynamics VS New Relic – The Complete GuideAppDynamics VS New Relic – The Complete Guide
AppDynamics VS New Relic – The Complete GuideTakipi
 
présentation soutenance PFE.ppt
présentation soutenance PFE.pptprésentation soutenance PFE.ppt
présentation soutenance PFE.pptMohamed Ben Bouzid
 
Soutenance mémoire de fin d'études
Soutenance mémoire de fin d'étudesSoutenance mémoire de fin d'études
Soutenance mémoire de fin d'étudesFabrice HAUHOUOT
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with DataSeth Familian
 

En vedette (13)

Rails 3 overview
Rails 3 overviewRails 3 overview
Rails 3 overview
 
Rails 3 Beautiful Code
Rails 3 Beautiful CodeRails 3 Beautiful Code
Rails 3 Beautiful Code
 
テストの運用について #m3dev
テストの運用について #m3devテストの運用について #m3dev
テストの運用について #m3dev
 
Skinny Controllers, Skinny Models
Skinny Controllers, Skinny ModelsSkinny Controllers, Skinny Models
Skinny Controllers, Skinny Models
 
Ruby on Rails Presentation
Ruby on Rails PresentationRuby on Rails Presentation
Ruby on Rails Presentation
 
The Dark Side Of Lambda Expressions in Java 8
The Dark Side Of Lambda Expressions in Java 8The Dark Side Of Lambda Expressions in Java 8
The Dark Side Of Lambda Expressions in Java 8
 
Applications Web En Entreprise Avec Ruby On Rails Benefices Et Limitations Gu...
Applications Web En Entreprise Avec Ruby On Rails Benefices Et Limitations Gu...Applications Web En Entreprise Avec Ruby On Rails Benefices Et Limitations Gu...
Applications Web En Entreprise Avec Ruby On Rails Benefices Et Limitations Gu...
 
Ruby Basics
Ruby BasicsRuby Basics
Ruby Basics
 
AppDynamics VS New Relic – The Complete Guide
AppDynamics VS New Relic – The Complete GuideAppDynamics VS New Relic – The Complete Guide
AppDynamics VS New Relic – The Complete Guide
 
Introduction à Ruby
Introduction à RubyIntroduction à Ruby
Introduction à Ruby
 
présentation soutenance PFE.ppt
présentation soutenance PFE.pptprésentation soutenance PFE.ppt
présentation soutenance PFE.ppt
 
Soutenance mémoire de fin d'études
Soutenance mémoire de fin d'étudesSoutenance mémoire de fin d'études
Soutenance mémoire de fin d'études
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
 

Similaire à Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)

Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent Biret
 
Tk06 Real Time Web Avec Adobe Flex Fr
Tk06 Real Time Web Avec Adobe Flex FrTk06 Real Time Web Avec Adobe Flex Fr
Tk06 Real Time Web Avec Adobe Flex FrValtech
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)Restlet
 
Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent Biret
 
De l'open source à l'open API avec Restlet
De l'open source à l'open API avec RestletDe l'open source à l'open API avec Restlet
De l'open source à l'open API avec RestletJerome Louvel
 
Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Quentin Adam
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptKhalid Jebbari
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFBoubker ABERWAG
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapresLaurent Tardif
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...ENSIBS
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiAZUG FR
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiSamir Arezki ☁
 
Acquia et Arte : Drupal Camp Paris 2013
Acquia et Arte : Drupal Camp Paris 2013Acquia et Arte : Drupal Camp Paris 2013
Acquia et Arte : Drupal Camp Paris 2013Cyril Reinhard
 
.Net pour le développeur Java - une source d'inspiration?
.Net pour le développeur Java - une source d'inspiration?.Net pour le développeur Java - une source d'inspiration?
.Net pour le développeur Java - une source d'inspiration?Rui Carvalho
 
Aspectize mdday2010
Aspectize mdday2010Aspectize mdday2010
Aspectize mdday2010MD DAY
 
Arte utilise Acquia Cloud pour héberger ses plateformes web
Arte utilise Acquia Cloud pour héberger ses plateformes webArte utilise Acquia Cloud pour héberger ses plateformes web
Arte utilise Acquia Cloud pour héberger ses plateformes webAcquia
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
 
Xebicon architectures microservices azure v1.0
Xebicon   architectures microservices azure v1.0Xebicon   architectures microservices azure v1.0
Xebicon architectures microservices azure v1.0Michel HUBERT
 
Introduction à meteor
Introduction à meteorIntroduction à meteor
Introduction à meteorFabian Vilers
 
DevoxxFR Présentation des portails en 2014
DevoxxFR Présentation des portails en 2014DevoxxFR Présentation des portails en 2014
DevoxxFR Présentation des portails en 2014Stéphane Liétard
 

Similaire à Pourquoi Ruby on Rails est génial? (d'un point de vue non technique) (20)

Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)Vincent biret azure functions et flow (montreal)
Vincent biret azure functions et flow (montreal)
 
Tk06 Real Time Web Avec Adobe Flex Fr
Tk06 Real Time Web Avec Adobe Flex FrTk06 Real Time Web Avec Adobe Flex Fr
Tk06 Real Time Web Avec Adobe Flex Fr
 
De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)De l'Open Source à l'Open API (in French)
De l'Open Source à l'Open API (in French)
 
Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)Vincent biret azure functions et flow #AosCanadianTour (quebec)
Vincent biret azure functions et flow #AosCanadianTour (quebec)
 
De l'open source à l'open API avec Restlet
De l'open source à l'open API avec RestletDe l'open source à l'open API avec Restlet
De l'open source à l'open API avec Restlet
 
Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?Parisweb - javascript server side - par où commencer ?
Parisweb - javascript server side - par où commencer ?
 
Node.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascriptNode.js et les nouvelles technologies javascript
Node.js et les nouvelles technologies javascript
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
 
Agile lille 2015 devops etapres
Agile lille 2015 devops etapresAgile lille 2015 devops etapres
Agile lille 2015 devops etapres
 
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
Agile Tour Paris 2014 : Ma stack d'outils Agiles, tout un programme !, Cedric...
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
 
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir ArezkiGab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
Gab 2017 Lyon - les strategies d'intégration avec Azure iPaaS - Samir Arezki
 
Acquia et Arte : Drupal Camp Paris 2013
Acquia et Arte : Drupal Camp Paris 2013Acquia et Arte : Drupal Camp Paris 2013
Acquia et Arte : Drupal Camp Paris 2013
 
.Net pour le développeur Java - une source d'inspiration?
.Net pour le développeur Java - une source d'inspiration?.Net pour le développeur Java - une source d'inspiration?
.Net pour le développeur Java - une source d'inspiration?
 
Aspectize mdday2010
Aspectize mdday2010Aspectize mdday2010
Aspectize mdday2010
 
Arte utilise Acquia Cloud pour héberger ses plateformes web
Arte utilise Acquia Cloud pour héberger ses plateformes webArte utilise Acquia Cloud pour héberger ses plateformes web
Arte utilise Acquia Cloud pour héberger ses plateformes web
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Xebicon architectures microservices azure v1.0
Xebicon   architectures microservices azure v1.0Xebicon   architectures microservices azure v1.0
Xebicon architectures microservices azure v1.0
 
Introduction à meteor
Introduction à meteorIntroduction à meteor
Introduction à meteor
 
DevoxxFR Présentation des portails en 2014
DevoxxFR Présentation des portails en 2014DevoxxFR Présentation des portails en 2014
DevoxxFR Présentation des portails en 2014
 

Plus de Camille Roux

La boucle à gagner du temps
La boucle à gagner du tempsLa boucle à gagner du temps
La boucle à gagner du tempsCamille Roux
 
Gagner sa vie sans "travailler"
Gagner sa vie sans "travailler"Gagner sa vie sans "travailler"
Gagner sa vie sans "travailler"Camille Roux
 
Lean startup (méthode Running Lean)
Lean startup (méthode Running Lean)Lean startup (méthode Running Lean)
Lean startup (méthode Running Lean)Camille Roux
 
Travailler autrement
Travailler autrementTravailler autrement
Travailler autrementCamille Roux
 
Panorama des exonérations et des aides à l'emploi
Panorama des exonérations et des aides à l'emploiPanorama des exonérations et des aides à l'emploi
Panorama des exonérations et des aides à l'emploiCamille Roux
 
Le lean startup, ce n'est pas que des canvas !
Le lean startup, ce n'est pas que des canvas !Le lean startup, ce n'est pas que des canvas !
Le lean startup, ce n'est pas que des canvas !Camille Roux
 
Recruter un (bon) développeur - Blend Conférence
Recruter un (bon) développeur - Blend ConférenceRecruter un (bon) développeur - Blend Conférence
Recruter un (bon) développeur - Blend ConférenceCamille Roux
 
Comment paraître sexy auprès des développeurs ?
Comment paraître sexy auprès des développeurs ?Comment paraître sexy auprès des développeurs ?
Comment paraître sexy auprès des développeurs ?Camille Roux
 
Moins on code, mieux on se porte !
Moins on code, mieux on se porte !Moins on code, mieux on se porte !
Moins on code, mieux on se porte !Camille Roux
 
Dissection d'un développeur Ruby
Dissection d'un développeur RubyDissection d'un développeur Ruby
Dissection d'un développeur RubyCamille Roux
 
Human Talks - Introduction
Human Talks - IntroductionHuman Talks - Introduction
Human Talks - IntroductionCamille Roux
 
Recruter et travailler avec un développeur
Recruter et travailler avec un développeurRecruter et travailler avec un développeur
Recruter et travailler avec un développeurCamille Roux
 
Comment nous avons développé RubyLive.fr en un week-end
Comment nous avons développé RubyLive.fr en un week-endComment nous avons développé RubyLive.fr en un week-end
Comment nous avons développé RubyLive.fr en un week-endCamille Roux
 
Tester ses idées en quelques heures
Tester ses idées en quelques heuresTester ses idées en quelques heures
Tester ses idées en quelques heuresCamille Roux
 
Ne perdez plus votre temps, testez vos idées en quelques heures !
Ne perdez plus votre temps, testez vos idées en quelques heures !Ne perdez plus votre temps, testez vos idées en quelques heures !
Ne perdez plus votre temps, testez vos idées en quelques heures !Camille Roux
 
Comment tester et améliorer son idée en un minimum de temps ? - Devoxx
Comment tester et améliorer son idée en un minimum de temps ?  - DevoxxComment tester et améliorer son idée en un minimum de temps ?  - Devoxx
Comment tester et améliorer son idée en un minimum de temps ? - DevoxxCamille Roux
 
[Startup Weekend] Conseil pour les présentations
[Startup Weekend] Conseil pour les présentations[Startup Weekend] Conseil pour les présentations
[Startup Weekend] Conseil pour les présentationsCamille Roux
 
Tester son idée en quelques heures
Tester son idée en quelques heuresTester son idée en quelques heures
Tester son idée en quelques heuresCamille Roux
 
HireForMe : Projet présenté au Startup Weekend Lyon 2
HireForMe : Projet présenté au Startup Weekend Lyon 2HireForMe : Projet présenté au Startup Weekend Lyon 2
HireForMe : Projet présenté au Startup Weekend Lyon 2Camille Roux
 
10 idées pour dynamiser la communauté Ruby en France
10 idées pour dynamiser la communauté Ruby en France10 idées pour dynamiser la communauté Ruby en France
10 idées pour dynamiser la communauté Ruby en FranceCamille Roux
 

Plus de Camille Roux (20)

La boucle à gagner du temps
La boucle à gagner du tempsLa boucle à gagner du temps
La boucle à gagner du temps
 
Gagner sa vie sans "travailler"
Gagner sa vie sans "travailler"Gagner sa vie sans "travailler"
Gagner sa vie sans "travailler"
 
Lean startup (méthode Running Lean)
Lean startup (méthode Running Lean)Lean startup (méthode Running Lean)
Lean startup (méthode Running Lean)
 
Travailler autrement
Travailler autrementTravailler autrement
Travailler autrement
 
Panorama des exonérations et des aides à l'emploi
Panorama des exonérations et des aides à l'emploiPanorama des exonérations et des aides à l'emploi
Panorama des exonérations et des aides à l'emploi
 
Le lean startup, ce n'est pas que des canvas !
Le lean startup, ce n'est pas que des canvas !Le lean startup, ce n'est pas que des canvas !
Le lean startup, ce n'est pas que des canvas !
 
Recruter un (bon) développeur - Blend Conférence
Recruter un (bon) développeur - Blend ConférenceRecruter un (bon) développeur - Blend Conférence
Recruter un (bon) développeur - Blend Conférence
 
Comment paraître sexy auprès des développeurs ?
Comment paraître sexy auprès des développeurs ?Comment paraître sexy auprès des développeurs ?
Comment paraître sexy auprès des développeurs ?
 
Moins on code, mieux on se porte !
Moins on code, mieux on se porte !Moins on code, mieux on se porte !
Moins on code, mieux on se porte !
 
Dissection d'un développeur Ruby
Dissection d'un développeur RubyDissection d'un développeur Ruby
Dissection d'un développeur Ruby
 
Human Talks - Introduction
Human Talks - IntroductionHuman Talks - Introduction
Human Talks - Introduction
 
Recruter et travailler avec un développeur
Recruter et travailler avec un développeurRecruter et travailler avec un développeur
Recruter et travailler avec un développeur
 
Comment nous avons développé RubyLive.fr en un week-end
Comment nous avons développé RubyLive.fr en un week-endComment nous avons développé RubyLive.fr en un week-end
Comment nous avons développé RubyLive.fr en un week-end
 
Tester ses idées en quelques heures
Tester ses idées en quelques heuresTester ses idées en quelques heures
Tester ses idées en quelques heures
 
Ne perdez plus votre temps, testez vos idées en quelques heures !
Ne perdez plus votre temps, testez vos idées en quelques heures !Ne perdez plus votre temps, testez vos idées en quelques heures !
Ne perdez plus votre temps, testez vos idées en quelques heures !
 
Comment tester et améliorer son idée en un minimum de temps ? - Devoxx
Comment tester et améliorer son idée en un minimum de temps ?  - DevoxxComment tester et améliorer son idée en un minimum de temps ?  - Devoxx
Comment tester et améliorer son idée en un minimum de temps ? - Devoxx
 
[Startup Weekend] Conseil pour les présentations
[Startup Weekend] Conseil pour les présentations[Startup Weekend] Conseil pour les présentations
[Startup Weekend] Conseil pour les présentations
 
Tester son idée en quelques heures
Tester son idée en quelques heuresTester son idée en quelques heures
Tester son idée en quelques heures
 
HireForMe : Projet présenté au Startup Weekend Lyon 2
HireForMe : Projet présenté au Startup Weekend Lyon 2HireForMe : Projet présenté au Startup Weekend Lyon 2
HireForMe : Projet présenté au Startup Weekend Lyon 2
 
10 idées pour dynamiser la communauté Ruby en France
10 idées pour dynamiser la communauté Ruby en France10 idées pour dynamiser la communauté Ruby en France
10 idées pour dynamiser la communauté Ruby en France
 

Pourquoi Ruby on Rails est génial? (d'un point de vue non technique)

  • 1. Pourquoi Rails est génial? D'un point de vue non technique! 9 juillet 2010
  • 2. Qui parle? • Camille Roux • 25 ans, Sophia Antipolis • +1 an de dev Ruby on Rails • +3 ans de dev web (WebObjects, Flex, PHP...) • http://camilleroux.com • camilleroux
  • 3. Qu'est-ce qu'un bon framework web?
  • 5. Productivité Agile Hébergement Innovant Déploiement Performance Moderne Licence Evolution Recrutement Actif Confort Rapide Coût Bibliothèques Utilisé IDE Bonnes pratiques Communauté Outils Référencement Plugins Open Source Architecture Sécurité
  • 6.
  • 7. Ruby Quoi : langage de programmation interprété, orienté objet et multi-paradigme Licence : Libre - Licence Ruby et GPL OS : Multiplate-forme Apparu en : 1995 Créateur :Yukihiro Matsumoto (aka "Matz")
  • 8. Multiples implémentations • Ruby • JRuby • MacRuby • Rubinius • ...
  • 9. +14 000 gems sur Rubygems
  • 10. +185 000 projets Ruby sur Github
  • 11. 10eme Position au classement TIOBE (juin 2009)
  • 12.
  • 13. Ruby on Rails Quoi : framework d'application web reposant sur le langage Ruby Autres noms : RoR, Rails Licence : Libre - MIT Apparu en : 2004 Créateur : David Heinemeier Hansson (aka “DHH”) et quelques autres (Rails Core Team)
  • 15. Convention over Configuration
  • 17. Awesome When you thought it couldn't get any awesomer.
  • 25. Cache
  • 26. Tests
  • 27. RAILS 3 • Rails 3 = Rails 2 + Merb • Modularité • Bundler • Performance • HTML 5 • ...
  • 28.
  • 29. Ruby est lent non? • Comme Python et PHP • JRuby, Ruby 1.9/2.0... • La vitesse d'exécution, vraiment important ? • Vitesse de développement • Fiabilité • Maintenabilité
  • 30. Un plugin/une gem pour tout...
  • 31. Tâches de fond Upload de fichiers Hiérarchies Paiement en ligne Authentification NoSQL Indexation Un plugin/une gem BDD pour tout... Pagination Geolocalisation Cache Twitter Parsing Optimisation Facebook
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41. IDE
  • 42. IDE
  • 43. RubyMine 2.0 • Debugger • Refactoring automatisé • Analyse du code à la volée + inférence du type • Code completion • Intégration de multiples VCS (Git, SVN...)
  • 45.
  • 46. Scribd 39 700 000 Twitter 30 000 000 Hulu 24 900 000 WhitePages Justin.tv 21 800 000 19 300 000 Visiteurs uniques / mois
  • 47. High Profile Organisations using Rails - WorkingWithRails.com
  • 50.
  • 52.
  • 53.
  • 54.
  • 55. Avantages • Installation en quelques minutes • Ruby, JRuby, Java • Prix
  • 58. Mutualisé VPS Les classiques Dédié Cloud Serveurs persos
  • 59. Engine Yard • Repose sur Amazon EC2 et S3 • Ajout/suppression de machines à chaud • Déploiement automatique à partir du code source (Git) • Clonage d'application • Monitoring et alerte • Backup
  • 60.
  • 61. Heroku 1 Je fais mon application Rails en utilisant Git 2 2 lignes de commandes 00:01:00 3
  • 62.
  • 63.
  • 65. Amazon RDS Websolr SSL Zerigo DNS Sendgrid Apigee for Twitter Panda Stream Bundles New Relic Cloudant Add-ons MongoHQ Cron Moonshado SMS Exceptional Custom domains Memcache Deploy hooks LogWorm
  • 68.
  • 69. Backupify was originally a photo backup side project, and Zend had a good Flickr library, so we started in Zend. Rob May, founder
  • 70. Iterating quickly was!difficult.When Matt joined Backupify, he gave me a Ruby on Rails!crash- course[...]. Seriously, although I’ve read!the blogs, and seen the screencasts, I wasn’t truly!impressed with Rails until I started working with it. Ruby is easy to!understand and Rails provides a clear level of organization/ convention!that’s easy to maintain. Ben Thomas,VP of Product Development
  • 71. • Architecture système automatisée • Intégration continue • "Rubyists are amazingly prolific" • "Lot of innovation in the Ruby space"
  • 72.
  • 73. YP.com en quelques chiffres • 23 millions visiteurs uniques/mois • 2 millions recherches/jours • +48 millions requêtes/jours • +1500 requêtes/s • 30 Mbit/s (200 Mbit/s d'Akamai)
  • 74. AVANT
  • 75. • Java/EJB3 • Problèmes de design de la plateforme • Design fortement basé sur les sessions pas "horizontally scalable" • 125 000 lignes de code • Aucun test • Difficulté à ajouter de nouvelles fonctionnalités • Manque de contrôle sur la structure des URL
  • 76. APRES
  • 77. • Performance et stabilité acceptable • Nombre de serveurs identique • - de 20 000 lignes de code (avec les tests!) • Pas de sessions (stateless)
  • 78. • Migration faite en 2006-2007 • Conception => mise en production : 1 an • Développement : 3 mois • Terminé dans les temps • Jamais plus de 5 développeurs
  • 80. Ruby usage has grown 40% among North American developers from 2008 to 2009 Evans Data
  • 81. + 400 % en 5 ans développeurs Ruby (2008 - 2013) Gartner Group, mars 2008
  • 82. Levées de fond • $10M - Heroku - Mai 2010 • $19M - Engine Yard - Octobre 2009 • $6M - New Relic - Novembre 2008 • $15M - Engine Yard - Juillet 2008 • $3M - Heroku - Mai 2008
  • 83. Alors pourquoi Rails ? • Un langage • Un framework • Une communauté • Des outils • ...
  • 85. 30 jours RPM Gold Sophia2010 (sensible à la casse)
  • 86. ? www.camilleroux.com contact@camilleroux.com
  • 87. Crédits photos • http://www.flickr.com/photos/kandyjaxx/2012468692/ • http://www.flickr.com/photos/kh-67/3564168600/ • http://www.flickr.com/photos/ecstaticist/2589723846/