Add images folder to share images between book/fr and book/en.
authorSandrine Ribeau <sandrine.ribeau@logilab.fr>
Wed, 12 Nov 2008 19:19:53 -0800
changeset 54 e5cd878dc796
parent 53 537ad3e8e461
child 55 5ff3ca010290
Add images folder to share images between book/fr and book/en. Wrote a brief introduction on how to quickly run a simple blog application. Fix naming issues for Sphinx.
doc/book/fr/chap_fondements_cubicweb.txt
doc/book/fr/conf.py
doc/book/fr/index-content.fr.txt
doc/book/fr/index.fr.txt
doc/book/fr/introduction.fr.txt
doc/book/images/blog-demo-first-page.png
doc/book/images/login-form.png
--- a/doc/book/fr/chap_fondements_cubicweb.txt	Thu Nov 13 02:38:34 2008 +0100
+++ b/doc/book/fr/chap_fondements_cubicweb.txt	Wed Nov 12 19:19:53 2008 -0800
@@ -20,7 +20,7 @@
 
 *schéma*
   le schéma définit le modèle de données d'une application sous forme
-  d'entités et de relations, grâce à la biblithèque `yams`_. C'est
+  d'entités et de relations, grâce à la bibliothèque `yams`_. C'est
   l'élément central d'une application. Il est initialement défini sur
   le système de fichiers et est stocké dans la base de données lors de
   la création d'une instance. `CubicWeb` fournit un certain nombres de
--- a/doc/book/fr/conf.py	Thu Nov 13 02:38:34 2008 +0100
+++ b/doc/book/fr/conf.py	Wed Nov 12 19:19:53 2008 -0800
@@ -32,7 +32,7 @@
 source_suffix = '.txt'
 
 # The master toctree document.
-master_doc = 'index'
+master_doc = 'index.fr'
 
 # General substitutions.
 project = 'Cubicweb'
--- a/doc/book/fr/index-content.fr.txt	Thu Nov 13 02:38:34 2008 +0100
+++ b/doc/book/fr/index-content.fr.txt	Wed Nov 12 19:19:53 2008 -0800
@@ -6,28 +6,27 @@
 .. toctree::
    :maxdepth: 1
 
-   devmanual_fr/chap_fondements_cubicweb.txt
-   devmanual_fr/chap_mise_en_place_environnement.txt
-   devmanual_fr/chap_configuration_instance.txt
-   devmanual_fr/chap_definition_schema.txt
-   devmanual_fr/chap_definition_workflows.txt
-   devmanual_fr/chap_visualisation_donnees.txt
-   devmanual_fr/chap_manipulation_donnees.txt
-   devmanual_fr/chap_ui_gestion_formulaire.txt
-   devmanual_fr/chap_ui_js_json.txt
-   devmanual_fr/chap_autres_composants_ui.txt
-   devmanual_fr/chap_securite.txt
-   devmanual_fr/chap_serveur_crochets.txt
-   devmanual_fr/chap_serveur_notification.txt
-  
-   devmanual_fr/chap_rql.txt
-   devmanual_fr/chap_migration.txt
-   devmanual_fr/chap_tests.txt
-   devmanual_fr/chap_i18n.txt
-   devmanual_fr/gae.txt
+   chap_fondements_cubicweb.txt
+   chap_mise_en_place_environnement.txt
+   chap_configuration_instance.txt
+   chap_definition_schema.txt
+   chap_definition_workflows.txt
+   chap_visualisation_donnees.txt
+   chap_manipulation_donnees.txt
+   chap_ui_gestion_formulaire.txt
+   chap_ui_js_json.txt
+   chap_autres_composants_ui.txt
+   chap_securite.txt
+   chap_serveur_crochets.txt
+   chap_serveur_notification.txt
+   chap_rql.txt
+   chap_migration.txt
+   chap_tests.txt
+   chap_i18n.txt
+   gae.txt
 
-   tutmanual_fr/tut-create-app.fr.txt
-   devmanual_fr/references.txt
+   tut-create-app.fr.txt
+   references.txt
 
 
 
--- a/doc/book/fr/index.fr.txt	Thu Nov 13 02:38:34 2008 +0100
+++ b/doc/book/fr/index.fr.txt	Wed Nov 12 19:19:53 2008 -0800
@@ -37,7 +37,7 @@
 .. toctree::
    :maxdepth: 1
 
-   index-content.txt
+   index-content.fr.txt
 
 
 FAQ
--- a/doc/book/fr/introduction.fr.txt	Thu Nov 13 02:38:34 2008 +0100
+++ b/doc/book/fr/introduction.fr.txt	Wed Nov 12 19:19:53 2008 -0800
@@ -17,10 +17,184 @@
 LDAP et des systèmes de gestion de versions tels que subversion. 
 
 
-L'interface utilisateur de Logilab SDW a été spécialement conçue pour laisser à l'utilisateur final toute latitude pour sélectionner puis présenter les données. Elle permet d'explorer aisément la base de connaissances et d'afficher les résultats avec la présentation la mieux adaptée à la tâche en cours. La flexibilité de cette interface redonne à l'utilisateur le contrôle de paramètres d'affichage et de présentation qui sont habituellement réservés aux développeurs.
+L'interface utilisateur de Logilab SDW a été spécialement conçue pour laisser 
+à l'utilisateur final toute latitude pour sélectionner puis présenter les données. 
+Elle permet d'explorer aisément la base de connaissances et d'afficher les 
+résultats avec la présentation la mieux adaptée à la tâche en cours. 
+La flexibilité de cette interface redonne à l'utilisateur le contrôle de 
+paramètres d'affichage et de présentation qui sont habituellement réservés 
+aux développeurs.
 
 En 2008, `CubicWeb` a été porté pour un nouveau type de source: le datastore 
 de GoogleAppEngine_.
 
 .. _GoogleAppEngine: http://code.google.com/appengine/
 
+
+Créez votre cube
+----------------
+
+Après avoir installé votre environement de développement `CubicWeb`, vous pouvez
+commencer à construire votre premier cube: ::
+
+  cubicweb-ctl newcube blog
+
+Cela va créer dans ``/path/to/forest/cubes`` une répertoire contenant ::
+
+  blog/
+  |
+  |-- data/
+  |   |-- cubes.blog.css
+  |   |-- cubes.blog.js  
+  |   |-- external_resources
+  |
+  |-- debian/
+  |   |-- changelog
+  |   |-- compat
+  |   |-- control
+  |   |-- copyright
+  |   |-- cubicweb-blog.prerm
+  |   |-- rules
+  |
+  |-- entities.py
+  |
+  |-- i18n/
+  |   |-- en.po
+  |   |-- fr.po
+  |
+  |-- __init__.py
+  |
+  |-- MANIFEST.in
+  |
+  |-- migration/
+  |   |-- postcreate.py
+  |   |-- precreate.py
+  |
+  |-- __pkginfo__.py
+  |
+  |-- schema.py
+  |
+  |-- setup.py
+  |
+  |-- site_cubicweb.py
+  |
+  |-- sobjects.py
+  |
+  |-- test/
+  |   |-- data/
+  |       |-- bootstrap_cubes
+  |   |-- pytestconf.py
+  |   |-- realdb_test_blog.py
+  |   |-- test_blog.py
+  |
+  |-- views.py
+
+Toute modification apportée à votre modele de données devra
+etre effectue dans ce répertoire. 
+
+
+Créez votre instance
+--------------------
+
+::
+  
+  cubicweb-ctl create blogdemo
+
+Cette commande va créer un répertoire ``~/etc/cubicweb.d/blogdemo``
+contenant tous les fichiers de configuration nécessaire au lancement
+de votre application web.
+
+Définissez votre schéma de données
+----------------------------------
+
+Votre modele de données est défini dans le fichier ``schema.py`` de votre cube
+``blog`` comme suit.
+
+::
+
+  from cubicweb.schema import format_constraint
+  class Blog(EntityType):
+    title = String(maxsize=50, required=True)
+    description = String()
+
+  class BlogEntry(EntityType):
+    title = String(required=True, fulltextindexed=True, maxsize=256)
+    content_format = String(meta=True, internationalizable=True, maxsize=50,
+                            default='text/rest', constraints=[format_constraint])
+    content = String(required=True, fulltextindexed=True)
+    entry_of = SubjectRelation('Blog', cardinality='?*') 
+
+
+
+Définissez les vues de vos données
+----------------------------------
+
+Les vues correspondantes au modele de données sont définies dans ``views.py``
+de votre cube ``blog``.
+
+:: 
+
+  __docformat__ = "restructuredtext en"
+
+  from mx.DateTime import DateTime
+  from logilab.mtconverter import html_escape
+
+  from cubicweb.common.uilib import text_cut
+  from cubicweb.common.view import EntityView
+  from cubicweb.web.views import baseviews
+  from cubicweb.web.views.boxes import BoxTemplate, BoxHtml
+  from cubicweb.web.views.calendar import MONTHNAMES
+  from cubicweb.web.htmlwidgets import BoxLink, BoxWidget
+
+
+  class BlogPrimaryView(baseviews.PrimaryView):
+    accepts = ('Blog',)
+    skip_attrs = baseviews.PrimaryView.skip_attrs + ('title',)
+
+    def render_entity_title(self, entity):
+        self.w(u'<h1>%s</h1>' % html_escape(entity.dc_title()))
+
+    def render_entity_relations(self, entity, siderelations):
+        rset = entity.related('entry_of', 'object')
+        self.pagination(self.req, rset, self.w)
+        self.wview('list', rset, 'null', title='')
+    
+
+  class BlogEntryPrimaryView(baseviews.PrimaryView):
+    accepts = ('BlogEntry',)
+    skip_attrs = baseviews.PrimaryView.skip_attrs + ('title',)
+    show_attr_label = False
+
+    def render_entity_title(self, entity):
+        self.w(u'<h1>%s</h1>' % html_escape(entity.dc_title()))
+
+    def content_format(self, entity):
+        return entity.view('reledit', rtype='content_format')
+
+
+Bienvenue dans votre application web
+------------------------------------
+
+Lancez votre application en exécutant : ::
+
+  cubicweb-ctl start -D blogdemo
+
+
+Vous pouvez à présent accéder a votre application web vous permettant de
+créer des blogs et d'y poster des messages en visitant l'URL http://localhost:8080/.
+Un premier formulaire d'authentification va vous être proposé. Par défaut,
+l'application n'autorisera pas d'utilisateur anonyme à accéder a votre 
+application. Vous devrez donc utiliser l'utilisateur administrateur que
+vous aurez crée lors de l'initialisation de votre base de données via
+``cubicweb-ctl create``.
+
+.. image:: ../images/login-form.png
+
+
+Une fois authentifié, vous pouvez commencer à jouer avec votre
+application. Bravo !
+
+.. image:: ../images/blog-demo-first-page.png
+
+
+
Binary file doc/book/images/blog-demo-first-page.png has changed
Binary file doc/book/images/login-form.png has changed