« WATERBEAR:Conception du logiciel » : différence entre les versions

Aucun résumé des modifications
Aucun résumé des modifications
Ligne 5 : Ligne 5 :


=Organisation=
=Organisation=
Le logiciel est composé de parties principales:
Le logiciel est composé de deux parties principales:
* Les scripts PHP et JavaScript.
* Les scripts PHP, s'exécutant sur le serveur, et les scripts JavaScript, s'exécutant dans le navigateur Internet de votre PC.
* La base de données relationnelle. (MySQL)
* La base de données relationnelle contenant les données et la logique de fonctionnement du logiciel. (MySQL)




Ligne 17 : Ligne 17 :
La fonction principale du registre (table: tvs_registre) consiste au pilotage du fonctionnement du logiciel, de définir quand et comment exécuter les scripts. Ce qui le rend très modulable.
La fonction principale du registre (table: tvs_registre) consiste au pilotage du fonctionnement du logiciel, de définir quand et comment exécuter les scripts. Ce qui le rend très modulable.


En outre, une partie des données de gestion se trouvent dans le registre. D'une part, nous y trouvons les données nécessaires pour l'authentification: utilisateurs et postes. Elles se trouvent sous le noeud "system". Les autres rassemblent ce qu'on nomme usuellement, les tables d'aide. Toutes ces données ont la particularité de pouvoir être traduites en plusieurs langues. Elles se trouvent sous le noeud "profiles/defaut/langues/listes".
En outre, une partie des données de gestion se trouvent dans le registre. D'une part, nous y trouvons les données nécessaires pour l'authentification: utilisateurs et postes. Elles se trouvent sous le noeud "system". Les autres rassemblent ce qu'on nomme usuellement, les tables d'aide. Toutes ces données ont la particularité de pouvoir être traduites en plusieurs langues. Elles se trouvent sous le noeud "profiles/defaut/langues/listes". Leur modifications sont accessibles partiellement dans l'interface via le menu "Administration" sous les dénominations "Listes...".


La majorité des autre tables de la base de données sont par groupe de deux, du style "obj_XXXX_acces" et "obj_XXXX_liens". Le "XXXX" est à remplacer par le nom repris dans chaque case du schéma ci-dessous. Les tables "obj_XXXX_acces" contiennent les données, ce sont les boites du schéma ci-dessous; les tables "obj_XXXX_liens" définissent les liens entre les enregistrements des données et les enregistrements des données d'une autre table, ils sont représentés par une flèche dans le schéma ci-dessous.
La majorité des autres tables de la base de données sont groupées par deux, du style "obj_XXXX_acces" et "obj_XXXX_liens". Le "XXXX" est à remplacer par le nom repris dans chaque case du schéma ci-dessous. Les tables "obj_XXXX_acces" contiennent les données, ce sont les boites du schéma ci-dessous; les tables "obj_XXXX_liens" définissent les liens entre les enregistrements des données de la boite du même nom et les enregistrements des données d'une autre table, ils sont représentés par une flèche dans le schéma ci-dessous.
Chaque case regroupe un ensemble de données concernant un sujet. Les deux cases du dessous ("collection" et "oeuvre") ne sont pas utilisées ni référencées dans le registre. La boite "vedette_mat" est référencée mais ne semble pas utilisée. Les données correspondantes semblent se retrouver dans la boite "autorite_mat". Deux boites sont centrales: "biblio" et "lecteur". "biblio" contient les données des document (livres, périodiques, CD, DVD,...); "exemplaire" est le pendant physique du document. En dessous, on trouve le système d'approvisionnement en documents physiques. "lecteur" contient les caractéristiques des lecteurs. Respectivement à gauche et à droites, les tables périphériques complètent ces deux groupes d'informations centrales. Au centre, on retrouve le lien. En effet, le but principal d'une bibliothèque est d'organiser le prêt de document à des lecteurs.
Chaque case regroupe un ensemble de données concernant un sujet. Les deux cases du dessous ("collection" et "oeuvre") ne sont pas utilisées ni référencées dans le registre. La boite "vedette_mat" est référencée mais ne semble pas utilisée. Les données correspondantes semblent se retrouver dans la boite "autorite_mat". Deux boites sont centrales: "biblio" et "lecteur". "biblio" contient les données des documents (livres, périodiques, CD, DVD,...); "exemplaire" est le pendant physique du document. En dessous, on trouve le système d'approvisionnement en documents physiques. "lecteur" contient les caractéristiques des lecteurs. Respectivement à gauche et à droites, les tables périphériques complètent ces deux groupes d'informations centrales. Au centre, on retrouve la liaison entre ces deux modules. En effet, le but principal d'une bibliothèque est d'organiser le prêt de document à des lecteurs avec une réservation préalable optionnelle ("resa").




Ligne 33 : Ligne 33 :
Si vous voulez intervenir directement dans les tables de la base de données, il faut y aller avec beaucoup de précautions. Son organisation n'est pas classique. En effet, voici quelques points:
Si vous voulez intervenir directement dans les tables de la base de données, il faut y aller avec beaucoup de précautions. Son organisation n'est pas classique. En effet, voici quelques points:
* une table contient souvent les données d'une autre table en doublon
* une table contient souvent les données d'une autre table en doublon
* certains champs peuvent contenir plusieurs informations séparées par un barre verticale
* certains champs peuvent contenir plusieurs informations séparées par une barre verticale
* certaines colonnes sont dédoublées, l'un servant aux données, l'autre comme clé de tri
* certaines colonnes sont dédoublées, l'un servant aux données (préfixée par "a_", l'autre comme clé de tri (préfixée pat "t_")
* chaque enregistrement contient un champs de type XML rassemblant l'ensemble des données à afficher dans un écran
* chaque enregistrement contient un champs de type XML rassemblant l'ensemble des données à afficher dans une page


Normalement chaque information doit être présente de façon unique. Vous comprendrez facilement que si vous changez une données, il faut connaitre où se trouvent les informations équivalentes et les remplacer aussi. Je conseille de laisser le logiciel travailler. Il fait très bien cela.
Normalement chaque information doit être présente de façon unique. Vous comprendrez facilement que si vous changez une données, il faut connaitre où se trouvent les informations équivalentes et les remplacer aussi. Je conseille de laisser le logiciel travailler. Il fait très bien cela.