# HG changeset patch # User Sandrine Ribeau # Date 1226530088 28800 # Node ID 0857f1fd76cff8b39012e10cc9d3332bb0b35c48 # Parent 73a25e46d3a9c8aca7fe24e9a9532ba0a52ed578 Add link to installation in front page. A little cleaning in installation section, but still needs improvments. diff -r 73a25e46d3a9 -r 0857f1fd76cf doc/devmanual_fr/chap_mise_en_place_environnement.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 - diff -r 73a25e46d3a9 -r 0857f1fd76cf doc/devmanual_fr/sect_creation_instance.txt --- /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 + diff -r 73a25e46d3a9 -r 0857f1fd76cf doc/devmanual_fr/sect_installation.txt --- 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 ---------------------- diff -r 73a25e46d3a9 -r 0857f1fd76cf doc/index.txt --- 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/