Documentation développeur
Ce document est destiné aux personnes souhaitant bien connaître le fonctionnement de l'application. Il intéressera particulièrement les personnes souhaitant corriger des bugs, ajouter des évolutions. Il est recommandé qu'une personne ayant une bonne compréhension du code et de son organisation soit présente à chaque vente aux enchères de façon à pouvoir résoudre plus facilement les problèmes.
Vous pouvez prendre connaissance des
ResteAFaire à boucler avant la sortie de la prochaine version
ici.
Plan
Normes de développement
Le code doit obligatoirement être commenté en utilisant
PhpDocumentor. Vous pouvez accèder à la documentation phpdoc en ligne à cette adresse :
http://equitencheres.tuxfamily.org/phpdoc/HTMLframesConverter/.
Afin de forcer une homogénéisation dans les objets, des méthodes virtuelles sont définies.
Accès CVS
Vous pouvez dès maintenant consulter le code source via votre navigateur.
application web :
http://cvsweb.tuxfamily.org/equitencher/webapp
client xul :
http://cvsweb.tuxfamily.org/equitencher/xulclient
assistant d'installation :
http://cvsweb.tuxfamily.org/equitencher/installeur
Accès CVS Unix
Vous pouvez consulter également la doc de
TuxFamily,
celle-ci, celle de
SourceForge ainsi que le
cvsbook.
Pour génerer une pair de clés SSH:
ssh-keygen -t rsa -b 1024
Voici le script que je lance avant de travailler sur l'application web (remplacez l'username par votre login tuxfamily):
#!/bin/bash
export CVSROOT=username@cvs.tuxfamily.org:/cvsroot/equitencher/webapp/
export CVS_RSH=ssh
if [ -f .ssh-agent ]
then
. .ssh-agent
else
killall ssh-agent
ssh-agent > .ssh-agent
ssh-add ~/.ssh/id_rsa
fi
Accès CVS Windows
Utilisez
tortoisecvs. Inutile d'installer CVS et SSH.
Allez sur votre C:, via l'explorateur Windows. Avec le bouton-droit, choisissez "CVS Emprunter".
Mettre comme CVSROOT:
username@cvs.tuxfamily.org:/cvsroot/equitencher/webapp/ (pour l'application web, pour les autres voir ci-dessus)
Dans le champs, nom d'utilisateur, mettre votre identifiant
tuxfamily.
Choisir comme protocole, terminal sécurisé (:ext).
Saisir le nom du module (
encheres pour l'application web).
Organisation des répertoires de l'application web
L'application web est basée sur le motif de conception
http://fr.wikipedia.org/wiki/Mod%C3%A8le-Vue-Contr%C3%B4leur. Il est préférable de se documenter un peu sur ce motif avant d'aller plus loin.
.
racine web de l'application. Contient les fichiers qui seront accedès directement via le navigateur ( index.php, saisie.php....).
./src/
Contient le packages dédié à EquitEncheres.
./src/bo/
Les "Business Objects" : les objets "métiers" qui contiennent les règles de gestion. L'ancêtre de tous les BO s'appelle boAncestor. Pour voir un exemple d'objet BO, vous pouvez consulter boAcheteur qui gère les acheteurs.
./src/do/
Les "Data Objects" : les "data objects" qui gèrent la persistance en base de données. Contient les requêtes SQL. L'ancêtre de tous les DO s'appelle doAncestor. Pour voir un exemple d'objet DO, vous pouvez consulter doAcheteur qui gère la persistence des acheteurs.
./src/controleur/
Les objets contrôleurs : les "chefs" de l'application. Ils font interface entre les BO et les pages webs. L'ancètre de tous les contrôleurs s'appelle controleur.
De ce "controleur", hérite controleur_liste, , controleur_report et controleur_saisie.
./src/vue/
Ce qui est lié à la sortie des données sur écran, fichier ou imprimantes.
./src/vue/pdf/
Lié à la sortie en PDF utilisée pour les impressions. Ne sera normalement plus utilisé à partir de la version Mixitee 2.
./src/vue/smarty/
Les différents gabarits (templates) Smarty.
./include/
Les bibliothèques indépendantes d'EquitEncheres utilisées.
./include/fpdf/
La bibliothèque FPDF qui permet de génerer du PDF. Ne sera normalement plus utilisée pour la version Mixitee 2.
./include/smarty/
Le moteur de gabarit (template) Smarty
./include/PEAR/
Le framework PEAR PEAR
./include/JPSpan/
La bibliothèque JPSpan JPSpan
./images/
Les différentes images (images des produits mis aux enchères, logo d'EquitEncheres....)
./js/
Les fichiers Javascript utilisés
./style/
Les feuilles de style CSS.
./doc/
Quelques documents (licence...).
./tmp/
Répertoire temporaire, notamment utilisé par Smarty.
Assistant d'installation
L'installation d'installation est réalisé à l'aide de
NSIS (Nullsoft Scriptable Install System).
La version actuelle du script d'installation se trouve à l'adresse suivante :
http://cvsweb.tuxfamily.org/*checkout*/equitencher/installeur/setup/equitencheres.nsi.
Fin