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