[ Index ]

PHP Cross Reference of GASELL SVN Trunk

title

Body

[close]

/doc/ -> xml.rest (source)

   1  =========================================
   2  Fichiers d'echange de l'application (XML)
   3  =========================================
   4  
   5  :Authors: Saint-Genest Gwenael (Hooligan0)
   6  :Version: 1.0-p1 22/01/2004
   7  
   8  ---------------
   9  1. Introduction
  10  ---------------
  11  
  12  Dans de nombreux cas, l'application doit echanger des donnees avec d'autres
  13  logiciels. Il s'agira par exemple de pouvoir importer un nouveau schema de
  14  la base de donnees, de pouvoir exporter des listes de mails vers des carnets
  15  d'adresse, ou tout simplement des operations de sauvegarde et de
  16  restauration. Pour des raisons de perenite et d'universalite, le format de 
  17  fichier et de donnees qui a ete retenu pour realiser ces echanges est le XML. 
  18  Il est simple a partir de ce format et de feuilles de styles d'obtenir tous 
  19  les autres formats qui pourraient etre necessaires ou utiles.
  20  
  21  Ce document precise ce que peut ou non contenir les fichiers generes ou
  22  importes ainsi que la facon de les exploiter. 
  23  
  24  ---------------------------------------
  25  2. Contenu et organisation des fichiers
  26  ---------------------------------------
  27  
  28  2.1 Structure minimale
  29  ^^^^^^^^^^^^^^^^^^^^^^
  30  
  31  Au moment de l'ecriture de ce document, la version de XML utilisee est la 
  32  1.0 [1]_ Le codage utilise est UTF-8. Un document XML correctement forme ne
  33  doit avoir qu'un seul element racine [2]_. Le nom utilise pour la racine est
  34  GASELL.
  35  
  36  Il en ressort le squelette minimum de document suivant : ::
  37  
  38      <?xml version="1.0"encoding="UTF-8"?>
  39      <gasell>
  40      (...)
  41      </gasell>
  42  
  43  .. [1] http://www.w3.org/TR/REC-xml
  44  .. [2] http://www.w3.org/TR/REC-xml#sec-well-formed
  45  
  46  2.2 Sections de premier niveau
  47  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  48  
  49  Les tags present immediatement apres le <gasell> (ci apres nommes tags de
  50  niveau 1) representent les donnees des grandes parties de l'application.
  51  Deux parties sont necessaire au fonctionnement interne (database et config),
  52  les autres sont utilisees dans les operations de sauvegarde/restauration ou
  53  d'import/export vers d'autres applications.
  54  
  55  - database    : Structure de toute ou partie de la base de donnees
  56  - config      : La configuration de l'application
  57  - exercices   : Tout ce qui tourne autour d'un exercice (entre autres, les
  58    types d'adhesion)
  59  
  60  - commissions : Les commissions et le(s) bureaux
  61  - personnes   : Toutes les infos sur les personnes (contacts, adhesions,
  62    competences, ...) (objets ?)
  63  
  64  - interventions [3]_ : Ce qui touche aux interventions (TODO: a definir)
  65  - comptabilite [3]_  : La nebuleuse gestion de la compta
  66  
  67  .. [3] Non disponible actuellement.
  68  
  69  ----------------------------------
  70  3. Structure de la base de données
  71  ----------------------------------
  72  
  73  L'un des premiers besoin de l'application est de pouvoir représenter sa base
  74  de donnees. Elle est constituee d'un enssemble de tables qui ont des
  75  proprietes ainsi que des contraintes et des liens entre elles. Le tag de
  76  niveau 1 *database* permet de representer cette structure a un niveau tres
  77  proche de la base de donnees.
  78  
  79  * Un tag database_ permet de representer la structure de la base de données.
  80  * A l'intérieur de celui-ci, un ou plusieurs elements *table* representent
  81    chacun une table (nommée par un attribut *name*).
  82  * Chaque *table*, contient des elements *column* (représentant les colonnes).
  83  
  84  Voici un exemple de structure : ::
  85  
  86      <?xml version="1.0"encoding="UTF-8"?>
  87      <gasell>
  88        <database>
  89              <table name="table1">
  90                <column name="t1_col1" type="int" constraint="primary"/>
  91                <column name="t1_col2" type="varchar"/>
  92              </table>
  93              <table name="table2">
  94                <column name="t1_col1" type="int" constraint="references" references="table1 on update cascade"/>
  95                <column name="t2_col2" type="varchar"/>
  96              </table>
  97            </database>
  98      </gasell>
  99  
 100  ----------------
 101  4. Configuration
 102  ----------------
 103  
 104  ...
 105  
 106  ---------------------------
 107  Reference des tags utilises
 108  ---------------------------
 109  
 110  5.1 config
 111  ^^^^^^^^^^
 112  
 113  plop
 114  
 115  5.2 column
 116  ^^^^^^^^^^
 117  Cet element contenu dans un element "table" definit le format d'une colone.
 118  
 119  Il possede deux parametres obligatoires : "name" qui represente le nom de la
 120  colone et "type" qui represente le format des données qu'elle contient. Il
 121  possede egalement deux paramètres optionnels : "constraint" qui precise les
 122  contraintes de la colone ('primary' pour une clef primaire ou 'references' 
 123  pour une clef etrangere) et "references" qui permet dans le cas d'une clef
 124  etrangere de preciser vers ou se fait le lien (ex: 'tab1 on update cascade'
 125  pour preciser que le lien se fait vers la table tab1)
 126  
 127  5.3 commissions
 128  ^^^^^^^^^^^^^^^
 129  plop
 130  
 131  5.4 comptabilite
 132  ^^^^^^^^^^^^^^^^
 133  
 134  plop
 135  
 136  .. _database:
 137  
 138  5.5 database
 139  ^^^^^^^^^^^^
 140  
 141  Tag de niveau 1 qui contient des informations sur la structure de la base de
 142  donnes. Il n'y a aucun parametre obligatoire ni aucun parametre optionnel a
 143  ce tag.
 144  
 145  Il peut contenir aucun ou plusieurs tags "table".
 146  
 147  5.6 exercices
 148  ^^^^^^^^^^^^^
 149  
 150  plop
 151  
 152  5.7 gasell
 153  ^^^^^^^^^^
 154  Ce tag est la racine de tout le document. Pour respecter le standard XML, il
 155  doit etre unique.
 156  
 157  Cet element prend deux attributs optionnels : version, qui precise le numero
 158  de version de l'application qui l'a genere; dbversion, qui precise le numero
 159  de version de la base de donnees.
 160  
 161  5.8 interventions
 162  ^^^^^^^^^^^^^^^^^
 163  
 164  plop
 165  
 166  5.9 personnes
 167  ^^^^^^^^^^^^^
 168  
 169  plop
 170  
 171  5.10 table
 172  ^^^^^^^^^^
 173  Ce tag est contenu dans un element database (cf 5.5). Il permet de definir
 174  le format et les relations d'une table de la base. Il y a un parametre
 175  obligatoire "name" qui definit le nom de la table dans la base.
 176  
 177  Cet element peut contenir un ou plusieurs tags "column".


Generated: Tue Jan 6 01:17:25 2009 Cross-referenced by PHPXref 0.7