n'hésitez pas à ajouter une page ici si vous le jugez utile...
Bonjour à tous,
Vous trouverez ici les slides au format PDF de toutes les présentations ayant eu lieu lors de Paris on Rails 2006.
Laurent Julliard - Introduction Ruby (817 Ko)
Pierre-Loïc Raynaud - Enseignements d'une prestation en Rails (shopping.nouvelobs.com) (2,6 Mo)
Éric Daspet - Introduction à Rails (1,01 Mo)
Sébastien Gruhier - AJAX et RJS (3,13 Mo)
Christophe Porteneuve - SimplyRestful, ActiveResource et SimplyHelpful (278 Ko)
Laurent Jacot et Pierre Marchet - Applications Métier on Rails (685 Ko)
François Simond - Hébergement haute disponibilité (633 Ko)
Bonne Lecture
--
Richard Piacentini
http://paris.onrails.info | http://www.railsfrance.org/
Comme pour la première édition, Eyrolles a eu la gentillesse de fournir quelques chapitres au format PDF, vous pouvez les télécharger ci-dessous ou directement sur le site des éditions Eyrolles.
Bonne lecture !
--
Richard Piacentini
http://www.railsfrance.org/ | http://forum.parisonrails.org
Bonjour à tous,
La bible du railer est désormais disponible en français aux éditions Eyrolles.
Ce fut un réel plaisir de travailler sur ce projet avec Laurent Julliard (laurent AT moldus.org), Chief Architect chez Xerox et Eric Sulpice, Editorial Manager chez Eyrolles, et ce malgré un nombre incalculable de nuits sans sommeil, des hectolitres de café et un 24 décembre, jour de la remise des copies, plutôt agité ;-)
Les exemples de code et l'étude de cas (application dépôt) ont été validés avec la version 1.0 de rails et le code source accompagnant le livre a de même été regénéré avec rails 1.0.
Bonne Lecture !!
--
nuxygen
Visualisez toutes les dates de sorties des differentes version de Ruby on Rails entre Juillet 2004 (v 0.5.0) et Aout 2006 (1.1.6).
http://www.avabloga.com/content/img/evo_ror.jpg
Voici la liste des articles de Curt Hibbs, traduits en français par l'équipe de RailsFrance et disponibles en téléchargement au format PDF:
Rolling with Rails partie 1 (v0.9)
Rolling with Rails partie 2 (v0.7)
Voici la liste des articles de Stefan Kaes, traduits en français par l'équipe de RailsFrance et disponibles en téléchargement au format PDF:
Kaes-posts-123-v02.pdf
[traduction des articles: Speeding up the creation of new sessions, session :off!, Accelerate your dates]
Kaes-posts-trim-your-output.pdf
[traduction de l'article: Trim your output]
En me guidant sur les instructions disponibles ici (http://wiki.rubyonrails.com/rails/pages/HowToGenerateChmForRails/versions/2) j'ai généré un CHM pour rails 1.0
Comme c'est assez long à produire (en temps machine) je le met en ligne pour les impatients :)
Cette archive contient, en plus du CHM une arborescence de fichiers HTML qui présentent le code colorisé correspondant au méthodes.
Remarquez le code des méthodes qui s'affiche dans une fenêtre séparée si on clique sur la méthode, génial !
En espérant que ce sera utile à certains.
P.S : Pour ceux qui préfèrent générer eux-mêmes, j'ai remarqué que la commande rdoc -f chm -o chm_folder action* rails-* finit toujours par échouer, par contre la première qui spécifie les versions fonctionne.
DEVELOPPEUR WEB (H/F)
MISSIONS
Dans le cadre du développement de notre société, nous recherchons un développeur web pour renforcer l'équipe de développement web de nos produits massivement multi-joueurs.
Rattaché à l'équipe de développement web, vous participerez à la conception et au développement des sites web de nos produits communautaires et massivement multi-joueurs de Mimesis. Vous devrez collaborer avec les autres équipes techniques (plateforme, game play 3D) et plus précisément participer à l'effort d'intégration de notre expérience communautaire 3D au sein des réseaux sociaux (Facebook, Buzz, ...).
PROFIL DE CANDIDAT
FORMATION / COMPETENCES TECHNIQUES / EXPERIENCE
• maîtrise du développement web HTML/CSS
• Très bonne maîtrise du Javascript
• maîtrise Ruby on Rails
• connaissance des développements d'applications Facebook
• maîtrise des environnements UNIX/Linux
QUALITES
• Capacité à écouter et à communiquer dans une équipe polyvalente.
• Autonome dans ses objectifs, proactif.
• Recherche du challenge, prét à apprendre et à élargir ses compétences.
• Passionné, enthousiaste, honnête et capable de créativité dans les solutions qu'il propose
• Bon niveau d'anglais
• Culture générale et curiosité intellectuelle.
SOCIETE
MIMESIS REPUBLIC est une entreprise française en fort développement et à la pointe des technologies pluri média (Web, musique et jeu vidéo). Elle bénéficie d’un management expérimenté à l’origine de nombreux blockbusters dans le monde de l’Entertainment depuis plus de 15 ans, notamment dans le secteur du jeu vidéo et de la musique.
Nos équipes conçoivent, imaginent, réalisent et exploitent des projets interactifs et communautaires en association avec les principaux Majors du divertissement d’aujourd’hui et de demain.
Chez MIMESIS REPUBLIC, chaque employé fonctionne sur un mode dynamique, solidaire et enthousiaste permettant à chacun de s’exprimer et d’évoluer dans le cadre de ses domaines de compétence.
Vous êtes intéressé ? Alors n’hésitez pas à envoyer votre candidature, CV/ lettre de motivation et prétentions, à : job@mimesis-republic.com. Nous ferons suite dans les plus brefs délais. Dans le titre du message, merci d'indiquer < DEVELOPPEUR WEB >
Bonjour,
ma société est à la recherche d'un profil analyste/développeur ruby et rails confirmé pour une mission sur Toulouse.
On recherche quelqu'un sensible à l'univers du logiciel libre ayant l'habitude de travailler sur GNU/Linux (Debian de préférence). Les autres compétences souhaitées sont de bonnes connaissances de SVN et Doxygen.
L'objectif est de travailler sur des plugins Redmine, le moteur de base de données utilisé est MySql.
Vous pouvez me contacter à l'adresse carta.0476@apside.net pour me transmettre votre cv ou bien pour toute demande d'information complémentaire.
Guillaume Carta.
Ces fonds d'écran, sous licence creative commons, ont été réalisés par ekinox de l'équipe RailsFrance, en espérant qu'ils vous plairont.
En espérant qu'il celui-la vous plaira également
Fond d'écran railsfrance en 1024x768
Bonjour à tous,
nous travaillons chez thinkDRY sur un CMS 2.0 OpenSource, la BlankApplication. Après un an de travail et d'implémentation pour différents clients, nous avons achevé le développement du coeur de l'application. Pour la rendre totalement modulaire, faciliter les développements de la communautés et suivre l'exemple des meilleurs projets OpenSource Rails du moment (Radiant, Spree), nous souhaitons mettre en place un mécanisme d'extensions (http://spreecommerce.com/documentation/extensions.html). Les engines sont a priori la meilleure façon de réaliser cela.
Cependant, lors de la création de la premiere extension nous avons été confronté à un principe de chargement qui veut que ce soit les controllers/models/vues de l'application principale qui "surdéfinissent" ceux présent dans les engines. Or comme notre coeur est dans l'application principale... ajouter des engines ne permet pas d'étendre les fonctions natives.
Je pensais pouvoir inverser cette règle avec des Dependencies:load_path mais après 2jours de recherche sur le web, je n'ai toujours pas de solution. J'ai bien essayé de faire une tache rake d'install déplacant les fichiers du coeur mais bonjour les conflits dans git et la maintenabilité à terme !!
Avez-vous une idée, une piste?
--
VS
Original post: http://www.ruby-forum.com/topic/201694#878262
Note: www.blankapplication.org to get the release 1.0.4. V1.1 coming
this month
Dossier complet et simple pour enfin comprendre ce qu'est le Ruby on Rails, ses enjeux, ses avantages...
Au sommaire :
* Un peu d’histoire sur Ruby pour commencer
* Ruby ok ça a un joli nom, mais c’est quoi ?
* De Ruby vers Ruby on Rails (RoR)
* Concrètement ça sert à quoi ?
* L’un des plus gros avantages : la productivité imbattable
* Quel environnement de travail ?
* Un exemple de code
* Facile de passer de PHP, ou Java vers RoR ?
* Qui utilise déjà ce nouveau langage ?
* En conclusion…
* Sélection à lire sur Ruby on Rails
==> voir le dossier
De nombreuses applications sont conçues autour du framework Rails, reconnu pour son efficacité dans les phases de développement. Le site www.yellowpages.com, est un des exemples les plus connus, développé avec RoR, mais de grandes entreprises utilisent également Rails pour leur système d'information interne : c'est le cas de Sony, par exemple.
L'industrialisation d'une application Rails est beaucoup moins connue : c'est d'autant plus dommage, que Rails offre toutes les facilités pour tester, déployer, et maintenir les applications avec une efficacité à toute épreuve.
Afin de pouvoir faire le point sur tous ces aspects, et de poser vos questions à un expert du domaine, Pythagore F.D. et Novelys, vous invitent à un séminaire gratuit le 20 Mai 2010 de 9h30 à 12h30.
Le déroulement de cette demi-journée sera le suivant :
- Rappels sur Ruby On Rails
- Chaîne de production rails :
Tests unitaires et intégration continue
Déploiement
Intégration dans les méthodes agiles
Maintenance
- Démonstration sur un exemple : Applications Rails de la Ville de Dieppe
- Questions/réponses
Ce séminaire sera animé par Yann Klis, de la société Novelys, spécialiste du développement Web et expert Ruby On Rails.
________________________________________________________________________________________________
Novelys développe depuis 2005 des applications web innovantes. Nous accompagnons et nous guidons les porteurs de projet dans chacune des étapes du développement, depuis la conception jusqu'à la maintenance à long terme.
Nous pouvons vous fournir une partie de l'équipe technique ou prendre en charge complètement le développement de votre application web, que ce soit au forfait ou en régie.
http://www.novelys.com/ - Des ingénieurs logiciels au service du développement web.
__________________________________________________________________________________________________
Pythagore F.D., est un centre de formation en nouvelles technologies, et propose une offre très étendue de formations sur les solutions opensource : Linux, Apache, JBoss, Nagios, Centreon, Glpi, ....
Pythagore F.D. propose des formations Ruby On Rails depuis 2007 : la prochaine formation Ruby On Rails aura lieu du 31 Mai au 2 juin. Cette formation peut être suivie dans le cadre du DIF.
Pour voir le programme des formations , http://www.pythagore-fd.fr.
Pour vous inscrire gratuitement au séminaire du 20 Mai,
contactez-nous au 01 55 33 52 10, ou par mail pfd@pythagore-fd.fr
Lieu : 11, rue du Faubourg Poissonnière, Paris
J'ai parfois à trier des listez objets sur un champ d'un objet (un objet qui contient un objet etc...) imbriqué, pour cela j'utilise dans le Objetrecherches.find(:all,:include[:objets1,:objets2],:conditions,:order "method1.method2")
avec Mysql cela fonctionne bien, mais avec Oracle la syntaxe générée n'est pas comprise par Oracle ? je ne sais pas bien pourquoi (il semble qu'il n'aime pas Left Outer Join ?).
alors j'ai écris un truc qui trie des objets ainsi:
@tableautrie=triimbriquesimple(Objetsrecherche.find(:all,:conditions))
avec
# va trier avec un critere ainsi rédigé "method1.method2.method3")
# ainsi je peux trier sur un champ quelconque d'un des objets imbriqués ?
def triimbriquesimple(hashnontrie,critere)
tabmethod=Array.new
tabmethod=critere.split(".")
hashatrie=Hash.new
tabtrie=Array.new
i=0
hashnontrie.each do |object|
objetcourant=object
tabmethod.each do |arg|
objetcourant=objetcourant.send(arg)
end
hashatrie[objetcourant.to_s+i.to_s]=object
i=i+1
end
hash=hashatrie.sort
hash.each do |key,value|
tabtrie.push(value)
end
return tabtrie
end
Beaucoup de tutoriel sont apparues sur Ruby On Rail, mais beaucoup de ceux que j'ai lu était incomplet et ne précisait pas assez les étapes pour les novices.
J'ai donc écrit un tutoriel pour l'installation sous linux (inspiré sur notre bible à tous, Ruby on Rails, édition Eyrolles), détaillant l'installation sous linux et surtout en précisant quelques astuces qui ne sont pas mentionnées dans ce livre.
Je vous communique le lien:
http://www.lanforums.com/tutorial-24_ruby_on_rails-_1_-_introduction_et_installation.html
Bien sur ce n'est qu'un début, étant novice moi-même. Mais petit à petit quelques tutoriaux apparaitront, je mettrai à jour cette contribution lors des nouvelles mises à jour du tutoriel.
Voila bien entendu tout les retours et remarques sont les bienvenues (c'est d'ailleurs le but de ce message) par MP ou commentaires.
Merci.
Créer son forum sous Rails (ou quelque chose qui pourra peut etre un jour y ressembler).
Pour commencer je suis débutant en édition internet et donc sur rails aussi, j'ai pensé que le fait de faire un chtit tutorial pourrait m'aider a faire les choses correctement et peut etre recevoir un peu d'aide si je me plante completement dans la conception.
Apprendre rails n'est pas si aisé que ca... Il faut y aller petit a petit, sortir du copier coller de tutoriels déjà tout faits est assez hardu... Donc je vais essayer ici de montrer les étapes clefs (en tout cas ce que j'en ai compris a travers mes différentes lectures).
Partie 1: definir ce que l'on veut faire.
On l'oublie souvent lorsqu'on est débutant et c'est pourtant la phase la plus importante!
L'objet de ce tutorial est de créer un forum, (pas un trop compliqué quand meme...) j'entends par ca :
la creation de salles de discution (seulement par l'administrateur)
la creation de sujets dans ces salles par les internautes
l'ajout de posts dans les sujets par les internautes
Pour cela il va falloir avoir un systeme d'authentification basique, j'ai choisi d'utiliser le plugin de rails act_as_authentificated; pour le reste il faut un peu d'huile de coudes...
Partie 2: création du projet et configuration
Désolé mais je ferais l'impasse sur l'installation de rails, d'autres l'expliquent bien mieux que je ne pourrais le faire (par exemple http://blog-perso.onzeweb.info/2006/12/16/rails-mongrel-apache-ubuntu-production/ sur ubuntu ou « googelez » le et je suis sur que vous trouverez tout ce qu'il faut)
Je commence par le début:
Créer un projet
orfeu@CasseTeteChinois:~$ rails test
create
create app/controllers
create app/helpers
create app/models
create app/views/layouts
create config/environments
.
. c'est la liste des dossiers et fichiers créés
.
create log/development.log
create log/test.log
orfeu@CasseTeteChinois:~$ cd test
orfeu@CasseTeteChinois:~/test$ ls
app config doc log Rakefile script tmp
components db lib public README test vendor
La commande rails crée un projet vide, et tout est intégré...
Pour démarrer le serveur:
orfeu@CasseTeteChinois:~/test$ script/server
=> Booting WEBrick...
=> Rails application started on http://127.0.0.1:3000
=> Ctrl-C to shutdown server; call with --help for options
[2007-05-06 11:58:45] INFO WEBrick 1.3.1
[2007-05-06 11:58:45] INFO ruby 1.8.5 (2006-08-25) [i486-linux]
[2007-05-06 11:58:45] INFO WEBrick::HTTPServer#start: pid=5413 port=3000
Comme il est écrit ci dessus, un server WEBrick est démarré, sur le port 3000. Donc normalement si vous utilisez votre navigateur internet préféré à l'adresse http://localhost:3000 vous devez tomber sur une page disant que vous avez un nouveau projet rails mais qu'il est vide, il ne reste plus qu'a le remplir...
Pour configurer la base de données,dans le fichier config/database.yml, trouvez la section:
development:
adapter: mysql # type de base de données
database: test_development #nom de la base dont rails va se servir
username: rails
password: pourquoi
host: localhost
Vous aurez a créer la base de données et l'utilisateur:
orfeu@CasseTeteChinois:~/test$ mysql -u root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 15
Server version: 5.0.38-Ubuntu_0ubuntu1-log Ubuntu 7.04 distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database test_development;
Query OK, 1 row affected (0.00 sec)
mysql> create user 'rails'@'localhost' identified by 'pourquoi';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on test_development.* to 'rails'@'localhost';
Query OK, 0 rows affected (0.00 sec)
Partie 3: le modele
Creation du système d'authentification
Pour cela comme je l'ai dis precedemment on va utilisetr act-as authentificated, pour avoir toutes les information de son fonctionnement voici le site:
http://technoweenie.stikipad.com/plugins/show/Acts+as+Authenticated
le système des plugins est assez simple, pour ajouter le plugin au projet courant:
orfeu@CasseTeteChinois:~/test$ script/plugin source http://svn.techno-weenie.net/projects/plugins
Added 1 repositories.
orfeu@CasseTeteChinois:~/test$ script/plugin install acts_as_authenticated
/usr/lib/ruby/1.8/open-uri.rb:211: command not found: svn ls svn://rubyforge.org/var/svn/expressica/plugins/
+ ./acts_as_authenticated/CHANGELOG
+ ./acts_as_authenticated/README
+ ./acts_as_authenticated/generators/authenticated/USAGE
... liste des fichiers installés
Le plugin est maintenant intallé, il contient des générateurs dont on va se servir pour créer un systeme d'authentification:
orfeu@CasseTeteChinois:~/test$ script/generate authenticated user account
exists app/models/
exists app/controllers/
exists app/helpers/
create app/views/account
exists test/functional/
exists test/unit/
create app/models/user.rb
create app/controllers/account_controller.rb
create lib/authenticated_system.rb
create lib/authenticated_test_helper.rb
create test/functional/account_controller_test.rb
create app/helpers/account_helper.rb
create test/unit/user_test.rb
create test/fixtures/users.yml
create app/views/account/index.rhtml
create app/views/account/login.rhtml
create app/views/account/signup.rhtml
create db/migrate
create db/migrate/001_create_users.rb
Creation du modèle du forum
Nous allons créer trois modèles: room, subject et post
orfeu@CasseTeteChinois:~/test$ script/generate model room;script/generate model subject;script/generate model post;
exists app/models/
exists test/unit/
exists test/fixtures/
create app/models/room.rb
create test/unit/room_test.rb
create test/fixtures/rooms.yml
exists db/migrate
create db/migrate/002_create_rooms.rb
exists app/models/
exists test/unit/
exists test/fixtures/
create app/models/subject.rb
create test/unit/subject_test.rb
create test/fixtures/subjects.yml
exists db/migrate
create db/migrate/003_create_subjects.rb
exists app/models/
exists test/unit/
exists test/fixtures/
create app/models/post.rb
create test/unit/post_test.rb
create test/fixtures/posts.yml
exists db/migrate
create db/migrate/004_create_posts.rb
rails a ici créé des modeles vides, il faut les remplir...
db/migrate/002_create_rooms.rb
class CreateRooms < ActiveRecord::Migration
def self.up
create_table :rooms do |t|
t.column :name, :string
t.column :description, :string
end
end
end
db/migrate/003_create_subjects.rb
class CreateSubjects < ActiveRecord::Migration
def self.up
create_table :subjects do |t|
t.column :name, :string
t.column :created_on, :date
t.column :updated_on, :datetime
t.column :description, :string
end
execute "alter table subjects
add constraint fk_room
foreign key (room_id) references rooms(id)"
end
end
db/migrate/004_create_posts.rb
class CreatePosts < ActiveRecord::Migration
def self.up
create_table :posts do |t|
t.column :subject_id, :int
t.column :user_id, :int
t.column :created_on, :datetime
t.column :content, :string
end
execute "alter table posts
add constraint fk_subject
foreign key (subject_id) references subjects(id)"
execute "alter table posts
add constraint fk_user
foreign key (user_id) references users(id)"
end
Maintenant que nous avons achevé la création du modèle coté bdd, nous pouvons les insérer dans la base de données avec l'outil rake :
orfeu@CasseTeteChinois:~/test$ rake db:migrate
(in /home/orfeu/test)
== CreateRooms: migrating =====================================================
-- create_table(:rooms)
-> 0.3495s
== CreateRooms: migrated (0.3496s) ============================================
== CreateSubjects: migrating ==================================================
-- create_table(:subjects)
-> 0.0335s
== CreateSubjects: migrated (0.0337s) =========================================
== CreatePosts: migrating =====================================================
-- create_table(:posts)
-> 0.0592s
== CreatePosts: migrated (0.0594s) ============================================
== CreateUsers: migrating =====================================================
-- create_table("users", {:force=>true})
-> 0.0617s
== CreateUsers: migrated (0.0621s) ============================================
Maintenant que nous avons implémenté notre modèle dans notre base de données, nous allons le faire du coté application. Rails utilise activerecord pour mettre en relation la base de données relationnelle et les objets ruby.
Les modifications:
app/model/room.rb
class Room < ActiveRecord::Base
has_many :subject
end
app/model/subject.rb
class Subject < ActiveRecord::Base
belongs_to :room
has_many :post
end
app/model/post.rb
class Post < ActiveRecord::Base
belongs_to :user
belongs_to :subject
end
et l'ajout de
has_many :post
dans app/model/user.rb
nous permettent de faire comprendre les dépendance entre les objets à l'application.