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.
--- 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