goa/doc/devmanual_fr/chap_mise_en_place_environnement.txt
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Mon, 21 Dec 2009 20:27:14 +0100 (2009-12-21)
changeset 4170 c325c62cec8e
parent 0 b97547f5f1fa
permissions -rw-r--r--
crecord introduced junk...
Mise en place d'un environnement de d�veloppement CubicWeb
=======================================================

.. include:: sect_mercurial.txt
.. include:: sect_installation.txt
.. include:: sect_cubicweb-ctl.txt



Cr�ation d'un composant
-----------------------
Commen�ons par cr�er un squelette qui nous servira de base au d�veloppement de
notre composant ou application ::

  cd ~/hg
  cubicweb-ctl newtemplate moncomposant
  # r�pondre aux questions
  hg init moncomposant
  cd moncomposant
  hg add .
  hg ci

A partir de l� si tout va bien, votre composant devrait �tre affich� par
`cubicweb-ctl list` dans la section *Avaible components*, si ce n'est pas le cas
revoir la section `Configuration de l'environnement`_.


Cr�ation d'une instance de d�veloppement
----------------------------------------

Maintenant que nous avons notre squelette de mod�le, on peut en cr�er une
instance afin de voir ce que tout �a donne dans un simple navigateur web.
Nous allons utiliser une configuration `all-in-one` afin de simplifier les
choses ::

  cubicweb-ctl create all-in-one moncomposant moninstance

Une s�rie de questions vont �tre pos�es, la r�ponse par d�faut est g�n�ralement
suffisante. Vous pourrez de toute fa�on modifier la configuration par la suite
en �ditant les fichiers g�n�r�s. Lorsqu'un login/mot de passe d'acc�s au sgbd
vous est demand�, il est recommand� d'utilis� l'utilisateur cr�� lors de la
`Configuration Postgres`_.

Il est important de distinguer ici l'utilisateur utilis� pour acc�der au sgbd,
et l'utilisateur utilis� pour s'authentifier dans l'application cubicweb. Lorsque
l'application cubicweb d�marre, elle utilise le login/mot de passe sgdb pour
r�cup�rer le sch�ma et g�rer les transactions bas-niveau. En revanche, lorsque
`cubicweb-ctl create` vous demande un login/mot de passe `manager` pour cubicweb, il
s'agit d'un utilisateur qui sera cr�� dans l'application `cubicweb` pour pouvoir
s'y connecter dans un premier temps et l'administrer. Il sera par la suite possible
de cr�er des utilisateurs diff�rents pour l'application.

A l'issue de cette commande, la d�finition de votre instance se trouve dans
*~/etc/cubicweb.d/moninstance/*. Pour la lancer, il suffit de taper ::

  cubicweb-ctl start -D moninstance

L'option `-D` indique le *debug mode* : l'instance ne passe pas en mode serveur
et ne se d�connecte pas du terminal, ce qui simplifie le d�pannage en cas de non
d�marrage de l'instance. Vous pouvez ensuite allez voir ce que �a donne en
pointant votre navigateur sur l'url `http://localhost:8080` (le n� de port
d�pend de votre configuration). Pour vous authentifier vous pouvez utiliser le
login/mot de passe administrateur que vous avez sp�cifi� lors de la cr�ation de
l'instance.

Pour arr�ter l'instance, un Ctrl-C dans la fen�tre o� vous l'avez lanc�
suffit. Si l'option `-D` a �t� omise, il faut taper ::

  cubicweb-ctl stop moninstance

Voil�, tout est en place pour d�marrer le d�veloppement du mod�le...


Utilisation de cubicweb-liveserver
-------------------------------

Afin de tester rapidement un nouveau composant, on peut �galement
utiliser le script `cubicweb-liveserver` qui permet de cr�er une
application en m�moire (utilisant une base de donn�es SQLite par
d�faut) et la rendre accessible via un serveur web::

  cubicweb-liveserver moncomposant

ou bien, pour utiliser une base de donn�es existante (SQLite ou postgres)::

  cubicweb-liveserver -s monfichier_sources moncomposant