goa/doc/devmanual_fr/sect_installation.txt
author Julien Jehannet <Julien Jehannet <julien.jehannet@logilab.fr>>
Tue, 02 Mar 2010 21:48:36 +0100
branchstable
changeset 4783 6dc34d4cf892
parent 0 b97547f5f1fa
permissions -rw-r--r--
[F] views: fix 2 unicode errors 1. You can now use valid unicode strings in ValidationError exception. Previously, if 'err' contains unicode, UnicodeDecodeError was raised by format_errors() >>> templstr = '<li>%s</li>\n' >>> e = ValidationError(None, {None: u'oué, une exception en unicode!'}) >>> templstr % e '<li>None (None): ou\xc3\xa9, une exception en unicode!</li>\n' >>> templstr = u'<li>%s</li>\n' >>> templstr % e u'<li>None (None): ou\xe9, une exception en unicode!</li>\n' 2. The message of an Exception can contains unicode. But it now properly managed by “informal” string representation. We can easily fix the problem by using the Exception.message attribute that still contains the original message. >>> a = AssertionError(u'séfdsdf') >>> a.message u's\xe9fdsdf' >>> str(a) Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 1: ordinal not in range(128) >>> a = ValueError(u'fsdfsdéfsdfs') >>> str(a) Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 6: ordinal not in range(128) >>> a ValueError(u'fsdfsd\xe9fsdfs',) >>> unicode(a) Traceback (most recent call last): File "<stdin>", line 1, in <module> UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 6: ordinal not in range(128) >>> a.message u'fsdfsd\xe9fsdfs'

Installation de cubicweb et de ses dpendances
-------------------------------------------
Tout le systme CubicWeb est prpar pour l'installation sur une machine
debian. L'installation manuelle est un peu pnible du fait des nombreuses
dpendances  installer (twisted, postgres, autres paquets python...). Nous
supposerons donc ici que l'installation se fait sur une machine debian ayant
dans ses sources apt un entrept contenant les paquets pour CubicWeb.

Pour tout installer sur le systme ::

  apt-get install cubicweb

On peut galement n'installer que les paquets cubicweb-server ou cubicweb-twisted pour
n'avoir que la partie serveur ou client web sur une machine.

Pour tout installer la documentation et les librairies/outils de dveloppement ::

  apt-get install cubicweb-documentation cubicweb-dev

On pourra ensuite installer les paquets suivants :

* `pyro` si vous voulez que l'entrept soit accessible via Pyro ou si le client
  et le serveur ne sont pas sur la mme machine (auquel cas il faut installer ce
  paquet sur les machines clientes et serveur)

* `python-ldap` si vous voulez utiliser une source ldap sur le serveur

* `postgresql-8.1`, `postgresql-contrib-8.1` et `postgresql-plpython-8.1` la
  machine devant hberger la base de donnes systme

Configuration de l'environnement
--------------------------------
Ajouter les lignes suivantes  son `.bashrc` ou `.bash_profile` pour configurer
votre environnement de dveloppement ::

  export CW_REGISTRY=~/etc/cubicweb.d/
  export CW_CUBES=~/hg/
  export CW_RUNTIME=/tmp/

Cela suppose que le composant cubicweb que vous dveloppez est dans un
sous-rpertoire de *~/hg/* et que vous avez cr le rpertoire *~/etc/cubicweb.d/*
pour que `cubicweb-ctl` y place vos instances de test.


Configuration Postgres
----------------------
* cration d'un super utilisateur pour la cration d'instance (**root**) ::

    createuser --superuser --createdb -P pgadmin

  Un mot de passe de connection pour cet utilisateur vous sera demand. Il
  faudra utiliser ce login / mot de passe  la cration d'instance via
  `cubicweb-ctl`

* installation des extensions pour l'index plein texte ::

    cat /usr/share/postgresql/8.1/contrib/tsearch2.sql | psql -U pgadmin template1

* installation du langage plpythonu par dfaut ::

    createlang -U pgadmin plpythonu template1


Configuration Pyro
------------------
Si vous utilisez Pyro, il est ncessaire d'avoir un serveur de noms Pyro
tournant sur votre rseau (par dfaut celui-ci est repr par une requte
broadcast). Pour cela il faut soit :

* le lancer  la main avant le dmarrage de cubicweb avec la commande `pyro-ns`

* le lancer  la main avant le dmarrage de cubicweb sous forme d'un serveur avec
  la commande `pyro-nsd start`

* diter le fichier */etc/default/pyro-nsd* pour que le serveur de nom pyro soit
  lanc automatiquement au dmarrage de la machine