Ruby on Rails vs. JSF?

Bonjour,

Avant de savoir si je vais postuler pour un stage en JSF et ne
connaissant pas vraiment ce framework, j’aimerais savoir quelles
sont les différences entre l’implémentation de l’architechture MVC de
Ruby on Rails et celle de JSF. (en dehors du fait que ce n’est pas
aussi intéressant de coder en Java qu’en Ruby : sur ce point il n’y a
pas photo mais malheureusement les stages en RoR se font rares).

Eventuellement aussi les avantages de JSF par rapport à Ruby on Rails et
les fonctionnalités incontournables de Ruby on Rails qui ne seraient pas
implémentées dans JSF, si vous les connaissez…

Merci

Arnaud DELCASSE

Bonjour,

Je viens de m’inscrire sur votre liste et je me présente d’un mot, comme
il est
parfois d’usage.

Je suis un programmeur amateur, j’ai aimé smalltalk, python, Lamp. Je
flaire
que RoR est plus qu’une petite merveille, mais sauf à ce que les jours
fassent
enfin plus de 24 heures (et malgré mes demandes en haut lieu, rien ne
bouge de
ce côté là), je n’ai pas beaucoup de temps à y consacrer (je m’occupe de
l’Adullact)

J’ai trois questions

  1. existe-t-il des formations très courtes pour mettre le pied à l’étrier,
    en
    particulier pour ceux qui veulent comprendre/se représenter le mécanisme
    avant
    de rentrer dans le gras.

  2. existe-t-il un outil/dispositif qui permettent de produire du RoR
    à partir
    de diagramme UML ou un subset d’UML.

  3. connaissez un bon “libre blanc” ou comparatif qui pourrait permettre
    de
    convaincre des informaticiens d’autres obédience de regarder rapidement du
    côtéde RoR ?

Bien cordialement
François Elie

  1. existe-t-il des formations tr�s courtes pour mettre le pied � l’�trier,

Sans parler vraiment de formation, il y a la fameuse video de 15min, par
l’auteur de Rails himself.

C’est déjà un bon début, où l’on comprend une bonne partie de la philo
Rails.

http://media.rubyonrails.org/video/rails_take2_with_sound.mov

gUI

UML

Je crains que UML et RoR appartiennent à deux cultures différentes (voir
ce
que d’autres en diront…).

philippe lachaise wrote:

UML

Je crains que UML et RoR appartiennent à deux cultures différentes (voir
ce
que d’autres en diront…).

Je suis d’accord : avec Rails les tests tiennent lieu de spécifications

  • Pas besoin de jolis schémas avec des ptits bonshommes dessus :wink:

Et puis, on doit jouer le jeux et modifier le logiciel en cours de
réalisation pour satisfaire les demandes tardives du client - Je vois
mal comment ces “surprises” pourraient être codifiées d’avance quelque
part. Au contraire, j’ai le sentiment que dans nos vieilles habitudes la
réaction serait de dire que si ça n’a pas été prévu alors ça ne sera pas
fait (vous voyez mon diagramme UML m’sieur ? bin votre demande elle
rentre pô dedans)…

Soit le bienvenu sur cette liste François.

On 11/18/06, philippe lachaise [email protected] wrote:

UML

Je crains que UML et RoR appartiennent à deux cultures différentes (voir ce
que d’autres en diront…).

Le titre original du livre, “Agile Web D. with Rails” n’est
pas anodin. Le développement de sites ou d’applications Web avec Ruby
on Rails s’inscrit dans la mouvance des méthodes agiles, eXtreme
Programming en tête.
Toutefois, rien n’exclue l’utilisation d’UML, Ã des fins de
modélisation ou de documentation d’une itération. Cela permet de tenir
à jour une documentation technique.

Enfin, je pense que l’on verra, suivant les besoins des développeurs
motivés, éventuellement, pour les développer, des plugins pour des
logiciels comme Umbrello. Les classes peuvent être exportées sous
forme de modèles, et avec certaines conventions on pourrait déduire
les actions et les contrôleurs des cas d’utilisation ; mais je doute
que l’on trouve une solution complète de création d’une application
Ruby on Rails d’un clic.

Quoi que, générer le squelette d’un site SimplyRESTful +
SimplyHelpful, ça doit être réalisable :slight_smile:

Comme beaucoup de gens ici (je crois), je ne connais pas JSF.
Tu auras probablement une réponse, dans la semaine, sois patient.

Bonsoir,

Bienvenue à vous François et Hubert.

Hubert, qu’est que tu veux faire concrêtement ? Tu viens de dire
avoir ouvert un compte chez un hébergeur et t’être connecté à leur
serveur par ssh. Tu veux créer une application rails ou tu veux en
héberger une ? Si tu veux créer une application ça se fait en local
d’abord et tu trouveras des tutoriaux à suivre sur le site
rubyonrails.org ; si tu veux héberger une appli que tu as déjà faite,
cela va dépendre de ton hébergeur, chacun ayant sa solution de
déploiement particulière ; cela doit être documenté sur le site de
l’hébergeur.

François, il n’y a pas encore de livre blanc ror. Pas non plus de UML
vers application rails, effectivement, ce n’est pas vraiment une
pratique courante développée sur ce framework.

à+np_______________________________________________
Railsfrance mailing list
[email protected]
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance

Un rappel de la philosophie Rails dans ce domaine :

(évidemment ça doit faire dresser les cheveux sur pas mal de têtes, mais
c’est de bon sens et on s’y fait :wink:

philippe lachaise a écrit :

Un rappel de la philosophie Rails dans ce domaine :

Getting Real
http://gettingreal.37signals.com/ch11_Theres_Nothing_Functional_about_a_Functional_Spec.php

(évidemment ça doit faire dresser les cheveux sur pas mal de têtes, mais
c’est de bon sens et on s’y fait ;-

Il y a beaucoup de bon sens en effet mais il me semble que ce qui fait
effectivement souci dans le “génie logiciel”, c’est le dialogue effectif
entre
l’expert métier et l’informaticien. Xtreme Programming est une bonne réponse
pour favoriser ce dialogue, RoR est probablement adapté à cela.

Néanmoins je me demande s’il n’est pas possible d’exporter une autre voie:

UML-> RoR
|
UML<-----

  1. être capable d’essayer de spécifier en amont
  2. faire évoluer en touchant au code
  3. rétro-générer les modification des specs

C’était le but que je visais dans ma question sur les rapports entre UML
et RoR
Il y a en fait deux questions en une:
a) Il y a des modèles en UML, peut-on produire des instances opérationnelles
avec RoR
b) à partir d’un dev en RoR, peut-on imaginer rétro-générer de l’UML

Bien cordialement
François Elie

Je crois savoir que c’est un des dogme de l’eXtremeProgramming et des
méthodes agiles en général (?) c’est que le code sert de doc, que les
tests
unitaires servent de spécifications techniques.

Par contre la petite fiche pour la réalisation d’une fonctionnalité,
d’une
partie, d’un minibout de l’appli se présente bien souvent sous la forme
d’un
croquis/dessin/gribouillage, <insérer ici selon votre niveau en dessin
:stuck_out_tongue: />
. Personnellement, sans faire de l’UML strict en respectant toute la
norme,
je me sert quand même du style UML pour réaliser mes petit crobard de la
fonctionnalité. C’est plus pour vérifier que j’ai^Wl’on bien compris
(moi et
le client) la même chose.

Mais je suis sur que ce n’est pas forcement nécessaire quand on est à la
fois le client le créateur, concepteur, codeur de sont application :slight_smile:
(sauf
pour se mettre les idées au clair)

Pour moi UML c’estpouru le gribouillage,
le test unitaire pour les spéc technique (enfin c’est surtout pour le
test
hein :wink: ),
et le code sert de doc technique (enfin si c’est pas trop cradingue,
mais au
pire, c’est une doc cradingue :stuck_out_tongue: )

Sinon Bienvenue sur cette liste très active :slight_smile:

+1 pour ce qu’a dit Yannick, je ne peux qu’abonder dans son sens.
Des outils pour l’UML, comme Umbrello, permettent de faire des dessins
compréhensibles (et exportable en PNG), notamment les cas
d’utilisation.
Je fais également des fois des diagrammes de séquences, qui permettent
de représenter le déroulement d’une action de manière simple (la
requête elle arrive au serveur Web, qui interroge le contrôleur,
etc…).

Toutefois, n’allez pas croire qu’UML c’est fini. Avec UP, RUP & co. il
y a de fortes chances pour que l’on en fasse pendant encore des
années, en fonction des habitudes des équipes informatiques des
sociétés qui nous emploient/emploieront.
A tort ou à raison.

François :

C’était le but que je visais dans ma question sur les rapports entre
UML et RoR. Il y a en fait deux questions en une:
a) Il y a des modèles en UML, peut-on produire des instances
opérationnelles avec RoR
b) à partir d’un dev en RoR, peut-on imaginer rétro-générer de l’UML

J’avais vu ça passer sur Rails Talk, il y a quelque jour,
c’est pour générer du XMI
http://blog.zmok.net/articles/2006/11/13/visualize-your-rails-schema

C’est un début !

РJean-Fran̤ois.

Le 23/11/06, François Elie [email protected] a écrit :

C’était le but que je visais dans ma question sur les rapports entre UML
et RoR
Il y a en fait deux questions en une:
a) Il y a des modèles en UML, peut-on produire des instances
opérationnelles
avec RoR
b) à partir d’un dev en RoR, peut-on imaginer rétro-générer de l’UML

Pour avoir essayer de pratiquer ça en Java, je doit avouer que mon
expérience est plutôt négative. Les méthodes dites “Agiles” sont
justement
pour être rapide et efficace, simple et juste (dans le code hein :wink: ).
L’utilisation d’UML en conception full avec génération de code et
l’inverse
ne sont pas très adapté à ce genre de méthodes et par extension à Ror
qui Ã
été construit avec les dogmes des méthodes agiles en toile de fond.

Cependant, commeje le dit souvent, on peut tout faire, c’est une
question de
temps :slight_smile: si tu y tiens vraiment c’est codable uml->Ror->uml :slight_smile: après
tout ,
c’est écrit en Ruby , un langage bien fait pour la métaprogrammation…
et
les diagrammes uml sont bien souvent stocké en xml, ça devrais être
faisable, mais est-ce vraiment la solution ?

Tu cherche as reutiliser des diagrammes que tu as effectué ?

En théorie ça parait possible, d’autant que 1) l’architecture d’une
app
RoR est déja bien standardisée et que 2) on dispose de beaucoup de
méta-données via Ruby (e.g. obj.methods, etc.)

Tu veux écrire un plugon RoR -> UML ? Il y aurai surement preneur en
entreprise.

C’était le but que je visais dans ma question sur les rapports entre UML et RoR
Il y a en fait deux questions en une:
a) Il y a des modèles en UML, peut-on produire des instances opérationnelles
avec RoR

Comme je l’ai écrit plus haut, oui, je ne vois pas le problème. Avec
l’esprit REST (SimplyRESTful en tête), on peut imaginer la génération
du contrôleur REST d’après la classe seule, en tenant compte de ses
méthodes.

b) à partir d’un dev en RoR, peut-on imaginer rétro-générer de l’UML

Si le modèle est en REST… pourquoi pas ? Christophe, dans sa
conférence à Paris on Rails, parlait d’ActiveResource (basé sur
SimpleyRESTful) et de système de découverte automatique d’API, en se
basant sur REST.

Comment, j’ai écrit beaucoup de fois REST ?

Dans la même veine : http://rav.rubyforge.org/

Guillaume :

Si le modèle est en REST… pourquoi pas ? Christophe, dans sa
conférence à Paris on Rails, parlait d’ActiveResource (basé sur
SimpleyRESTful)

Autant que je sache, les 2 sont indépendants. Tu dois pouvoir
utiliser ARes (moyennant quelques adaptations peut-être) dans
une appli <= 1.1.6 (donc non Simply Restful), pour attaquer
une API Rest distante, qui suit les conventions de Rails
(nom de la ressource au pluriel).

Evidemment l’idéal, c’est 2 applis Rails qui communiquent
entre elles, car on est sûr qu’elles ont les mêmes conventions.

et de système de découverte automatique d’API, en se
basant sur REST.

Comment, j’ai écrit beaucoup de fois REST ?

Zifro, Da Rest Man !

РJean-Fran̤ois, anagramme.

Pour avoir essayer de pratiquer ça en Java, je doit avouer que mon
expérience est plutôt négative. Les méthodes dites “Agiles” sont
justement pour être rapide et efficace, simple et juste

(…)

Tu cherches a réutiliser des diagrammes que tu as effectué ?

Oh pas moi… et même si je rêvais d’écrire UML2RoR2UML je crois que je
manquerais, comment dit-on ? de temps.

C’est surtout pour explorer cela.

La réutilisabilité du code et sa transférabilité dans des contextes différents
me semble importante. Pouvoir reprendre des schémas pour les réinjecter
ailleurs me semble devoir passer par une phase où il sont rapidement
lisibles
sous une forme schématique (diagramme d’acteurs, gribouillis quoi).
L’aller-retour entre le gribouilli et le peaufinage du code me semble
pouvoir
être “assisté”. Du BAO, Bricolage assisté par ordinateur. Les méthodes agiles
décrivent beaucoup la relation du besoin à la proposition, mais il faut
mettre
de l’agilité entre la schématisation et l’implémentation, entre le gribouillis
sur un bout de papier et la modélisation. Il me semble que si l’on accélère
le
passage de l’un à l’autre dans les deux sens, ce peut-être utile. j’ai
modifié
mon code, j’aimerais bien que mon gribouillis devienne propre!

Bien cordialement
François Elie

François Elie a écrit :

Du BAO, Bricolage assisté par ordinateur.
Je crois qu’on parle plutôt dans ce cas de MDA, Model Driven
Architecture ;-))
Je pense bientôt poster ici mon point de vue sur le sujet qui nous
préoccupe, mais mon cerveau n’est pas disponible pour l’instant !

Benjamin (qui s’en va reprendre une gorgée de Cca Cla)