1 Mise en place d'un environnement de développement Erudi |
1 .. -*- coding: utf-8 -*- |
2 ======================================================= |
2 |
|
3 .. _MiseEnPlaceEnv: |
|
4 |
|
5 Installation et mise en place d'un environnement `CubicWeb` |
|
6 =========================================================== |
|
7 |
|
8 |
3 |
9 |
4 .. toctree:: |
10 .. toctree:: |
5 :maxdepth: 1 |
11 :maxdepth: 1 |
6 |
12 |
|
13 sect_installation.txt |
|
14 sect_creation_instance.txt |
|
15 sect_cubicweb-ctl.txt |
7 sect_mercurial.txt |
16 sect_mercurial.txt |
8 sect_installation.txt |
|
9 sect_cubicweb-ctl.txt |
|
10 |
17 |
11 |
|
12 |
|
13 Création d'un composant |
|
14 ----------------------- |
|
15 Commençons par créer un squelette qui nous servira de base au développement de |
|
16 notre composant ou application :: |
|
17 |
|
18 cd ~/hg |
|
19 erudi-ctl newtemplate moncomposant |
|
20 # répondre aux questions |
|
21 hg init moncomposant |
|
22 cd moncomposant |
|
23 hg add . |
|
24 hg ci |
|
25 |
|
26 A partir de là si tout va bien, votre composant devrait être affiché par |
|
27 `erudi-ctl list` dans la section *Available components*, si ce n'est pas le cas |
|
28 revoir la section `Configuration de l'environnement`_. |
|
29 |
|
30 Pour utiliser un composant, il faut le mentionner dans la variable |
|
31 __use__ du fichier __pkginfo__ de l'application. Cette variable |
|
32 contrôle à la fois le packaging de l'application (dépendances gérées |
|
33 par les utilitaires système comme les outils APT) et les composants |
|
34 effectivement utilisables lors de la création de la base |
|
35 (import_erschema('Moncomposant') ne fonctionne pas sinon). |
|
36 |
|
37 Création d'une instance de développement |
|
38 ---------------------------------------- |
|
39 |
|
40 Maintenant que nous avons notre squelette de modèle, on peut en créer une |
|
41 instance afin de voir ce que tout ça donne dans un simple navigateur web. |
|
42 Nous allons utiliser une configuration `all-in-one` afin de simplifier les |
|
43 choses :: |
|
44 |
|
45 erudi-ctl create -c all-in-one moncomposant moninstance |
|
46 |
|
47 Une série de questions vont être posées, la réponse par défaut est généralement |
|
48 suffisante. Vous pourrez de toute façon modifier la configuration par la suite |
|
49 en éditant les fichiers générés. Lorsqu'un login/mot de passe d'accès au sgbd |
|
50 vous est demandé, il est recommandé d'utilisé l'utilisateur créé lors de la |
|
51 `Configuration Postgres`_. |
|
52 |
|
53 Il est important de distinguer ici l'utilisateur utilisé pour accéder au sgbd, |
|
54 et l'utilisateur utilisé pour s'authentifier dans l'application erudi. Lorsque |
|
55 l'application erudi démarre, elle utilise le login/mot de passe sgdb pour |
|
56 récupérer le schéma et gérer les transactions bas-niveau. En revanche, lorsque |
|
57 `erudi-ctl create` vous demande un login/mot de passe `manager` pour erudi, il |
|
58 s'agit d'un utilisateur qui sera créé dans l'application `erudi` pour pouvoir |
|
59 s'y connecter dans un premier temps et l'administrer. Il sera par la suite possible |
|
60 de créer des utilisateurs différents pour l'application. |
|
61 |
|
62 A l'issue de cette commande, la définition de votre instance se trouve dans |
|
63 *~/etc/erudi.d/moninstance/*. Pour la lancer, il suffit de taper :: |
|
64 |
|
65 erudi-ctl start -D moninstance |
|
66 |
|
67 L'option `-D` indique le *debug mode* : l'instance ne passe pas en mode serveur |
|
68 et ne se déconnecte pas du terminal, ce qui simplifie le dépannage en cas de non |
|
69 démarrage de l'instance. Vous pouvez ensuite allez voir ce que ça donne en |
|
70 pointant votre navigateur sur l'url `http://localhost:8080` (le n° de port |
|
71 dépend de votre configuration). Pour vous authentifier vous pouvez utiliser le |
|
72 login/mot de passe administrateur que vous avez spécifié lors de la création de |
|
73 l'instance. |
|
74 |
|
75 Pour arrêter l'instance, un Ctrl-C dans la fenêtre où vous l'avez lancé |
|
76 suffit. Si l'option `-D` a été omise, il faut taper :: |
|
77 |
|
78 erudi-ctl stop moninstance |
|
79 |
|
80 Voilà, tout est en place pour démarrer le développement du modèle... |
|
81 |
|
82 |
|
83 Utilisation de erudi-liveserver |
|
84 ------------------------------- |
|
85 |
|
86 Afin de tester rapidement un nouveau composant, on peut également |
|
87 utiliser le script `erudi-liveserver` qui permet de créer une |
|
88 application en mémoire (utilisant une base de données SQLite par |
|
89 défaut) et la rendre accessible via un serveur web:: |
|
90 |
|
91 erudi-liveserver moncomposant |
|
92 |
|
93 ou bien, pour utiliser une base de données existante (SQLite ou postgres):: |
|
94 |
|
95 erudi-liveserver -s monfichier_sources moncomposant |
|
96 |
|