Forum: Rails France =?iso-8859-1?q?les_r=F4le_des_dossier?=

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Ba00a402965da738f601b6367cf3224f?d=identicon&s=25 Bolo Michelin (Guest)
on 2006-04-19 16:31
(Received via mailing list)
Salut,

on m'a demandé d'ajouter dans mon tuto le rôle de chaque dossier créer
dans
un appli ruby comme par exemple vendor

Quelqu'un aurait un francais ou anglais.

merci
E9fa5947081cf6b45f89a1f07f064418?d=identicon&s=25 Guillaume Garcera (Guest)
on 2006-04-19 16:44
(Received via mailing list)
Ba00a402965da738f601b6367cf3224f?d=identicon&s=25 Bolo Michelin (Guest)
on 2006-04-19 16:56
(Received via mailing list)
Merci, j'ai regardé mais ca n'explique pas tout alors

je vais essayer de le faire et tu vas dire si je me trompe

-- app ( la ou il y a les fichiers pour l'appli)
-- component ou se trouve tous les composant
-- config (??)
-- db (la ou il la base de données)
-- doc (la doc ? mais quel doc ?)
-- lib (che pas )
-- public ( ce que vois les utilisateurs
-- test  ('lendroit de test')
-- vendor (???)

----------------------------------------------------
Dans app, il y a 4 dossiers
Le sous-répertoire controllers : Les classes controlleurs

Le sous-répertoire views contient les patrons d'affichage (templates)
pour
saisir les données
de notre application , les convertir en HTML, et les renvoyer vers le
navigateur
l'utilisateur.

Le sous-répertoire models contient les classes qui modélisent et
encapsulent
les données
enregistrées dans la base de données de notre application. Dans la
plupart
des frameworks,
cette partie de l'applications devient facilement fouillis, pénible,
verbeuse et susceptible
d'erreurs. Rails la rend simple comme bonjour !

Le sous-répertoire helpers contient toutes les classes auxiliaires
servant à
assister les
modèle (model), vue (view), et contrôleur (controller). Cette séparation
aide à maintenir
code des classes modèle, vue, et contrôleur centré sur leurs vocations
et
dépouillé.


2006/4/19, Guillaume Garcera <guillaume.garcera@gmail.com>:
E9fa5947081cf6b45f89a1f07f064418?d=identicon&s=25 guillaume garcera (Guest)
on 2006-04-19 18:36
(Received via mailing list)
Le 19 avr. 06 à 16:55, Bolo Michelin a écrit :

> Merci, j'ai regardé mais ca n'explique pas tout alors
>
> je vais essayer de le faire et tu vas dire si je me trompe
>
> -- app ( la ou il y a les fichiers pour l'appli)
C'est le lieu ou reside les 3 parties essentielle de l'appli : MVC ou
Model, Vue , Controller.

> -- component ou se trouve tous les composant

> -- config (??)
La ou se trouve les fichiers configurations de l'application, entre
autre on y trouve databases.yml qui permet de configurer les base de
données (nom, login, password).
Contient aussi la configuration des environnement : développement,
test et production
Et important aussi les routes de ton appli. C'est en fait un
équivalent de mod_rewrite mais en ruby pure pour simplifier.
Normalement on n'y intervient que pour configurer les base de données.

> -- db (la ou il la base de données)
Pas que ca. On y retrouve les scripts de migration (dans un sous
repertoire migrate). Anisi que le schéma général de la base de données.

> -- doc (la doc ? mais quel doc ?)
La doc de ton application si tu en a ecrit. Elle est generé au format
RDOC a partir des différents classes de ton appli.

> -- lib (che pas )
Pas sur mais il me semble qu'il contient les librairies que tu ecrit
toi meme. Si tu utilise capistrano, il contient aussi les taches  de
capistrano.

> -- public ( ce que vois les utilisateurs)
Plus précisément c'est l'equivalent d'un dossier public_html ou du
dossier root d'un serveur web, c'est la parties accessible au serveur
web.

> -- test  ('lendroit de test')
Contient tout le nécessaire pour realiser les diffèrent tests de
l'application. Entre autre parmi les plus importants :
	- fixtures : garnitures de test (données servant pour les test)
	- units : les test unitaire (test des modèles)
	- functionnals: test des controllers
	- integrations : les test d'intégration (test toutes l'appli des
modèles aux controllers en passant par les routes)

> -- vendor (???)
L'endroit ou l'on met les librairie externe (c.a.d fourni par
quelqu'un d'autre que toi) nécessaire a l'application. On y trouve
aussi les plugins.
On y trouve aussi une install rails complete si tu as "freezer" ton
apli. Si c'est le cas c'est cette dernier qui sera utilisé en lieu et
place de celle installé sur le serveur qui heberge l'appli.

> ----------------------------------------------------
> Dans app, il y a 4 dossiers
Attention dans certains cas , il y a un dossier api qui contient
l'api destiné aux web services. Mais je croit que avec la 1.1 est les
versions futur on ne l'utilisera pas trop.

> enregistrées dans la base de données de notre application. Dans la
> vocations et dépouillé.
Voila HTH
30d2fbcfa70a6ed4fd0bceda145f3758?d=identicon&s=25 Benjamin Francisoud (Guest)
on 2006-04-26 16:01
(Received via mailing list)
Un sheet cheat plus complète:
http://rubyscube.blogspot.com/2006/02/rails-la-str...

--
Benjamin Francisoud
http://rubyscube.blogspot.com
Ba00a402965da738f601b6367cf3224f?d=identicon&s=25 Bolo (Guest)
on 2006-04-26 16:04
(Received via mailing list)
mais le site est down

Le 26/04/06, Benjamin Francisoud <benjamin.francisoud@anyware-tech.com>
a
écrit :
30d2fbcfa70a6ed4fd0bceda145f3758?d=identicon&s=25 Benjamin Francisoud (Guest)
on 2006-04-26 16:20
(Received via mailing list)
Ah oui :(
Dommage elle était bien :)
Ba00a402965da738f601b6367cf3224f?d=identicon&s=25 Bolo (Guest)
on 2006-04-26 16:32
(Received via mailing list)
Qqn ne l'a pas ? Ca me ferra une base pour la reprendre en francais

Le 26/04/06, Benjamin Francisoud <benjamin.francisoud@anyware-tech.com>
a
écrit :
13ea48f056b19349027d2f4a6921a46a?d=identicon&s=25 Jean-François (Guest)
on 2006-04-26 16:51
(Received via mailing list)
2006/4/26, Bolo <malavoi@gmail.com>:
> Qqn ne l'a pas ? Ca me ferra une base pour la reprendre en francais

Salut,

En fait, si on regarde bien, ya pas grand chose à expliquer,

exemple :

app/
  controllers/
  helpers/
  models/
  views/


Dans app/controllers, il y a les contrôleurs.
Dans app/helpers, il y a les helpers pour les vues.
Dans app/models, il y a les modèles
Dans app/views, il y a les vues.

Dans doc/ il y a la doc, dans config/ il y a la configuration,
dans test, il y a les tests (dans test/unit, il y a les tests...
unitaires, dans functional, il y a les tests... fonctionnels, etc.)

Dans log/, il y a... les logs
Dans tmp/, il y a les fichiers temporaires.
Dans tmp/sockets... il y a les sockets (pour MySQL par ex)
Dans tmp/sessions, il y a ... euh, les sessions si on ne les
met pas dans la base ?

Dans vendor/plugins... il y a... les plugins
Dans components/ il y a euh.. les composants ?

Etc, etc.

C'est l'habitude ou je sais pas quoi, mais je la trouve limpide,
l'arbo...

     -- Jean-François.
58cea17287e2596e9238cf6722775ca5?d=identicon&s=25 Nicolas Paton (Guest)
on 2006-04-26 16:54
(Received via mailing list)
Salut,

J'ai fait un article d'introduction à Ruby et Rails sur cuk.ch. J'y
décris succinctement les dossiers de rails :
http://cuk.ch/articles.php?unique=980&categorie_re...

NP


Le 26 avr. 06 à 16:48, Jean-François a écrit :
Ba00a402965da738f601b6367cf3224f?d=identicon&s=25 Bolo (Guest)
on 2006-04-26 17:01
(Received via mailing list)
Merci,

il est super bien ton article tres complet

Le 26/04/06, Nicolas Paton <nicolas.paton@wanadoo.fr> a écrit :
58cea17287e2596e9238cf6722775ca5?d=identicon&s=25 Nicolas Paton (Guest)
on 2006-04-26 17:20
(Received via mailing list)
Merci !
NP
13ea48f056b19349027d2f4a6921a46a?d=identicon&s=25 Jean-François (Guest)
on 2006-04-26 18:19
(Received via mailing list)
Bonjour Nicolas,

Le 26/04/06, Nicolas Paton<nicolas.paton@wanadoo.fr> a écrit :

> J'ai fait un article d'introduction à Ruby et Rails sur cuk.ch. J'y
> décris succinctement les dossiers de rails :
> http://cuk.ch/articles.php?unique=980&categorie_re...

On peut faire des remarques ? Quitte à faire mon chipoteur (voire
le chieur de service :)

Exemple : au début "Dans Ruby tout est un objet."

Ouais, moi aussi, ça m'est arrivé d'utiliser ce raccourci, mais bon
c'est
un peu inexact... (pour ne pas dire faux :-))

J'ai trouvé d'autres chipotages de ce genre en lisant (rapidement)
ton article.

    -- Jean-François.
58cea17287e2596e9238cf6722775ca5?d=identicon&s=25 Nicolas Paton (Guest)
on 2006-04-26 21:04
(Received via mailing list)
> On peut faire des remarques ?

Bien sûr !

> Exemple : au début "Dans Ruby tout est un objet."
>
> Ouais, moi aussi, ça m'est arrivé d'utiliser ce raccourci, mais bon
> c'est
> un peu inexact... (pour ne pas dire faux :-))

héhé ! Effectivement ! Tout n'est pas un objet !

Tu l'auras bien compris, c'était une introduction à Ruby et Rails
( Cuk est un site d'informatique généraliste - certes pro mac, mais
pas outre mesure - mais qui ne traite pas tous les jours de
programmation car les lecteurs ne sont pas tous, loin de là,
programmeurs). Dire que tout est un objet en ruby était simpliste.
Dans la plupart des introduction à Ruby, on dit ça (cf. from Java to
Ruby de je ne sais plus qui et très récemment (hier ?) une
introduction au Ruby pour les railistes => si ça intéresse qlqun je
peux retrouver l'article).

Après, on peut rentrer dans les détails et toute personne souhaitant
connaître davantage le langage est (plus ou moins) obligé de lire
Programming Ruby où cette vérité abusive est contre-dite. J'espère
que ceux qui m'auront cru et auraient porté tout leur espoir sur le
fait que tout est un objet en Ruby ne m'en voudrons pas alors de leur
avoir (un peu) menti.

Aussi en déclarant que tout est un objet, je mets Ruby dans la case
des langages Orientés Objet dès leur création et qui offrent ainsi,
notamment, un fort niveau d'abstraction et une manipulation
particulière et relativement libre des types.


> J'ai trouvé d'autres chipotages de ce genre en lisant (rapidement)
> ton article.

Vraiment n'hésite pas ! Je n'ai pas eu énormément de retours sur les
défaults techniques de mon article. Il y en a évidemment : des
approximations, des petites simplifications... N'hésite pas à me dire
où ça ne va pas. La prochaine fois que je ferais un article de ce
genre, je tiendrais compte de vos remarques !

à bientôt
NP
0fd845e7824e980053d4f12c37d89652?d=identicon&s=25 Guillaume "Zifro" DESRAT (Guest)
on 2006-04-26 22:25
(Received via mailing list)
Ah ?

Je serai bien curieux de savoir ce qui n'est pas objet en Ruby.
Je pensais que c'était le cas.

Quelqu'un pourrait-il éclairer ma lanterne ?


--
Guillaume "Zifro" DESRAT
http://.../
-- Aah Jeez...I Wish You Could See This....Lights Coming Up.....I've
Never Seen A Painting That Captures The Beauty Of The Ocean.....I'm
Gonna Make You Rich, Bud Fox....Rich Enough You Can Afford A Girl Like
Darien....This Is Your Wake-Up Call, Pall....Go To Work.....DROP IT!!!
(3 Steps Ahead - Drop It)
1bb13907d5b8380fb5b65093ab8359b5?d=identicon&s=25 =?ISO-8859-1?Q?=C9ric?= Daspet (Guest)
on 2006-04-26 22:28
(Received via mailing list)
Le mercredi 26 avril 2006 à 22:24 +0200, Guillaume "Zifro" DESRAT a
écrit :
> Ah ?
>
> Je serai bien curieux de savoir ce qui n'est pas objet en Ruby.

Les méthodes, qui ne sont pas objet par nature (même si tu peux les
encapsuler dans des objets).


Ceci dit bon, le full objet ou pas c'est un joli argument mais quand le
langage est bien fait ce n'est franchement pas *le* critère important.
13ea48f056b19349027d2f4a6921a46a?d=identicon&s=25 Jean-François (Guest)
on 2006-04-27 01:43
(Received via mailing list)
Salut,

> Je serai bien curieux de savoir ce qui n'est pas objet en Ruby.
> Je pensais que c'était le cas.
>
> Quelqu'un pourrait-il éclairer ma lanterne ?

Et bien par exemple, les variables. Une variable est une référence
à un objet mais pas un objet en lui-même, il n'y a pas d'ailleurs,
de classe Variable. Si tu fais a = Array.new, a.class te retourne la
classe de l'objet pointé mais pas la classe de a proprement dite.
De même, les constantes. Ou les structures de contrôle (if...)
(ça l'est, je crois bien en Smalltalk).

Tout ceci n'est pas gênant, comme le dit Eric. Mais si on cherche
à établir une sorte d'échelle de gradation objet, Ruby l'est
plus que le C (:-) ), plus que le Perl, plus que Python, moins que
Smalltalk...

    -- Jean-François.
58cea17287e2596e9238cf6722775ca5?d=identicon&s=25 Nicolas Paton (Guest)
on 2006-04-27 01:56
(Received via mailing list)
> Tout ceci n'est pas gênant, comme le dit Eric. Mais si on cherche
> à établir une sorte d'échelle de gradation objet, Ruby l'est
> plus que le C (:-) ), plus que le Perl, plus que Python, moins que
> Smalltalk...

Puis-je ajouter, sans froisser personne, que Ruby est beaucoup plus
OO que Java qui l'est plus que C++ qui l'est plus que C qui ne l'est
pas du tout ?

Smalltalk est, d'après tout ce que j'ai pu entendre, un sacré langage !

Si je devais apprendre d'autres langages je serais tenté par
Smalltalk et Lisp (ok c'est pas très utile tout ça, et alors ?). Et
puis le japonnais, le mandarin, l'arabe et le russe...

Et vous ?

NP
0fd845e7824e980053d4f12c37d89652?d=identicon&s=25 Guillaume "Zifro" DESRAT (Guest)
on 2006-04-27 02:17
(Received via mailing list)
Oui oui :)
On a pas mal débattu de ça sur #rubyfr.

Après avoir dérivé sur le chat de Schrödinger, on en est revenu à deux
choses : Ruby n'est pas totalement objet (on a pensé aux structures de
contrôle notamment) d'une part, et cela ne nous empêche pas de l'aimer
d'autre part.

Enfin, oui, j'aimerais bien apprendre le japonais et le Lisp ;-)


--
Guillaume "Zifro" DESRAT
http://.../
-- Aah Jeez...I Wish You Could See This....Lights Coming Up.....I've
Never Seen A Painting That Captures The Beauty Of The Ocean.....I'm
Gonna Make You Rich, Bud Fox....Rich Enough You Can Afford A Girl Like
Darien....This Is Your Wake-Up Call, Pall....Go To Work.....DROP IT!!!
(3 Steps Ahead - Drop It)
13ea48f056b19349027d2f4a6921a46a?d=identicon&s=25 Jean-François (Guest)
on 2006-04-27 02:39
(Received via mailing list)
Le 27/04/06, Nicolas Paton<nicolas.paton@wanadoo.fr> a écrit :
> > Tout ceci n'est pas gênant, comme le dit Eric. Mais si on cherche
> > à établir une sorte d'échelle de gradation objet, Ruby l'est
> > plus que le C (:-) ), plus que le Perl, plus que Python, moins que
> > Smalltalk...
>
> Puis-je ajouter, sans froisser personne, que Ruby est beaucoup plus
> OO que Java

J'ai pas mis Java dans la liste, car j'étais pas sûr, les entiers
sont des objets en Java ?

> qui l'est plus que C++ qui l'est plus que C qui ne l'est
> pas du tout ?

En même temps on peut faire de l'objet en C :)
On encapsule tout ça dans des structures avec des pointeurs
de fonctions et zou :)

ça me fait penser aussi à un autre point sur lequel j'ai tiqué
dans ton article dont je ferai les remarques plus tard, car il est
tard, le C++ comme un patch du C, ouais, c'est un point de vue...
Au départ, c'était pas une lib en C ? c'est plus propre qu'un patch :)

> Smalltalk est, d'après tout ce que j'ai pu entendre, un sacré langage !

C'est intéressant de voir comment il a grandement influencé Ruby.
Les blocs de code, ça vient (je crois) de là. Les histoires de
"tout objet", de métaclasse (mais il y a des différences). Le fait
qu'un objet soit un receveur à qui l'on envoie des messages.
Les messages cascadés (les appels de méthode en chaîne).
nil vient du lisp ou de Smalltalk ? Les symboles. Les opérations
sur les collections (énumérables) : each, collect, detect...

Ruby a un côté : Smalltalk mais en plus lisible et plus "naturel".

(expression)
  ifTrue: [ ... ]
  ifFalse: [ ... ].

est qd même moins clair que :

if (expression)
  ...
else
  ...
end

C'est vrai que la machine virtuelle, le garbage collector, ça
existait déjà avec ST, bien avant Java...

> Si je devais apprendre d'autres langages je serais tenté par
> Smalltalk et Lisp (ok c'est pas très utile tout ça, et alors ?).

ça dépend si tu utilises emacs...

A mon avis, il faut connaître à la fois la programmation procédurale,
orientée objet et fonctionnelle.

Sinon, je me mettrais bien plus sérieusement à Erlang et
Haskell (mais le gros morceau je pense c'est de digérer la notion
de Monades)

> Et puis le japonnais, le mandarin, l'arabe et le russe...

On peut pas complètement comparer les langages de programmation
et les langues. Rien que pour le vocabulaire par exemple, ya qu'à voir
le nombre de mots réservés existant en Ruby...

    -- Jean-François.

PS : on est en train de dévier du sujet initial, il serait peut-être
temps de choisir un autre Subject: d'autant plus que celui-ci
souffre d'un problème de pluralisation :)
58cea17287e2596e9238cf6722775ca5?d=identicon&s=25 Nicolas Paton (Guest)
on 2006-04-27 03:09
(Received via mailing list)
Le 27 avr. 06 à 02:38, Jean-François a écrit :

> sont des objets en Java ?
Je considéré, peut-être à tord, qu'il y a non seulement des capacités
à faire de l'OO mais aussi des questions de niveau de programmation
OO et l'entendu des possibilité OO que propose un langage. Là je peux
me tromper je ne suis pas une star de Java (ni Ruby à vrai dire) mais
il me semble que Ruby est OO de partout (pas d'implémentation
explicite d'une couche OO) ; ruby est OO à haut et bas niveau ; et
Ruby offre des possibilité OO poussées avec les blocks (d'où viennent
les each(), collect()...), les enchaînements de méthodes, les
symboles, nil , tout ce que tu décris plus bas.

Après y a-t-il un expert Ruby dans la salle pour nous en dire plus ?

>> qui l'est plus que C++ qui l'est plus que C qui ne l'est
>> pas du tout ?
>
> En même temps on peut faire de l'objet en C :)
> On encapsule tout ça dans des structures avec des pointeurs
> de fonctions et zou :)

Certes. C peut être OO mais ne l'est pas par nature.

> ça me fait penser aussi à un autre point sur lequel j'ai tiqué
> dans ton article dont je ferai les remarques plus tard, car il est
> tard, le C++ comme un patch du C, ouais, c'est un point de vue...
> Au départ, c'était pas une lib en C ? c'est plus propre qu'un patch :)

héhé, désolé, c'était un peu un raccourci d'énonciation. Ce n'est un
patch mais C++ dérive de C. J'ai mis ça en image par le patch. Ca ne
fait pas de C++ un mauvais langage OO mais il est incontestablement
plus lourd à utiliser que quelque chose comme Ruby. C'est ce que j'ai
voulu exprimer, sans vouloir amoindrir C++, même si ça n'était pas
juste.

>
> else
>   ...
> end
>
> C'est vrai que la machine virtuelle, le garbage collector, ça
> existait déjà avec ST, bien avant Java...



> Haskell (mais le gros morceau je pense c'est de digérer la notion
> de Monades)

Ouais emacs, ça paraît un peu chaud, je ne suis pas programmeur à
temps complet, alors faire de la programmation sous lisp paraît
difficile. Mais je serai curieux d'apprendre les fondement de Lisp et
Smalltalk sans programmer dans ces langages.

Erlang et Haskell, je suis infoutu de dire quoi que ce soit là
dessus. Ca m'intéresse vivement ! J'ai commencé un peu de
programmation il y 6 ou 8 ans avec du C++ et du Java. J'ai alors été
assez dégoûté par ces langages. Je suis passé par du PHP et pas mal
de programmation de page web (xhtml/css...) Je n'ai été reconquit à
la vrai programmation qu'avec ruby (et rails), récemment. Et je me
rend compte adorer ça. Je vais me renseigner sur ces 2 langages !

Et alors les Monades... connaît encore moins !

>
>> Et puis le japonnais, le mandarin, l'arabe et le russe...
>
> On peut pas complètement comparer les langages de programmation
> et les langues. Rien que pour le vocabulaire par exemple, ya qu'à voir
> le nombre de mots réservés existant en Ruby...

C'était une blague... Mais ayant fait des études littéraires
(toujours en licence de lettre d'ailleurs), j'ai été étonné de voir
dans mes cours de linguistique l'importance de l'aspect mécanique de
la langue.

>
>     -- Jean-François.
>
> PS : on est en train de dévier du sujet initial, il serait peut-être
> temps de choisir un autre Subject: d'autant plus que celui-ci
> souffre d'un problème de pluralisation :)
>

J'arrête sur ce sujet, je promets !

NP

P.S. : Problème de pluralisation
réglée_______________________________________________
Railsfrance mailing list
Railsfrance@rubyonrails.fr
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance
13ea48f056b19349027d2f4a6921a46a?d=identicon&s=25 Jean-François (Guest)
on 2006-04-27 04:26
(Received via mailing list)
Le 27/04/06, Nicolas Paton<nicolas.paton@wanadoo.fr> a écrit :

> il me semble que Ruby est OO de partout
J'aime bien cette expression : "Ruby est OO de partout" :)
(même en dessous des pieds ?)

> (pas d'implémentation explicite d'une couche OO) ;

ça ne pose pas de pb à Java à ce niveau-là je crois.

> ruby est OO à haut et bas niveau ; et
> Ruby offre des possibilité OO poussées

mmmh...

> avec les blocks (d'où viennent
> les each(), collect()...),

ça ça a plutôt à voir dans la manière dont Ruby implémente les
itérateurs. En Java, si un spécialiste ne m'arrête pas, si une
classe implémente l'interface Itérateur qui va bien, alors elle
doit pouvoir des tas de choses super chouettes équivalentes
à ce qu'offre le module Enumerable.

Le pattern Itérateur est implémenté en Java (plus ou moins
élégamment qu'en Ruby, ça je sais pas...)

Les blocs de code (blocks) ont parfois plus à voir avec
la programmation fonctionnelle, on s'en sert comme handlers
fonctions anonymes ou callbacks. Eventuellement pour des
fermetures.

> les enchaînements de méthodes, les
> symboles

ça à voir avec la POO ? ya l'équivalent en lisp, je pense bien
(avec la notation :foo )

>, nil ,

Java utilise null, c'est donc moins bien ? :)

> tout ce que tu décris plus bas.

> Après y a-t-il un expert Ruby dans la salle pour nous en dire plus ?

Il y a tout ce qui touche à l'introspection. Je sais pas si ça existe en
Java, je sais pas si ça a un intérêt dans un langage où les classes
sont fermées.

> >> qui l'est plus que C++ qui l'est plus que C qui ne l'est
> >> pas du tout ?
> >
> > En même temps on peut faire de l'objet en C :)
> > On encapsule tout ça dans des structures avec des pointeurs
> > de fonctions et zou :)
>
> Certes. C peut être OO mais ne l'est pas par nature.

ok.

> > ça me fait penser aussi à un autre point sur lequel j'ai tiqué
> > dans ton article dont je ferai les remarques plus tard, car il est
> > tard, le C++ comme un patch du C, ouais, c'est un point de vue...
> > Au départ, c'était pas une lib en C ? c'est plus propre qu'un patch :)
>
> héhé, désolé, c'était un peu un raccourci d'énonciation. Ce n'est un
> patch mais C++ dérive de C. J'ai mis ça en image par le patch. Ca ne
> fait pas de C++ un mauvais langage OO mais il est incontestablement
> plus lourd à utiliser que quelque chose comme Ruby.

Et encore, t'as pas vu la suite :

http://www.artima.com/cppsource/cpp0xP.html

mmmhh miam miam !!

> > Les messages cascadés (les appels de méthode en chaîne).
> >
>
> > Haskell (mais le gros morceau je pense c'est de digérer la notion
> > de Monades)
>
> Ouais emacs, ça paraît un peu chaud, je ne suis pas programmeur à
> temps complet, alors faire de la programmation sous lisp paraît
> difficile. Mais je serai curieux d'apprendre les fondement de Lisp et
> Smalltalk sans programmer dans ces langages.
>
> Erlang et Haskell, je suis infoutu de dire quoi que ce soit là
> dessus.

Erlang est un langage assez porté sur la récursivité, orienté
concurrence et tolérance aux pannes. La syntaxe est moins
agréable qu'en Ruby.

Haskell est un langage fonctionnel, assez porté je crois
sur les histoires de curryfication (mmmh je pourrais pas
en dire plus)

> Ca m'intéresse vivement ! J'ai commencé un peu de
> programmation il y 6 ou 8 ans avec du C++ et du Java. J'ai alors été
> assez dégoûté par ces langages. Je suis passé par du PHP et pas mal
> de programmation de page web (xhtml/css...) Je n'ai été reconquit à
> la vrai programmation qu'avec ruby (et rails), récemment. Et je me
> rend compte adorer ça. Je vais me renseigner sur ces 2 langages !

Il peut être aussi intéressant de voir comment 2 langages "frères"
comme Perl et Python ont influencé Ruby. Et lisp sur d'autres
aspects (les continuations par exemple).

> Et alors les Monades... connaît encore moins !

En googlant, viens de trouver ça :

http://developpeur.journaldunet.com/tutoriel/theo/...

"En tant que telles, les monades ne sont pas une spécificité de Haskell,
ou même des langages fonctionnels. Elles sont accessibles à tout
langage pouvant utiliser des closures (fermetures) et des fonctions
anonymes. ML, Scheme et Lisp, donc, mais également le trio des
langage de scripting : Perl, Python et Ruby, au travers de certaines
de leurs capacités fonctionnelles... "

tiens donc, on peut faire ça en Ruby !

"Les monades sont un moyen de construire et regrouper les traitements
de manière séquentielle. Il faut savoir que les langages fonctionnels
purs (sans effets de bords) considèrent qu'afficher des données à
l'écran,
ou les écrire, est "impur". Un effet de bord est un effet inattendu
d'une
fonction, et par extension, une modification de l'environnement :
changer la
valeur d'une variable, par exemple, est un effet de bord. Les monades
sont
un moyen de briser cette limitation en rendant possible la présence de
telles "impuretés" dans un langage "pur". Vous avez suivi ?

Les monades sont donc une technique pour introduire une forme de
programmation impérative (accès E/S, changement d'état, exceptions�) au
sein d'un langage fonctionnel. Elles le font en "emmagasinant", en
quelque
sorte, les calculs en cours de traitement au sein de blocs séquentiels,
eux-mêmes séquençables en calculs. Une monade détermine en quoi ces
calculs combinés peuvent créer un nouveau calcul reprenant leurs
traitements."

Faut lire ça à tête reposée. Je vais pas tarder à méditer là dessus...

> >> Et puis le japonnais, le mandarin, l'arabe et le russe...
> >
> > On peut pas complètement comparer les langages de programmation
> > et les langues. Rien que pour le vocabulaire par exemple, ya qu'à voir
> > le nombre de mots réservés existant en Ruby...
>
> C'était une blague... Mais ayant fait des études littéraires
> (toujours en licence de lettre d'ailleurs), j'ai été étonné de voir
> dans mes cours de linguistique l'importance de l'aspect mécanique de
> la langue.

Ce qu'il y a en commun, ce sont les notions de lexique, de syntaxe
(+ les ambiguïtés) notamment, mais pas celle du déboguage !

bonne nuit,

    -- Jean-François.
400818411253800c62377dcac0b771d7?d=identicon&s=25 Yannick Francois (Guest)
on 2006-04-27 09:20
(Received via mailing list)
2006/4/27, Jean-François <jf.web3@gmail.com>:
>
> Il y a tout ce qui touche à l'introspection. Je sais pas si ça existe en
> Java, je sais pas si ça a un intérêt dans un langage où les classes
> sont fermées.
>


Je répond juste à ça parce que sur le reste j'ai rien de plus à ajouter.

Il y a de l'introspection en Java, un peu pénible certes mais c'est dans
les
paquets de base: java.lang, java.lang.reflect et un autres mais j'ai
plus
sont nom en tête.

C'est possibilité là (introspection et autres) en java commen en ruby
sont
sensé pouvoir "dynamiser" enormement une application, car ça signifie
pouvoir créer un objet et l'utilisé directement sans avoir à arreté
l'application.

Mais je m'étendrais pas sur le sujet. Je m'en suis beaucoup servi en
Java,
et en Ruby je n'ai pas encore eu l'occassion (sauf pour un test maison
ou
deux ;-) ).

A plus tard.
64cefc5969da4ae702d86c9f26cb8733?d=identicon&s=25 philippe lachaise (Guest)
on 2006-04-27 09:26
(Received via mailing list)
Pour ceux qui aiment Ruby mais gardent un petit quelque chose pour C++
jetez
donc un oeuil sur le language D (comme son nom l'indique :)

http://www.digitalmars.com/d/sdwest/index.html
8546e5131cc66da30ccd062234a75b12?d=identicon&s=25 Frederick Ros (sleeper)
on 2006-04-27 11:02
(Received via mailing list)
Guillaume Zifro DESRAT wrote :
| Enfin, oui, j'aimerais bien apprendre le japonais et le Lisp ;-)

Un bon bouquin pour commencer (même s'il n'utilise à priori Lisp que
comme support) : http://mitpress.mit.edu/sicp/full-text/book/book.html

Il est libre et se trouve même en version texinfo

--
Frederick Ros aka Sleeper -- sleeper@jabber.fr

Make sure comments and code agree.
            - The Elements of Programming Style (Kernighan & Plaugher)
9c406551e09ad8ebd7c3ce523514627c?d=identicon&s=25 Vincent Jauneau (Guest)
on 2006-04-27 11:02
(Received via mailing list)
2006/4/27, Jean-François <jf.web3@gmail.com>:
> J'ai pas mis Java dans la liste, car j'étais pas sûr, les entiers
> sont des objets en Java ?


Bah en Java il y a
9c406551e09ad8ebd7c3ce523514627c?d=identicon&s=25 Vincent Jauneau (Guest)
on 2006-04-27 11:11
(Received via mailing list)
Oups erreur de manip :x Désolé pour l'envois du message precedent.

Le 27/04/06, Nicolas Paton<nicolas.paton@wanadoo.fr> a écrit :
> > > Tout ceci n'est pas gênant, comme le dit Eric. Mais si on cherche
> > > à établir une sorte d'échelle de gradation objet, Ruby l'est
> > > plus que le C (:-) ), plus que le Perl, plus que Python, moins que
> > > Smalltalk...
> >
> > Puis-je ajouter, sans froisser personne, que Ruby est beaucoup plus
> > OO que Java
>
> J'ai pas mis Java dans la liste, car j'étais pas sûr, les entiers
> sont des objets en Java ?


Donc je reprend :)
En Java tu as les types primitif (type de base qui ne sont pas des
objets:
char, int, long, float, etc...), et la redéfinition de ces types en
objet
(Character pour char, Interger pour int, Long pour long, etc...).

> Si je devais apprendre d'autres langages je serais tenté par
> > Smalltalk et Lisp (ok c'est pas très utile tout ça, et alors ?).
>

Oue bah franchement le Lisp ça t'avancera pas beaucoup. C'est un langage
où
le code est impossible à relire (Et merde il n'y a que 39 parenthèses
alors
qu'il en fallait 40 à droite ...). En plus ça reste (presque)
exclusivement
un langage de laboratoire comme le Prolog, pour prototyper (notamment)
des
programmes d'IA.
Le SmallTalk par contre est lui, de mon point de vue, bien plus
intéressant
et surtout bien plus utile (mais la je m'aventure sur un terrain que je
ne
connais pas :x).
58cea17287e2596e9238cf6722775ca5?d=identicon&s=25 Nicolas Paton (Guest)
on 2006-04-27 11:36
(Received via mailing list)
> Oue bah franchement le Lisp ça t'avancera pas beaucoup. C'est un
> langage où le code est impossible à relire (Et merde il n'y a que
> 39 parenthèses alors qu'il en fallait 40 à droite ...). En plus ça
> reste (presque) exclusivement un langage de laboratoire comme le
> Prolog, pour prototyper (notamment) des programmes d'IA.
> Le SmallTalk par contre est lui, de mon point de vue, bien plus
> intéressant et surtout bien plus utile (mais la je m'aventure sur
> un terrain que je ne connais pas :x).

Merci du conseil ! Je pensais au Lisp notamment à cause de Paul
Graham qui en parle tant et plus. Je me mettrais donc certainement au
smalltalk en premier.

NP_______________________________________________
Railsfrance mailing list
Railsfrance@rubyonrails.fr
http://lists.rubyonrails.fr/mailman/listinfo/railsfrance
9c406551e09ad8ebd7c3ce523514627c?d=identicon&s=25 Vincent Jauneau (Guest)
on 2006-04-27 11:58
(Received via mailing list)
>
> Merci du conseil ! Je pensais au Lisp notamment à cause de Paul
> Graham qui en parle tant et plus. Je me mettrais donc certainement au
> smalltalk en premier.
>

Sinon en langage fontionnel, tu as le caml (notamment Objective Caml) et
Scheme qui sont pas mal utilisé (pour des langages fonctionnels). Car le
SmallTalk contrairement à Lisp est un langage impératif et non
fonctionnel.
58cea17287e2596e9238cf6722775ca5?d=identicon&s=25 Nicolas Paton (Guest)
on 2006-04-27 12:01
(Received via mailing list)
Salut,

Il y a aussi Io, un petit nouveau, qui a l'air intéressant. (http://
www.iolanguage.com/about/)

Bonne journée,
NP
54a6aeb8a51b2522511a6e9566c2c656?d=identicon&s=25 Aurélien DEHAY (Guest)
on 2006-04-27 12:33
(Received via mailing list)
Vincent Jauneau wrote:
>     Merci du conseil ! Je pensais au Lisp notamment à cause de Paul
>     Graham qui en parle tant et plus. Je me mettrais donc certainement au
>     smalltalk en premier.
>
>
> Sinon en langage fontionnel, tu as le caml (notamment Objective Caml) et
> Scheme qui sont pas mal utilisé (pour des langages fonctionnels).

Et templeet.

  Car le
Bae3272fbe1313479c4c9c375d75c462?d=identicon&s=25 jmb (Guest)
on 2006-04-27 12:45
(Received via mailing list)
http://c2.com/cgi/wiki?ExtraLegsOntoAdog


----- Original Message -----
From: "Aurélien DEHAY" <ad@zorel.org>
To: <railsfrance@rubyonrails.fr>
Sent: Thursday, April 27, 2006 12:30 PM
Subject: Re: [RailsFr] les rôle des dossier


> Vincent Jauneau wrote:
> >     Merci du conseil ! Je pensais au Lisp notamment à cause de Paul
> >     Graham qui en parle tant et plus. Je me mettrais donc certainement
au
> >     smalltalk en premier.
> >
> >
> > Sinon en langage fontionnel, tu as le caml (notamment Objective Caml) et
> > Scheme qui sont pas mal utilisé (pour des langages fonctionnels).
>
> Et templeet.
>
>   Car le
> > SmallTalk contrairement à Lisp est un langage impératif et non
fonctionnel.
> >
>
>
> --
> Aurélien DEHAY
> _______________________________________________
> Railsfrance mailing list
> Railsfrance@rubyonrails.fr
> http://lists.rubyonrails.fr/mailman/listinfo/railsfrance
> --------------------------------------------------------------------------
-------------
Ba00a402965da738f601b6367cf3224f?d=identicon&s=25 Bolo (Guest)
on 2006-04-27 12:54
(Received via mailing list)
En plus il est multi plate forme. Tu l'as testé ?

Le 27/04/06, Nicolas Paton <nicolas.paton@wanadoo.fr> a écrit :
58cea17287e2596e9238cf6722775ca5?d=identicon&s=25 Nicolas Paton (Guest)
on 2006-04-27 12:58
(Received via mailing list)
non pas encore, juste lu des trucs dessus.
NP

Le 27 avr. 06 à 12:53, Bolo a écrit :
Ba00a402965da738f601b6367cf3224f?d=identicon&s=25 Bolo (Guest)
on 2006-04-27 13:01
(Received via mailing list)
> non pas encore, juste lu des trucs dessus.NP
>

Mais avec on peut également faire des applications web. Il y a un
framework
web  écris en lio
http://fr.wikipedia.org/wiki/Io_%28langage%29
8546e5131cc66da30ccd062234a75b12?d=identicon&s=25 Frederick Ros (sleeper)
on 2006-04-27 13:04
(Received via mailing list)
Vincent Jauneau wrote :
| Oue bah franchement le Lisp ça t'avancera pas beaucoup. C'est un langage où
| le code est impossible à relire (Et merde il n'y a que 39 parenthèses alors
| qu'il en fallait 40 à droite ...). En plus ça reste (presque) exclusivement
| un langage de laboratoire comme le Prolog, pour prototyper (notamment) des
| programmes d'IA.

Hummm ..; pas trop d'accord .... comme tout language, tu peux ecrire du
lisp comme un goret ... Si tu en arrives a 40 niveaux de parentheses,
c'est un peu l'equivalent de dire qu'en C, tu arrives a 20 niveaux
imbriques de if ... else ... Faut commencer à se poser des questions
avant .... Sinon pour ce qui est de Lisp et Prolog, utilises dans
l'industrie il m'est arrive d'en rencontrer quelque fois :)


--
Frederick Ros aka Sleeper -- sleeper@jabber.fr

Make input easy to proofread.
            - The Elements of Programming Style (Kernighan & Plaugher)
58cea17287e2596e9238cf6722775ca5?d=identicon&s=25 Nicolas Paton (Guest)
on 2006-04-27 13:04
(Received via mailing list)
Je regarderais, merci.
Mais il paraît que Io plante encore pas mal...

NP


Le 27 avr. 06 à 13:00, Bolo a écrit :
8546e5131cc66da30ccd062234a75b12?d=identicon&s=25 Frederick Ros (sleeper)
on 2006-04-27 13:04
(Received via mailing list)
Vincent Jauneau wrote :
| Sinon en langage fontionnel, tu as le caml (notamment Objective Caml) et
| Scheme qui sont pas mal utilisé (pour des langages fonctionnels). Car le
| SmallTalk contrairement à Lisp est un langage impératif et non fonctionnel.

Pour ce qui est de OCaml, c'est vraiment pas mal, mais comme pour
Haskell, j'accroche *vraiment* pas à la syntaxe.

--
Frederick Ros aka Sleeper -- sleeper@jabber.fr

"Even more amazing was the realization that God has Internet access.  I
wonder if He has a full newsfeed?"
(By Matt Welsh)
Ba00a402965da738f601b6367cf3224f?d=identicon&s=25 Bolo (Guest)
on 2006-04-27 13:21
(Received via mailing list)
> Je regarderais, merci.Mais il paraît que Io plante encore pas mal...
>

l IDE qui plante ou le lange.
Je vais faire des tit test cet aprem ( il encore tot pour moi :) )
58cea17287e2596e9238cf6722775ca5?d=identicon&s=25 Nicolas Paton (Guest)
on 2006-04-27 22:22
(Received via mailing list)
Le 27 avr. 06 à 04:23, Jean-François a écrit :

>> OO et l'entendu des possibilité OO que propose un langage. Là je peux
>> me tromper je ne suis pas une star de Java (ni Ruby à vrai dire) mais
>> il me semble que Ruby est OO de partout
>
> J'aime bien cette expression : "Ruby est OO de partout" :)
> (même en dessous des pieds ?)
>

Même derrière les oreilles ! C'est fou, non ?

>> avec les blocks (d'où viennent
>
>
> Java, je sais pas si ça a un intérêt dans un langage où les classes
> sont fermées.
>

Bon là ça va dégénèrer en affrontement de théories bidons des 2
côtés. Je m'en fout que Ruby soit plus ou moins OO que Java. Je sais
que Java ça m'emmerde, je trouve ça fastidieux, "verbose", moche à
lire, lourd, tout ce que tu veux. Que ceux qui aiment et y ont passé
10 ans ne le prennent pas mal, je n'ai simplement pas appris leur
langue et c'est simplement une question de goût qui ne se discute
pas. Java ou Ruby ne sont pas de moins bons langages simplement car
l'un d'entre nous ne l'aime pas. :)


>
>
>>>> langage !
>>>
>>> end
>>> ça dépend si tu utilises emacs...
>> temps complet, alors faire de la programmation sous lisp paraît
> Haskell est un langage fonctionnel, assez porté je crois
> sur les histoires de curryfication (mmmh je pourrais pas
> en dire plus)

Je creuserais.

> aspects (les continuations par exemple).
> langage pouvant utiliser des closures (fermetures) et des fonctions
> ou les écrire, est "impur". Un effet de bord est un effet inattendu
> exceptionsâ?¦) au
> sein d'un langage fonctionnel. Elles le font en "emmagasinant", en
> quelque
> sorte, les calculs en cours de traitement au sein de blocs
> séquentiels,
> eux-mêmes séquençables en calculs. Une monade détermine en quoi ces
> calculs combinés peuvent créer un nouveau calcul reprenant leurs
> traitements."
>
> Faut lire ça à tête reposée. Je vais pas tarder à méditer là dessus...

Je prendrais le temps à l'occasion. Merci pour le lien.


>> la langue.
>
> Ce qu'il y a en commun, ce sont les notions de lexique, de syntaxe
> (+ les ambiguïtés) notamment, mais pas celle du déboguage !
>

Mais si ! La relecture ! C'est comme le déboguage, c'est chiant ! :)

> bonne nuit,
>
>     -- Jean-François.
>

Bonjour !

NP
Eaa6c3d328a22f8b4d90c588dc3da86b?d=identicon&s=25 Régis Gaidot (Guest)
on 2006-04-27 22:22
(Received via mailing list)
>     non pas encore, juste lu des trucs dessus.
>     NP
>
>
> Mais avec on peut également faire des applications web. Il y a un
> framework web  écris en lio
> http://fr.wikipedia.org/wiki/Io_%28langage%29
En aparté : On pourrait citer énormément de langage avec leurs
évolutions, leurs défauts... aussi pour les curieux voici deux sites
intéressants sur les langages OO ou non ainsi que leurs dépendances

"Computer Languages History": http://www.levenez.com/lang/
"The Language List":
http://people.ku.edu/~nkinners/LangList/Extras/langlist.htm
842ca16cc27c2d898fa972eec3cbc116?d=identicon&s=25 unknown (Guest)
on 2006-04-28 09:38
(Received via mailing list)
Le site remarche de nouveau :)

J'en ai fait une copie sur mon blog:
http://rubyscube.blogspot.com/2006/04/rails-struct...

Par contre elle est peut-être pas à jour avec la dernière version de rails
(mais ça donne déjà l'idée générale)
F16def8015a7562a285c65a14be48540?d=identicon&s=25 Mathieu Chappuis (Guest)
on 2006-04-28 12:13
(Received via mailing list)
On 4/28/06, benjamin@anyware-tech.com <benjamin@anyware-tech.com> wrote:
> Le site remarche de nouveau :)
>
> J'en ai fait une copie sur mon blog:
> http://rubyscube.blogspot.com/2006/04/rails-struct...

C'est pas la question mais il y a aussi celle ci :

http://www.ilovejackdaniels.com/ruby_on_rails_chea...
Ba00a402965da738f601b6367cf3224f?d=identicon&s=25 Bolo (Guest)
on 2006-04-28 12:43
(Received via mailing list)
>
>
> C'est pas la question mais il y a aussi celle ci :
>
> http://www.ilovejackdaniels.com/ruby_on_rails_chea...
>
>
c'est la première qui a été donné :)
Ba00a402965da738f601b6367cf3224f?d=identicon&s=25 Bolo (Guest)
on 2006-04-29 00:24
(Received via mailing list)
voila j'ai commencé a faire une anti sèche en français.
http://www.independza.com/client/structure.png

j'aimerais votre aide pour l'améliorer et la completer
This topic is locked and can not be replied to.