Transcript
Page 1: Introduction à Rails - Paris on Rails 2006

Introduction à Rails

Éric DaspetParis On Rails, novembre 2006

Page 2: Introduction à Rails - Paris on Rails 2006

Qui êtes-vous ?

Réalise / Décide

Web / Client-serveur

Ruby / PHP / Java

Rails / MVC / scripts

Page 3: Introduction à Rails - Paris on Rails 2006

Qui suis-je ?

Éric DaspetConsultant Web

Open Source

Page 4: Introduction à Rails - Paris on Rails 2006

Rails, un framework

Cadre de travailSolution techniqueOutils à dispositionDédié au Web

Écrit en Ruby

Page 5: Introduction à Rails - Paris on Rails 2006

Un peu de visuel ...

Déploiement de Rails avec l’IDE Radrails

Structure initiale

Configuration et lancement

Page 6: Introduction à Rails - Paris on Rails 2006

Création du projet

Page 7: Introduction à Rails - Paris on Rails 2006

Les répertoires créés

Page 8: Introduction à Rails - Paris on Rails 2006

Config SGBDR

Page 9: Introduction à Rails - Paris on Rails 2006

Serveur de test

Page 10: Introduction à Rails - Paris on Rails 2006

Rails, du MVC

Les objets manipulésLe modèle

Le code d’affichageLa vue

Ce que vous en faîtesLe contrôleur

Page 11: Introduction à Rails - Paris on Rails 2006

Un peu de visuel ...

Création d’une première application

Utilisation de la structure MVC

Page 12: Introduction à Rails - Paris on Rails 2006

Générateur de modèle

Page 13: Introduction à Rails - Paris on Rails 2006

Scripts MVC simples

Page 14: Introduction à Rails - Paris on Rails 2006

Définition des données

Page 15: Introduction à Rails - Paris on Rails 2006

Résultat MVC

Page 16: Introduction à Rails - Paris on Rails 2006

Le framework Rails

Simple

Structuré

Page 17: Introduction à Rails - Paris on Rails 2006

Dedans : Active Record

Décrit la liaisonObjet – Relationnel

Dynamique

Basé sur des conventions

Page 18: Introduction à Rails - Paris on Rails 2006

Un peu de visuel ...

Création d’une entité Active Record

Accès aux données en lecture et recherche

création, modification et suppression

Page 19: Introduction à Rails - Paris on Rails 2006

Utilisation des données

Page 20: Introduction à Rails - Paris on Rails 2006

Active Record, encore plus

Gérer les relations

Gérer les jointures

Gérer les contraintes

Et bien plus encore...

Page 21: Introduction à Rails - Paris on Rails 2006

Un peu de visuel ...

Faire des relations entre les entités

Utiliser des contextes

Valider des données

Page 22: Introduction à Rails - Paris on Rails 2006
Page 23: Introduction à Rails - Paris on Rails 2006

Utilisation des catégories

Page 24: Introduction à Rails - Paris on Rails 2006
Page 25: Introduction à Rails - Paris on Rails 2006

Résultat de validation

Page 26: Introduction à Rails - Paris on Rails 2006

Active Record

Simple

Automatique

Efficace

Page 27: Introduction à Rails - Paris on Rails 2006

Et le reste ? Simple ?

10.years.ago50.megabytes7.is_multiple_of? 3Dvd.find_by_nom()

LisibilitéConfort

Page 28: Introduction à Rails - Paris on Rails 2006
Page 29: Introduction à Rails - Paris on Rails 2006

Le reste ? Automatique ?

Formulaires générésValidation automatiséeGénération du CRUDServices Web natifs

DynamiquePas de configuration

Page 30: Introduction à Rails - Paris on Rails 2006

Le reste ? Efficace ?

Console complèteBreakpointIDE dédié : RadrailsTests unitairesDéploiement

Code concisOutils intégrés

Page 31: Introduction à Rails - Paris on Rails 2006

Et le reste ? Extensible ?

Plugins mis en avantBasé sur RubySimple à personnaliséAccès aux sources

Aucune limitePlugins intégrés

Page 32: Introduction à Rails - Paris on Rails 2006

Et le reste ? Moderne ?

Ajax intégréJavascript généréEffets visuelsPhilosophie REST

Méthodes agilesÀ la pointe

Page 33: Introduction à Rails - Paris on Rails 2006

Les autres outils

Simples

Complets

Extensibles

Modernes

Page 34: Introduction à Rails - Paris on Rails 2006

Le résultat ?

Plus simple d'accèsMoins d’erreurs

Plus de réactivitéMaintenances courtes

Plus de confortPeu de limitations

Page 35: Introduction à Rails - Paris on Rails 2006

Plus productifs ?

Ouimais peut être pas sur le

développement initial

En qualitéEn maintenanceEn évolutionsEn réactivité

Page 36: Introduction à Rails - Paris on Rails 2006

Les limites actuelles (2006)

Qui s’améliorentDocumentationPerformancesEncore peu utilisé

StructurellesPeu de limitesÉvolution constanteReprise d'existant

Page 37: Introduction à Rails - Paris on Rails 2006

Par rapport aux autres ?

Page 38: Introduction à Rails - Paris on Rails 2006

Un peu de visuel ...

Rubynom = dvd.categorie.nom

JavaString nom = dvd.getCategorie().getNom() ;

PHP$nom = $dvd->getCategorie()->getNom() ;

Page 39: Introduction à Rails - Paris on Rails 2006

À retenir sur Ruby On Rails

Simplicité, confort, maintenance courte

Agile, réactivité et facilité d’évolution

Outillage complet, automatisé, moderne

Page 40: Introduction à Rails - Paris on Rails 2006

Introduction à Rails

Éric DaspetParis On Rails, novembre 2006

Page 41: Introduction à Rails - Paris on Rails 2006

Liens annexes, anglais

Ruby : http://www.ruby-lang.org/Doc. Ruby : http://www.ruby-doc.org/Rails : http://www.rubyonrails.org/

Les screencastLes documentations (API)

Les livres : (entre autres sur http://pragmaticprogrammer.com/)

Rails RecipesAgile Web Development with Rails

Page 42: Introduction à Rails - Paris on Rails 2006

Liens annexes, français

Ruby France : http://www.rubyfr.org/Rails France : http://www.railsfrance.org/

Usenet : fr.comp.lang.rubyLivres : http://www.eyrolles.com/

Ruby On Rails (traduction du Agile Web Development)

Page 43: Introduction à Rails - Paris on Rails 2006

Liens très annexes

Éric Daspet : http://eric.daspet.name/

Livre PHP 5 avancé : http://eyrolles.com/Paris-Web : http://www.paris-web.fr/

SQLI : http://www.sqli.com/ Me contacter à SQLI : [email protected]

Page 44: Introduction à Rails - Paris on Rails 2006

Réutilisation du contenu

Les contenus originaux de cette présentation sont diffusés sous licence Creative Commons avec les options :

Paternité (obligation de mentionner l'auteur)Pas d'utilisation commerciale (sans accord explicite)Pas de modifications (contenu d'opinion)

La licence complète est disponible à l'adresse http://creativecommons.org/licenses/by-nc-nd/2.0/fr/

Toute autre utilisation nécessite un accord explicite et écrit de la part de l'auteur