goa/doc/devmanual_fr/chap_mise_en_place_environnement.txt
changeset 0 b97547f5f1fa
equal deleted inserted replaced
-1:000000000000 0:b97547f5f1fa
       
     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