diff -r 000000000000 -r b97547f5f1fa goa/doc/devmanual_fr/chap_fondements_erudi.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/goa/doc/devmanual_fr/chap_fondements_erudi.txt Wed Nov 05 15:52:50 2008 +0100 @@ -0,0 +1,71 @@ +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)