Documentation

(une documentation à jour sera à nouveau disponible bientôt. Nous vous demandons de bien vouloir nous excuser pour ce retard) doc

Contents

Introduction

GestraNet  est une solution logicielle visant à déployer très rapidement une application avec une architecture de données complexe.

GestraNet  se divise en deux parties principales :

GestraCompta est un exemple d'implémentation orienté gestion-comptabilité d'entreprise.

Comment ça marche ?

Concept

L'idée sous-jacente est simple : avoir un lien fort entre classes du code et classes du SGBD. Ainsi, pour une table FACTURE, il devrait être possible de faire (en Perl) :

 
my $facture= FACTURE->new(); 
$facture->loadById('FA0012'); 
my $montant_ht = $facture->getValueOf('montantht');
return $montant_ht;

En gros, le code généré permet d'utiliser Perl comme un langage de script de l'application, en gardant toute la puissance du langage.

Interface

Dans le repertoire de source (qui doit être une copie du repertoire gestranet), un repertoire myBase est rempli de fichiers pm.

Ces fichiers sont les descripteurs de classes en perl (ou modules).

Pour rajouter un événement à l'insert d'une facture, par exemple, on peut surchager la méthode Insert de FACTURE :

 
# dans FACTURE.pm
sub Insert {
  my $self = shift;
  print STDERR "nouvelle facture !!\n";
  return $self->SUPER::Insert(@_);
}

Configuration

Les éléments de configuration se trouvent dans rules/make.rules.

Vous pouvez éditer ce fichier à la main, ou utiliser le ./configure.pl à la racine. Ce programme ne fait que reprendre les lignes du make.rules et demander à l'utilisateur ce qu'il veut changer.

Base de données

La base de données est décrite dans les fichiers pgml situés dans ./pgml/. Son fonctionnement est intuitif, et pour l'instant répond aux besoins courants.

Si vous vous posez déjà la question de savoir comment gérer les procédures stockées, sachez qu'elles n'ont plus lieu d'être. Elles sont avantageusement remplacées par du code, qui sera inséré dans les classes générées (voir plus bas).

Contraintes sur la base de données

Le design de la base doit répondre à deux contraintes :

Personalisation des scripts

Il est possible de personaliser chaque fonction dans l'ensemble de l'application.

Par exemple, si vous voulez que l'affichage d'une facture se fasse via une page particulière (mise en page spéciale ou fonctionnalité différente de celles en standard), il vous suffit de créer le script facture_single.pl en reprenant single.pl, puis d'y ajouter vos spécificités.

Si seule la mise en page doit changer, alors vous pouvez créer le fichier template/facture_single.html, sans rien changer d'autre à l'application. Ce fichier sera pris automatiquement en compte lors de l'affichage.

Apache

GestraNet  fonctionne avec Apache et mod_perl. Vous devez rajouter ces lignes à votre httpd.conf :

<Files *.pl>
 SetHandler perl-script
 PerlHandler Apache::Registry
 PerlSendHeader On
 Options ExecCGI FollowSymLinks
 PerlModule Apache::DBI
</Files>

Installation

Éléments préalables nécessaires

Les modules Perl suivants sont nécessaires :

gestranet-common

Après avoir configuré le make.rules, vous pouvez lancer un make install-common depuis la racine de gestranet-common.

Vous pourrez faire un make uninstall si vous voulez nettoyer proprement votre disque.

gestranet

Vérifiez que vous avez bien renseigné les champs :

La procédure d'installation comporte les étapes suivantes :

La variable AUTHNEED determine si une identification est nécessaire. Si vous avez mis 0, vous pouvez dès maintenant utiliser gestranet en vous connectant à la bonne url.

Un exemple complet : installation de GestraCompta

Recupération des sources

Récupérez les sources (vous pouvez les télécharger depuis le menu ``Téléchrgement'') et décompressez les dans votre repertoire de travail :
tar zxvf gestranet-common.tgz
tar zxvf gestranet.tgz
tar zxvf gestracompta.tgz

Configuration

Allez dans gestranet-common et installez le tout :

cd gestranet-common ; make install-common ; cd -

Allez dans gestranet et configurez les variables d'environnement :

cd gestranet ; emacs rules/make.rules

Modifiez les variables suivantes :

APPNAME nom de l'application; sera utilisé pour le nom du repertoire
APPSRC le chemin vers le repertoire Gestracompta
FSROOTDIR le repertoire d'installation pour le web (p.ex. /var/www/gestracompta)
UPLOADDIR un repertoire où charger les fichiers uploadés (attention aux droits!)
SERVERURL préfixe de lien (p.ex. http://127.0.0.1/gestracompta/)
HTTPROOTDIR idem ci-dessus
DBSUPERUSER super utilisateur postgres
DBSUPERUSERPWD mot de passe super utilisateur postgres
DBNAME nom de la base de données, p.ex. gestracompta
DBPWD mot de passe
DBUSER utilisateur accédant à la base
DBHOST machine hébergeant la base de données

Attention : tous les repertoires doivent s'écrire sans oublier le slash (/) à la fin !

Données préexistantes

Un jeu de données peut être chargé à l'initialisation.

Ces données doivent se trouver dans des fichiers XML dans le repertoire gestracompta/entities/. Elles seront parsées et chargées dans la phase suivante.

Installation de GestraCompta


GestraCompta est prête à fonctionner.

Technologies

GestraNet  a été testée sur une Debian Sarge x86, avec Perl 5.8, apache 1.3.27.0-2, apache-mod-perl 1.27-4, postresQL 7.3.2r1-5.

Le choix de Perl a été fait en raison de la quantité de modules déjà disponibles et fort bien documentés. Cependant, il est tout à fait envisageable de faire générer autre chose que du Perl, à condition de respecter les contraintes de la programmation orientée objet.

About this document ...

This document was generated using the LaTeX2HTML translator Version 2K.1beta (1.48)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -split 0 -no_navigation doc.tex

The translation was initiated by Manganneau Emmanuel on 2003-09-22


Manganneau Emmanuel 2003-09-22
-->