Slide 1

Slide 1 text

Bonjour

Slide 2

Slide 2 text

Rails 3

Slide 3

Slide 3 text

Rack à tous les étages • Merci WSGI

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

Rack à tous les étages • brancher son appli principale sur le serveur web

Slide 7

Slide 7 text

MVC-REST-Ressources • Une application rigoureuse des principes et du vocabulaire MVC

Slide 8

Slide 8 text

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é

Slide 9

Slide 9 text

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, …)

Slide 10

Slide 10 text

MVC-REST-Ressources • Le Routage est totalement orienté Ressources • La table de routage est limpide

Slide 11

Slide 11 text

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.

Slide 12

Slide 12 text

Don’t Repeat Yourself • On évite de coder, définir, … quelque choses plusieurs fois • implémentations plus simples, plus faciles à maintenir, à tester, …

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

Agnostique • ORM, JS, templates, tests, … • Railtie fait la glue autour de tout ça

Slide 15

Slide 15 text

Interface / implémentations • Interfaces unifiées stable • Une implémentation activée par défaut • exemple : ActiveModel et ActiveRecord

Slide 16

Slide 16 text

Autres pépites • bundler : dépendances • multi-environnements, extensibles • console (basée sur IRB) • …

Slide 17

Slide 17 text

/me • jeremy.wordpress.com • @jlecour • github.com/jlecour •

Slide 18

Slide 18 text

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/