doc/devmanual_fr/chap_mise_en_place_environnement.txt
changeset 40 0857f1fd76cf
parent 22 50f20cf0f440
equal deleted inserted replaced
39:73a25e46d3a9 40:0857f1fd76cf
     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