doc/book/fr/03-03-cubicweb-ctl.fr.txt
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Wed, 23 Jun 2010 13:54:02 +0200
branchstable
changeset 5857 1a24c62aefc5
parent 1898 39b37f90a8a4
permissions -rw-r--r--
[bfss] fix file update to ensure file's content is available on the fs asap... and not only at commit time. So it's consistent with entity creation behaviour. The new file is created at assignement time and removed if the commit is rollbacked.

.. -*- coding: utf-8 -*-

.. _cubicweb-ctl:

L'outil `cubicweb-ctl`
======================
`cubicweb-ctl` est le couteau suisse pour la gestion d'instances CubicWeb.
La syntaxe générale est ::

  cubicweb-ctl <commande> [options commande] <arguments commandes>

Pour voir les commandes disponibles ::

  cubicweb-ctl
  cubicweb-ctl --help

A noter que les commandes disponibles varient en fonction des parties d'CubicWeb
qui sont installées.

Pour voir l'aide pour une commande spécifiques ::

  cubicweb-ctl <commande> --help

Commandes pour la création d'un cube
------------------------------------
* ``newcube``, crée un nouveau cube sur le système de fichiers
  à partir du nom passé en paramètre. Cette commande crée le cube à partir
  d'une squelette d'application, incluant également les fichiers pour le
  packaging debian)
  
Commandes pour la création d'une instance
-----------------------------------------
* ``create``, crée les fichiers de configuration d'une instance
* ``db-create``, crée la base de données système d'une instance (tables et
  extensions uniquement)
* ``db-init``, initialise la base de données système d'une instance (schéma,
  groupes, utilisateurs, workflows...)

Par défaut ces trois commandes sont enchainées.

Commande pour la création d'une instance pour Google App Engine
---------------------------------------------------------------
* ``newgapp``, crée les fichiers de configuration d'une instance

Cette commande doit être suivie de l'exécution de commandes
permettant l'initialisation de la base de données spécifique à  
Google App Engine, appellée ``datastore``.

Pour plus de détails veuillez vous référer à `LAX <>`_


Commandes pour le lancement des instances
-----------------------------------------
* ``start``, démarre une, plusieurs, ou toutes les instances
* ``stop``, arrêt une, plusieurs, ou toutes les instances
* ``restart``, redémarre une, plusieurs, ou toutes les instances
* ``status``, donne l'état des instances

Commandes pour la maintenance des instances
-------------------------------------------
* ``upgrade``, lance la migration d'instance(s) existante(s) lorsqu'une nouvelle
  version d'CubicWeb ou du composant est installée
* ``shell``, ouvre un shell de migration pour la maintenance manuelle d'une instance
* ``db-dump``, crée un dump de la base de données système
* ``db-restore``, restore un dump de la base de données système
* ``db-check``, vérifie l'intégrité des données d'une instance. Si la correction
  automatique est activée, il est conseillé de faire un dump avant cette
  opération
* ``schema-sync``, , synchronise le schéma persistent d'une instance avec le schéma
  de l'application. Il est conseillé de faire un dump avant cette opération

Commandes pour la maintenance des catalogues i18n
-------------------------------------------------
* ``i18ncubicweb``, regénère les catalogues de messages de la librairie CubicWeb
* ``i18ncube``, regénère les catalogues de messages d'un composant
* ``i18ninstance``, recompile les catalogues de messages d'une instance. Cela est
  effectué automatiquement lors d'une upgrade

Cf :ref:`Internationalisation`.

Autres commandes
----------------
* ``list``, donne la liste des configurations, des composants et des instances
  disponibles
* ``delete``, supprime une instance (fichiers de configuration et base de données)



Exemples
--------

Creation d'une instance a partir de cube existant
`````````````````````````````````````````````````

Afin de creer une instance a partir d'un cube existant, executez la commande
suivant ::

   cubicweb-ctl create <nom_cube> <nom_instance>

Cette commande va creer les fichiers de configuration d'une instance dans
``~/etc/cubicweb.d/<nom_instance>``.
L'outil ``cubicweb-ctl`` va vous autoriser a executer au sein de ``create``
les commandes ``db-create`` et ``db-init`` afin de completer la creation de
votre instance en une seule commande.

Si vous decidez de ne pas le faire lorsque ``cubicweb-ctl create`` vous le 
propose, alors n'oubliez pas de lancer ces commandes (``cubicweb-ctl db-create``,
``cubicweb-ctl db-init`` ) par la suite, sinon
votre installation ne sera pas complete.


Creation d'une instance a partir d'une nouveau cube
```````````````````````````````````````````````````

Creez avant tout votre nouveau cube ::

   cubicweb-ctl newcube <nom_cube>

Cette commande va creer un nouveau cube dans ``/path/to/forest/cubicweb/cubes/<nom_cube>``.