goa/doc/devmanual_fr/chap_fondements_erudi.txt
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Thu, 27 Aug 2009 12:17:18 +0200 (2009-08-27)
branch3.5
changeset 3032 f0ae6a5aba3e
parent 0 b97547f5f1fa
permissions -rw-r--r--
integrate fix made for shingouz, let's see if it breaks something
Fondements CubicWeb
================

Concepts et vocabulaire
-----------------------

*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 au package `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 types d'entit�s inclus syst�matiquement 
  car n�cessaire au noyau CubicWeb et une librairie de composants devant �tre
  inclus explicitement le cas �ch�ant.

*source*
  une source de donn�es est un conteneur de donn�es quelquonque (SGBD, annuaire
  LDAP...) int�gr� par l'entrep�t CubicWeb. Un entrep�t poss�de au moins une source
  dite "system" contenant le sch�ma de l'application, l'index plein-texte et
  d'autres informations vitales au syst�me.

*composant*
  un composant est un mod�le regroupant un ou plusieurs types de donn�es et/ou
  des vues afin de fournir une fonctionalit� pr�cise, ou une application CubicWeb
  compl�te utilisant �ventuellement d'autres composants. Les diff�rents
  composants disponibles sur une machine sont install�s dans
  `/usr/share/cubicweb/templates`

*result set*
  objet encaspulant les r�sultats d'une requ�te RQL et des informations sur
  cette requ�te.

.. _`Python Remote Object`: http://pyro.sourceforge.net/
.. _`yams`: http://www.logilab.org/project/name/yams/


Structure g�n�rale d'une application LAX
----------------------------------------

Un composant complexe est structur� selon le mod�le suivant :

::
    
  .
  |-- app.yaml
  |-- custom.py
  |-- data
  |-- cubicweb/
  |-- i18n/
  |-- logilab/
  |-- main.py
  |-- mx/
  |-- rql/
  |-- schema.py
  |-- simplejson/
  |-- tools/
  |   |-- generate_schema_img.py
  |   `-- i18ncompile.py
  |-- views.py
  |-- yams/
  `-- yapps/
        

o� :

* ``schema.py`` contient la d�finition du sch�ma
* ``views.py`` contient les d�finitions des vues
* ``i18n`` contient les catalogues de messages pour les langues support�es (cot�
  serveur et interface web) 
* ``data`` contient des fichiers de donn�es arbitraires servis statiquement
  (images, css, fichiers javascripts)... (cot� interface web uniquement)