Add link to installation in front page.
authorSandrine Ribeau <sandrine.ribeau@logilab.fr>
Wed, 12 Nov 2008 14:48:08 -0800
changeset 40 0857f1fd76cf
parent 39 73a25e46d3a9
child 41 298df3d3116c
Add link to installation in front page. A little cleaning in installation section, but still needs improvments.
doc/devmanual_fr/chap_mise_en_place_environnement.txt
doc/devmanual_fr/sect_creation_instance.txt
doc/devmanual_fr/sect_installation.txt
doc/index.txt
--- a/doc/devmanual_fr/chap_mise_en_place_environnement.txt	Wed Nov 12 12:20:56 2008 -0800
+++ b/doc/devmanual_fr/chap_mise_en_place_environnement.txt	Wed Nov 12 14:48:08 2008 -0800
@@ -1,96 +1,17 @@
-Mise en place d'un environnement de développement Erudi
-=======================================================
+.. -*- coding: utf-8 -*-
+
+.. _MiseEnPlaceEnv:
+
+Installation et mise en place d'un environnement `CubicWeb`
+===========================================================
+
+
 
 .. toctree::
    :maxdepth: 1
 
-   sect_mercurial.txt
    sect_installation.txt
+   sect_creation_instance.txt
    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
-  erudi-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
-`erudi-ctl list` dans la section *Available components*, si ce n'est pas le cas
-revoir la section `Configuration de l'environnement`_.
-
-Pour utiliser un composant, il faut le mentionner dans la variable
-__use__ du fichier __pkginfo__ de l'application. Cette variable
-contrôle à la fois le packaging de l'application (dépendances gérées
-par les utilitaires système comme les outils APT) et les composants
-effectivement utilisables lors de la création de la base
-(import_erschema('Moncomposant') ne fonctionne pas sinon).
-
-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 ::
-
-  erudi-ctl create -c all-in-one moncomposant moninstance
+   sect_mercurial.txt
 
-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 erudi. Lorsque
-l'application erudi 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
-`erudi-ctl create` vous demande un login/mot de passe `manager` pour erudi, il
-s'agit d'un utilisateur qui sera créé dans l'application `erudi` 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/erudi.d/moninstance/*. Pour la lancer, il suffit de taper ::
-
-  erudi-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 ::
-
-  erudi-ctl stop moninstance
-
-Voilà, tout est en place pour démarrer le développement du modèle...
-
-
-Utilisation de erudi-liveserver
--------------------------------
-
-Afin de tester rapidement un nouveau composant, on peut également
-utiliser le script `erudi-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::
-
-  erudi-liveserver moncomposant
-
-ou bien, pour utiliser une base de données existante (SQLite ou postgres)::
-
-  erudi-liveserver -s monfichier_sources moncomposant
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/doc/devmanual_fr/sect_creation_instance.txt	Wed Nov 12 14:48:08 2008 -0800
@@ -0,0 +1,127 @@
+.. -*- coding: utf-8 -*-
+
+===================================
+Creation de votre premiere instance
+===================================
+
+
+Qu'est-ce qu'une instance?
+==========================
+
+Une instance CubicWeb consiste en un dossier situe dans ``~/etc/cubicweb.d``
+qui permettra de lancer une application web. Une instance est cree a partir
+d'un ou plusieurs cubes.
+
+Nous recommandons de ne pas definir de schema, entites ou vues dans l'instance 
+meme si cela est possible dans un but de re-utilisabilite des entities et de leurs
+vues. Nous conseillons plutot de developper des cubes qui pourront par la suite
+etre utilises dans d'autres instances (approche modulaire).
+
+L'instance n'est qu'un conteneur referrant a des cubes et a des parametres
+des configuration de l'application web.
+
+Qu'est-ce qu'un cube?
+=====================
+
+Un cube definit des entities, leur vues, leur schemas et leur workflow 
+dans un repertoire independant situe dans ``/path/to/forest/cubicweb/cubes/``.
+
+Lors de la creation d'une instance, vous avez la possibilite de lister
+le ou les cubes que votre instance va utiliser. Utiliser un cube signifie
+avoir a disposition dans votre instance les entites definies dans le schema
+de votre cube ainsi que les vues et les workflows.
+
+
+.. note::
+   Les commandes utilisees ci-apres sont detaillees dans la section
+   dediee a :ref:`cubicweb-ctl`.
+
+
+Création d'un cube
+==================
+
+Commençons par créer un squelette qui nous servira de base au développement de
+notre cube ou application ::
+
+  cd ~/hg
+
+  cubicweb-ctl newtemplate moncube
+
+  # répondre aux questions
+  hg init moncube
+  cd moncube
+  hg add .
+  hg ci
+
+A partir de là si tout va bien, votre cube devrait être affiché par
+`cubicweb-ctl list` dans la section *Available components*, si ce n'est pas le cas
+revoir la section :ref:`ConfigurationEnv`.
+
+
+Pour utiliser un cube, il faut le mentionner dans la variable
+__use__ du fichier __pkginfo__ de l'application. Cette variable
+contrôle à la fois le packaging de l'application (dépendances gérées
+par les utilitaires système comme les outils APT) et les composants
+effectivement utilisables lors de la création de la base
+(import_erschema('Moncomposant') ne fonctionne pas sinon).
+
+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 -c all-in-one moncube 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'utiliser l'utilisateur créé lors de la
+:ref:`ConfigurationPostgres`.
+
+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 cube, 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-ctl live-server moncomposant
+
+ou bien, pour utiliser une base de données existante (SQLite ou postgres)::
+
+  cubicweb-ctl live-server -s monfichier_sources moncomposant
+
--- a/doc/devmanual_fr/sect_installation.txt	Wed Nov 12 12:20:56 2008 -0800
+++ b/doc/devmanual_fr/sect_installation.txt	Wed Nov 12 14:48:08 2008 -0800
@@ -6,9 +6,38 @@
 
 Installation de Cubicweb et de ses dépendances
 ----------------------------------------------
-[TODO]
-Decrire l'installation de la foret mercurial plutot qu'avec
-les paquets debian
+
+`CubicWeb` est disponible via un entrepôt Mercurial utilisant l'extension forest.
+Vous devez donc dans un premier temps vous assurer que Mercurial est bien installé
+et que vous avez l'extension forest.
+
+Installation de Mercurial
+`````````````````````````
+Veuillez vous référer a la documentation en ligne du projet Mercurial_.
+
+.. _Mercurial: http://www.selenic.com/mercurial/wiki/
+
+Installation de l'extension forest
+``````````````````````````````````
+Dans un premier temps, récupérez une copie des sources via: http://hg.akoha.org/hgforest/.
+Ensuite, ajoutez a votre ``~/.hgrc`` les lignes suivantes ::
+
+   [extensions]
+   hgext.forest=
+   # or, if forest.py is not in the hgext dir:
+   # forest=/path/to/forest.py
+
+
+Installation de Postgres
+````````````````````````
+Veuillez vous référer a la documentation en ligne du projet Postgres_.
+
+.. _Postgres: http://www.postgresql.org/
+
+
+[FIXME]
+Supprimer tout ce qui fait reference a l'installation des paquets debian des
+que le fclone sur logilab.org fonctionne.
 
 Tout le système `Cubicweb` est préparé pour l'installation sur une machine
 debian. L'installation manuelle est un peu pénible du fait des nombreuses
@@ -38,8 +67,11 @@
 * `postgresql-8.1`, `postgresql-contrib-8.1` et `postgresql-plpython-8.1` la
   machine devant héberger la base de données système
 
+.. _ConfigurationEnv:
+
 Configuration de l'environnement
 --------------------------------
+
 [FIXME]
 Ces variables ne sont plus requises pour le bon fonctionnement de `CubicWeb`, non?
 A part rajouter la foret dans le PYTHONPATH, rien de plus ne doit etre fait?
@@ -55,6 +87,7 @@
 sous-répertoire de *~/hg/* et que vous avez créé le répertoire *~/etc/erudi.d/*
 pour que `cubicweb-ctl` y place vos instances de test.
 
+.. _ConfigurationPostgres:
 
 Configuration Postgres
 ----------------------
--- a/doc/index.txt	Wed Nov 12 12:20:56 2008 -0800
+++ b/doc/index.txt	Wed Nov 12 14:48:08 2008 -0800
@@ -31,6 +31,9 @@
 En 2008, `CubicWeb` a été porté pour GoogleAppEngine_ et a donné naissance
 à `LAX`, `Logilab Appengine eXtension`.
 
+
+Pour les impatients, :ref:`MiseEnPlaceEnv`.
+
 .. _Logilab: http://www.logilab.fr/
 .. _GoogleAppEngine: http://code.google.com/appengine/