dimanche 5 décembre 2010

django, rail3 comment démarrer



On va s'amuser avec les deux frameworks champions: django / python d'un coté et Rails3 / Ruby de l'autre.

Installation de django.

Avec django, il est est plus prudent d'utiliser la dernière version du logiciel. django se présente sous la forme d'une archive standard. Il s'installe en tapant dans le répertoire de l'archive:
python ./setup.py install

Installation de Rails3


L'utilisation de rvm est hautement recommandée.
La commande classique d'installation d'un gem:
rvm gem install rails
(j'ai utilisé la version 1.9.2 de Ruby sous rvm)
L'avantage de Rails est qu'il utilise le gem 'bundler' . Au démarrage d'une application, le fichier Gemfile listant les dépendances est lu et les gems manquants sont installés.



Création d'une application avec django

Django manipule la notion de projet et d'application. Un projet regroupe plusieurs applications.

La création du projet se fait par la commande :

/usr/local/bin/django-admin.py startproject djgolfare


Cette commande crée un répertoire au nom du projet. Ce répertoire contient un programme manage.py qui permet d'ajouter des applications par:

python ./manage.py startapp tableboard

L'arborescence sera de la forme :




Création d'une application avec Rails3

La commande à passer est :
rails new r3golfare

Une série de fichier et de répertoire est générée:



Configuration de la base de donnée pour django

Toute la configuration est contenue dans le fichier settings.py. C'est donc de la syntaxe python.


12 DATABASES = {
13 'default': {
14 'ENGINE': 'sqlite3', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
15 'NAME': '/usr/local/djgolfare/essai', # Or path to database file if using sqlite3.
16 'USER': '', # Not used with sqlite3.
17 'PASSWORD': '', # Not used with sqlite3.
18 'HOST': '', # Set to empty string for localhost. Not used with sqlite3.
19 'PORT': '', # Set to empty string for default. Not used with sqlite3.
20 }
21 }
22

Configuration de la base de donnée pour Rails


Un fichier database.yml se trouve dans le répertoire 'config'
Rails utilise le format YAML pour ces fichiers de configuration


 1 # SQLite version 3.x
2 # gem install sqlite3-ruby (not necessary on OS X Leopard)
3 development:
4 adapter: sqlite3
5 database: db/development.sqlite3
6 pool: 5
7 timeout: 5000
8
9 # Warning: The database defined as "test" will be erased and
10 # re-generated from your development database when you run "rake".
11 # Do not set this db to the same as development or production.
12 test:
13 adapter: sqlite3
14 database: db/test.sqlite3
15 pool: 5
16 timeout: 5000
17
18 production:
19 adapter: sqlite3
20 database: db/production.sqlite3
21 pool: 5
22 timeout: 5000


La base est déclinée en trois instance, une pour chaque environnement.


Le détail du répertoire config est ici :



Lancement de l'application django

 1 >python ./manage.py syncdb
2 No fixtures found.
3 >python ./manage.py runserver
4 Validating models...
5 0 errors found
6
7 Django version 1.2.3, using settings 'djgolfare.settings'
8 Development server is running at http://127.0.0.1:8000/
9 Quit the server with CONTROL-C.
10


Lancement d'un application Rails3


32 root@eric-1001PX:/usr/local/r3golfare# rails s
33 => Booting WEBrick
34 => Rails 3.0.3 application starting in development on http://0.0.0.0:3000
35 => Call with -d to detach
36 => Ctrl-C to shutdown server
37 [2010-12-04 17:21:17] INFO WEBrick 1.3.1
38 [2010-12-04 17:21:17] INFO ruby 1.8.7 (2010-08-16) [i686-linux]
39 [2010-12-04 17:21:22] INFO WEBrick::HTTPServer#start: pid=2639 port=3000
40

Dans un autre post, je détaillerai la mise en place d'un patron CRUD dans ces deux frameworks.

Aucun commentaire: