SlideShare une entreprise Scribd logo
Bonjour
Rails 3
Rack à tous les étages


• Merci WSGI
Rack à tous les étages

• sessions
• cookies
• cache
• redirections (à la place d'Apache)
• tout se qui est avant le controlleur.
Rack à tous les étages


• incorporer des applications dans des
  applications
Rack à tous les étages


• brancher son appli principale sur le serveur
  web
MVC-REST-Ressources


• Une application rigoureuse des principes et
  du vocabulaire MVC
MVC-REST-Ressources
• Le Modele gère la couche métier : ORM,
  validations, callbacks, sérialisation, états,
  i18n, …
• Le Controlleur expose l'API de
  l'application et pilote les Vues.
• Les Vues fait le rendu des ressources
  appelées, dans le format demandé
MVC-REST-Ressources

• On appelle une ressource générique (liste)
  ou spécifique (par un ID)
• avec un verbe HTTP (CRUD)
• les données sont transmises dans une
  variété de formats (HTML, JSON, XML, …)
MVC-REST-Ressources


• Le Routage est totalement orienté
  Ressources
• La table de routage est limpide
configuration
          conventions

• Il y a le cas de 80-90% des usages, pour ça il
  n'y a rien à faire
• pour les autres, on configure.
Don’t Repeat Yourself

• On évite de coder, définir, … quelque
  choses plusieurs fois
• implémentations plus simples, plus faciles à
  maintenir, à tester, …
Interface avec la BDD

• pas de définition du schéma dans la config
• l'ORM le devine en regardant les tables
• par défaut les modèles sont vides : pas de
  getter/setter
Agnostique


• ORM, JS, templates, tests, …
• Railtie fait la glue autour de tout ça
Interface /
     implémentations

• Interfaces unifiées stable
• Une implémentation activée par défaut
• exemple : ActiveModel et ActiveRecord
Autres pépites

• bundler : dépendances
• multi-environnements, extensibles
• console (basée sur IRB)
•…
/me

• jeremy.wordpress.com
• @jlecour
• github.com/jlecour
•
2 points de départ

• 1 blog en 15 minutes avec Rails 3
 • www.railsdispatch.com
• Mon article pour commencer Ruby et Rails
 • http://jeremy.wordpress.com/2009/11/13/
    monter-dans-le-train-de-ruby-et-rails/

Contenu connexe

Tendances

Utilisation de node.js avec mongoDB
Utilisation de node.js avec mongoDBUtilisation de node.js avec mongoDB
Utilisation de node.js avec mongoDB
13p
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express js
Abdoulaye Dieng
 
PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005
Eric D.
 
Angular retro
Angular retroAngular retro
Angular retro
Deyine Jiddou
 
Les Promises en Javascript
Les Promises en JavascriptLes Promises en Javascript
Les Promises en Javascript
Benoit Zohar
 
EventMachine
EventMachineEventMachine
EventMachine
LeTesteur
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
Kristen Le Liboux
 
Introduction Erlang - altnet fr Juin 2013
Introduction Erlang - altnet fr Juin 2013Introduction Erlang - altnet fr Juin 2013
Introduction Erlang - altnet fr Juin 2013
Yann Schwartz
 
NodeJs, une introduction
NodeJs, une introductionNodeJs, une introduction
NodeJs, une introduction
Toxicode
 
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009
Eric D.
 
Hacking Open source et Sécurité, préconisations
Hacking Open source et Sécurité, préconisationsHacking Open source et Sécurité, préconisations
Hacking Open source et Sécurité, préconisations
Certilience
 
Présentation JavaScript
Présentation JavaScriptPrésentation JavaScript
Présentation JavaScript
tarkan_
 
Systematic, toolchain JS
Systematic, toolchain JSSystematic, toolchain JS
Systematic, toolchain JS
Raphaël Boucher
 
Javascript proprement
Javascript proprementJavascript proprement
Javascript proprement
Guillaume Collic
 
Présentation de nodejs
Présentation de nodejsPrésentation de nodejs
Présentation de nodejs
13p
 
A la queue leu leu
A la queue leu leuA la queue leu leu
A la queue leu leu
nautilebleu
 
Enib cours c.a.i. web - séance #6 : introduction à node js
Enib   cours c.a.i. web - séance #6 : introduction à node jsEnib   cours c.a.i. web - séance #6 : introduction à node js
Enib cours c.a.i. web - séance #6 : introduction à node js
Horacio Gonzalez
 
WordCamp Lille 2018 : Comprendre et utiliser l'API REST de WooCommerce
WordCamp Lille 2018 : Comprendre et utiliser l'API REST de WooCommerceWordCamp Lille 2018 : Comprendre et utiliser l'API REST de WooCommerce
WordCamp Lille 2018 : Comprendre et utiliser l'API REST de WooCommerce
Vaisonet
 
Quoi d'9, JAVA 9 ?
Quoi d'9, JAVA 9 ?Quoi d'9, JAVA 9 ?
Quoi d'9, JAVA 9 ?
Valérie Marier
 
Pimp your css
Pimp your cssPimp your css
Pimp your css
gabriel vieira
 

Tendances (20)

Utilisation de node.js avec mongoDB
Utilisation de node.js avec mongoDBUtilisation de node.js avec mongoDB
Utilisation de node.js avec mongoDB
 
Initiation à Express js
Initiation à Express jsInitiation à Express js
Initiation à Express js
 
PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005PHP et Performances - AFUP 2005
PHP et Performances - AFUP 2005
 
Angular retro
Angular retroAngular retro
Angular retro
 
Les Promises en Javascript
Les Promises en JavascriptLes Promises en Javascript
Les Promises en Javascript
 
EventMachine
EventMachineEventMachine
EventMachine
 
Un exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHPUn exemple élémentaire d'application MVC en PHP
Un exemple élémentaire d'application MVC en PHP
 
Introduction Erlang - altnet fr Juin 2013
Introduction Erlang - altnet fr Juin 2013Introduction Erlang - altnet fr Juin 2013
Introduction Erlang - altnet fr Juin 2013
 
NodeJs, une introduction
NodeJs, une introductionNodeJs, une introduction
NodeJs, une introduction
 
Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009Migrations PHP 5 - Solutions linux 2009
Migrations PHP 5 - Solutions linux 2009
 
Hacking Open source et Sécurité, préconisations
Hacking Open source et Sécurité, préconisationsHacking Open source et Sécurité, préconisations
Hacking Open source et Sécurité, préconisations
 
Présentation JavaScript
Présentation JavaScriptPrésentation JavaScript
Présentation JavaScript
 
Systematic, toolchain JS
Systematic, toolchain JSSystematic, toolchain JS
Systematic, toolchain JS
 
Javascript proprement
Javascript proprementJavascript proprement
Javascript proprement
 
Présentation de nodejs
Présentation de nodejsPrésentation de nodejs
Présentation de nodejs
 
A la queue leu leu
A la queue leu leuA la queue leu leu
A la queue leu leu
 
Enib cours c.a.i. web - séance #6 : introduction à node js
Enib   cours c.a.i. web - séance #6 : introduction à node jsEnib   cours c.a.i. web - séance #6 : introduction à node js
Enib cours c.a.i. web - séance #6 : introduction à node js
 
WordCamp Lille 2018 : Comprendre et utiliser l'API REST de WooCommerce
WordCamp Lille 2018 : Comprendre et utiliser l'API REST de WooCommerceWordCamp Lille 2018 : Comprendre et utiliser l'API REST de WooCommerce
WordCamp Lille 2018 : Comprendre et utiliser l'API REST de WooCommerce
 
Quoi d'9, JAVA 9 ?
Quoi d'9, JAVA 9 ?Quoi d'9, JAVA 9 ?
Quoi d'9, JAVA 9 ?
 
Pimp your css
Pimp your cssPimp your css
Pimp your css
 

En vedette

Examples_projects
Examples_projectsExamples_projects
Examples_projects
ambabhavani
 
Petit clin d'oeil.
Petit clin d'oeil.Petit clin d'oeil.
Petit clin d'oeil.
podilato laurent
 
Grand m pronom compl en
Grand m pronom compl enGrand m pronom compl en
Grand m pronom compl en
Éric Rivest
 
Casablanca 2010 - VIH: Nouvelles stratégies thérapeutiques - Christine Katlama
Casablanca 2010 - VIH: Nouvelles stratégies thérapeutiques - Christine KatlamaCasablanca 2010 - VIH: Nouvelles stratégies thérapeutiques - Christine Katlama
Casablanca 2010 - VIH: Nouvelles stratégies thérapeutiques - Christine Katlama
Vih.org
 
Vuelo en uno
Vuelo en unoVuelo en uno
Vuelo en uno
tabordatic
 
Smite
SmiteSmite
Ada 3
Ada 3 Ada 3
Presentation CADIQ
Presentation CADIQPresentation CADIQ
Presentation CADIQ
CAD Interop
 
Computer Quiz
Computer QuizComputer Quiz
Computer Quiz
Milan Dimri
 
Tutorial slidesharegrupo25.pdf
Tutorial slidesharegrupo25.pdfTutorial slidesharegrupo25.pdf
Tutorial slidesharegrupo25.pdf
SURIDF
 
administración
administraciónadministración
administración
patrcia19
 
Flor maria oña
Flor maria oñaFlor maria oña
Flor maria oña
FLOR MARIA OÑA
 
Dia de la madre JA
Dia de la madre JADia de la madre JA
Dia de la madre JA
Jimmy Arias Borja
 
10R - Frédéric Haeuw : ne dites pas à mon patron...
10R - Frédéric Haeuw : ne dites pas à mon patron...10R - Frédéric Haeuw : ne dites pas à mon patron...
10R - Frédéric Haeuw : ne dites pas à mon patron...
FFFOD
 
Wsiteam businesscase-llc-et-associes
Wsiteam businesscase-llc-et-associesWsiteam businesscase-llc-et-associes
Wsiteam businesscase-llc-et-associes
WSI France
 
SRFC / Metz : Le programme de match
SRFC / Metz : Le programme de matchSRFC / Metz : Le programme de match
SRFC / Metz : Le programme de match
staderennais
 

En vedette (20)

Examples_projects
Examples_projectsExamples_projects
Examples_projects
 
Petit clin d'oeil.
Petit clin d'oeil.Petit clin d'oeil.
Petit clin d'oeil.
 
Grand m pronom compl en
Grand m pronom compl enGrand m pronom compl en
Grand m pronom compl en
 
Casablanca 2010 - VIH: Nouvelles stratégies thérapeutiques - Christine Katlama
Casablanca 2010 - VIH: Nouvelles stratégies thérapeutiques - Christine KatlamaCasablanca 2010 - VIH: Nouvelles stratégies thérapeutiques - Christine Katlama
Casablanca 2010 - VIH: Nouvelles stratégies thérapeutiques - Christine Katlama
 
Vuelo en uno
Vuelo en unoVuelo en uno
Vuelo en uno
 
Smite
SmiteSmite
Smite
 
Ada 3
Ada 3 Ada 3
Ada 3
 
Presentation CADIQ
Presentation CADIQPresentation CADIQ
Presentation CADIQ
 
Computer Quiz
Computer QuizComputer Quiz
Computer Quiz
 
Pwp part 3
Pwp part 3Pwp part 3
Pwp part 3
 
Grand m pouvoir
Grand m pouvoirGrand m pouvoir
Grand m pouvoir
 
Gazette 7 Du 26 Mai Au 2 Juillet 2009
Gazette 7 Du 26 Mai Au 2 Juillet 2009Gazette 7 Du 26 Mai Au 2 Juillet 2009
Gazette 7 Du 26 Mai Au 2 Juillet 2009
 
Tutorial slidesharegrupo25.pdf
Tutorial slidesharegrupo25.pdfTutorial slidesharegrupo25.pdf
Tutorial slidesharegrupo25.pdf
 
administración
administraciónadministración
administración
 
Flor maria oña
Flor maria oñaFlor maria oña
Flor maria oña
 
Dia de la madre JA
Dia de la madre JADia de la madre JA
Dia de la madre JA
 
10R - Frédéric Haeuw : ne dites pas à mon patron...
10R - Frédéric Haeuw : ne dites pas à mon patron...10R - Frédéric Haeuw : ne dites pas à mon patron...
10R - Frédéric Haeuw : ne dites pas à mon patron...
 
Wsiteam businesscase-llc-et-associes
Wsiteam businesscase-llc-et-associesWsiteam businesscase-llc-et-associes
Wsiteam businesscase-llc-et-associes
 
Presentación1
Presentación1Presentación1
Presentación1
 
SRFC / Metz : Le programme de match
SRFC / Metz : Le programme de matchSRFC / Metz : Le programme de match
SRFC / Metz : Le programme de match
 

Similaire à Rails 3 au Djangocong

Du JavaScript dans mon projet
Du JavaScript dans mon projetDu JavaScript dans mon projet
Du JavaScript dans mon projet
jollivetc
 
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
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
Stéphane Liétard
 
20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing system20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing system
LeClubQualiteLogicielle
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?
Antoine Rey
 
Cerberus Testing
Cerberus TestingCerberus Testing
Cerberus Testing
CIVEL Benoit
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
Boubker ABERWAG
 
Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09
Olivier Gutknecht
 
Play Framework
Play FrameworkPlay Framework
Play Framework
Armaklan
 
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Normandy JUG
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
ENSET, Université Hassan II Casablanca
 
Afterworks @Nouméa - DevOps, approche par container et Docker
Afterworks @Nouméa - DevOps, approche par container et DockerAfterworks @Nouméa - DevOps, approche par container et Docker
Afterworks @Nouméa - DevOps, approche par container et Docker
Julien Chable
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Jasmine Conseil
 
Restful, really ? MixIt 2014
Restful, really ? MixIt 2014Restful, really ? MixIt 2014
Restful, really ? MixIt 2014
Xavier Carpentier
 
Codons notre infrastructure
Codons notre infrastructureCodons notre infrastructure
Codons notre infrastructure
Oswald De Riemaecker ☁
 
Codons notre infrastructure
Codons notre infrastructureCodons notre infrastructure
Codons notre infrastructure
continuousphp
 
Formation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPFormation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHP
kemenaran
 
spring.pdf
spring.pdfspring.pdf
spring.pdf
BouaggadAmine
 
Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux
Alphorm
 
YaJUG - Spring 3.0
YaJUG - Spring 3.0YaJUG - Spring 3.0
YaJUG - Spring 3.0
Gildas Cuisinier
 

Similaire à Rails 3 au Djangocong (20)

Du JavaScript dans mon projet
Du JavaScript dans mon projetDu JavaScript dans mon projet
Du JavaScript dans mon projet
 
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)
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing system20080923 04 - Selenium web application testing system
20080923 04 - Selenium web application testing system
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?
 
Cerberus Testing
Cerberus TestingCerberus Testing
Cerberus Testing
 
Formation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPFFormation d'architecte logiciel AFCEPF
Formation d'architecte logiciel AFCEPF
 
Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09
 
Play Framework
Play FrameworkPlay Framework
Play Framework
 
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
Capacity Planning : Pratiques et outils pour regarder la foudre tomber sans p...
 
Support NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDBSupport NodeJS avec TypeScript Express MongoDB
Support NodeJS avec TypeScript Express MongoDB
 
Afterworks @Nouméa - DevOps, approche par container et Docker
Afterworks @Nouméa - DevOps, approche par container et DockerAfterworks @Nouméa - DevOps, approche par container et Docker
Afterworks @Nouméa - DevOps, approche par container et Docker
 
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et  ...
Livraison en continue avec l'outillage devops - Jenkins, Ansible, Docker et ...
 
Restful, really ? MixIt 2014
Restful, really ? MixIt 2014Restful, really ? MixIt 2014
Restful, really ? MixIt 2014
 
Codons notre infrastructure
Codons notre infrastructureCodons notre infrastructure
Codons notre infrastructure
 
Codons notre infrastructure
Codons notre infrastructureCodons notre infrastructure
Codons notre infrastructure
 
Formation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHPFormation PHP avancé - Cake PHP
Formation PHP avancé - Cake PHP
 
spring.pdf
spring.pdfspring.pdf
spring.pdf
 
Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux Alphorm.com Formation Java, les fondamentaux
Alphorm.com Formation Java, les fondamentaux
 
YaJUG - Spring 3.0
YaJUG - Spring 3.0YaJUG - Spring 3.0
YaJUG - Spring 3.0
 

Dernier

CLAUDE 3.5 SONNET EXPLICATIONS sur les usages
CLAUDE 3.5 SONNET EXPLICATIONS sur les usagesCLAUDE 3.5 SONNET EXPLICATIONS sur les usages
CLAUDE 3.5 SONNET EXPLICATIONS sur les usages
Erol GIRAUDY
 
Vision de Claude 3.5 SONNET Comment utiliser la vision Utilisez les capacités...
Vision de Claude 3.5 SONNET Comment utiliser la vision Utilisez les capacités...Vision de Claude 3.5 SONNET Comment utiliser la vision Utilisez les capacités...
Vision de Claude 3.5 SONNET Comment utiliser la vision Utilisez les capacités...
Erol GIRAUDY
 
Cours d'Intelligence Artificielle et Apprentissage Automatique.pptx
Cours d'Intelligence Artificielle et Apprentissage Automatique.pptxCours d'Intelligence Artificielle et Apprentissage Automatique.pptx
Cours d'Intelligence Artificielle et Apprentissage Automatique.pptx
Jacques KIZA DIMANDJA
 
Tutoriel interactif d’ingénierie rapide d’Anthropic.pdf
Tutoriel interactif d’ingénierie rapide d’Anthropic.pdfTutoriel interactif d’ingénierie rapide d’Anthropic.pdf
Tutoriel interactif d’ingénierie rapide d’Anthropic.pdf
Erol GIRAUDY
 
Introduction à Crossplane (Talk Devoxx 2023)
Introduction à Crossplane (Talk Devoxx 2023)Introduction à Crossplane (Talk Devoxx 2023)
Introduction à Crossplane (Talk Devoxx 2023)
Adrien Blind
 
procede de fabrication mecanique et industriel
procede de fabrication mecanique et industrielprocede de fabrication mecanique et industriel
procede de fabrication mecanique et industriel
saadbellaari
 
Transformation Digitale - Initiez-vous à l'informatique et à l'utilisation de...
Transformation Digitale - Initiez-vous à l'informatique et à l'utilisation de...Transformation Digitale - Initiez-vous à l'informatique et à l'utilisation de...
Transformation Digitale - Initiez-vous à l'informatique et à l'utilisation de...
Maalik Jallo
 
Meetup LFUG : Cahier de vacances Liferay
Meetup LFUG : Cahier de vacances LiferayMeetup LFUG : Cahier de vacances Liferay
Meetup LFUG : Cahier de vacances Liferay
Sébastien Le Marchand
 

Dernier (8)

CLAUDE 3.5 SONNET EXPLICATIONS sur les usages
CLAUDE 3.5 SONNET EXPLICATIONS sur les usagesCLAUDE 3.5 SONNET EXPLICATIONS sur les usages
CLAUDE 3.5 SONNET EXPLICATIONS sur les usages
 
Vision de Claude 3.5 SONNET Comment utiliser la vision Utilisez les capacités...
Vision de Claude 3.5 SONNET Comment utiliser la vision Utilisez les capacités...Vision de Claude 3.5 SONNET Comment utiliser la vision Utilisez les capacités...
Vision de Claude 3.5 SONNET Comment utiliser la vision Utilisez les capacités...
 
Cours d'Intelligence Artificielle et Apprentissage Automatique.pptx
Cours d'Intelligence Artificielle et Apprentissage Automatique.pptxCours d'Intelligence Artificielle et Apprentissage Automatique.pptx
Cours d'Intelligence Artificielle et Apprentissage Automatique.pptx
 
Tutoriel interactif d’ingénierie rapide d’Anthropic.pdf
Tutoriel interactif d’ingénierie rapide d’Anthropic.pdfTutoriel interactif d’ingénierie rapide d’Anthropic.pdf
Tutoriel interactif d’ingénierie rapide d’Anthropic.pdf
 
Introduction à Crossplane (Talk Devoxx 2023)
Introduction à Crossplane (Talk Devoxx 2023)Introduction à Crossplane (Talk Devoxx 2023)
Introduction à Crossplane (Talk Devoxx 2023)
 
procede de fabrication mecanique et industriel
procede de fabrication mecanique et industrielprocede de fabrication mecanique et industriel
procede de fabrication mecanique et industriel
 
Transformation Digitale - Initiez-vous à l'informatique et à l'utilisation de...
Transformation Digitale - Initiez-vous à l'informatique et à l'utilisation de...Transformation Digitale - Initiez-vous à l'informatique et à l'utilisation de...
Transformation Digitale - Initiez-vous à l'informatique et à l'utilisation de...
 
Meetup LFUG : Cahier de vacances Liferay
Meetup LFUG : Cahier de vacances LiferayMeetup LFUG : Cahier de vacances Liferay
Meetup LFUG : Cahier de vacances Liferay
 

Rails 3 au Djangocong

  • 3. Rack à tous les étages • Merci WSGI
  • 4. Rack à tous les étages • sessions • cookies • cache • redirections (à la place d'Apache) • tout se qui est avant le controlleur.
  • 5. Rack à tous les étages • incorporer des applications dans des applications
  • 6. Rack à tous les étages • brancher son appli principale sur le serveur web
  • 7. MVC-REST-Ressources • Une application rigoureuse des principes et du vocabulaire MVC
  • 8. MVC-REST-Ressources • Le Modele gère la couche métier : ORM, validations, callbacks, sérialisation, états, i18n, … • Le Controlleur expose l'API de l'application et pilote les Vues. • Les Vues fait le rendu des ressources appelées, dans le format demandé
  • 9. MVC-REST-Ressources • On appelle une ressource générique (liste) ou spécifique (par un ID) • avec un verbe HTTP (CRUD) • les données sont transmises dans une variété de formats (HTML, JSON, XML, …)
  • 10. MVC-REST-Ressources • Le Routage est totalement orienté Ressources • La table de routage est limpide
  • 11. configuration conventions • Il y a le cas de 80-90% des usages, pour ça il n'y a rien à faire • pour les autres, on configure.
  • 12. Don’t Repeat Yourself • On évite de coder, définir, … quelque choses plusieurs fois • implémentations plus simples, plus faciles à maintenir, à tester, …
  • 13. Interface avec la BDD • pas de définition du schéma dans la config • l'ORM le devine en regardant les tables • par défaut les modèles sont vides : pas de getter/setter
  • 14. Agnostique • ORM, JS, templates, tests, … • Railtie fait la glue autour de tout ça
  • 15. Interface / implémentations • Interfaces unifiées stable • Une implémentation activée par défaut • exemple : ActiveModel et ActiveRecord
  • 16. Autres pépites • bundler : dépendances • multi-environnements, extensibles • console (basée sur IRB) •…
  • 18. 2 points de départ • 1 blog en 15 minutes avec Rails 3 • www.railsdispatch.com • Mon article pour commencer Ruby et Rails • http://jeremy.wordpress.com/2009/11/13/ monter-dans-le-train-de-ruby-et-rails/

Notes de l'éditeur