Skip to content

Commit

Permalink
mise à jour de la documentation et mise sous license GPLv3
Browse files Browse the repository at this point in the history
git-svn-id: https://svn.iariss.fr/erp@133 55463ab2-4f42-40d6-a48e-481de4af6215
  • Loading branch information
m.mure committed Mar 15, 2011
1 parent 22e0626 commit a7e9860
Show file tree
Hide file tree
Showing 4 changed files with 800 additions and 110 deletions.
50 changes: 50 additions & 0 deletions DEVEL-DOC
@@ -0,0 +1,50 @@
DEVEL-DOC

Points intéressants de l'application:

O) Framework
Ce site fonctionne avec le framework Symfony. Ce framework est très structurant pour l'application,
et un développeur familié avec Symfony n'aura que peu de mal à comprendre le fonctionnement.
Si vous n'êtes pas familié avec Symfony, il est temps d'apprendre. Et ça vaut le coup.

1) Authentification
L'authentification des utilisateurs se fait par le plugin apache mod_auth_mysql (voir INSTALL).
Par conséquent:
- seul les membres déjà enregistré peuvent donner accès à la création d'autres utilisateurs
- il n'est pas possible de se déconnecter. Pour les machine partagées, il faut utiliser le mode de
navigation privée des navigateurs.

2) Données par défaut
Les données par défaut sont situé dans le repertoire data/fixtures
Elle sont chargées avec la commande:
./symfony doctrine:data-load

3) Modules
a) Annuaire
La gestion des droits du visiteur se fait dans le contrôleur grâce à la fonction suivante:
$this->user = Membre::getProfile($_SERVER['PHP_AUTH_USER'])

Le visiteur est reconnu d'après les identifiants qu'il donne au server web. C'est apache qui vérifie
qu'il a le droit d'acceder au site. Le profil est chargé dans la variable $this->user (et donc est
disponible dans le template). Le statuts du visiteur peut être vérifié grace aux fonction du modèle
comme $this->user->isAdmin().

b) Carte de visite
Les cartes de visite sont générées d'après les données de l'annuaire. Les cartes de visites sont au
format vectoriel SVG. Pour changer le template de la carte, il faut modifier les fichiers
apps/frontend/modules/carte/templates/rectoSuccess.php et
apps/frontend/modules/carte/templates/versoSuccess.php.

c) Commun
Ce module contient des éléments communs aux différents modules. Au moment de la rédaction de ce document,
le seul élément est le partial qui génère les liens de page pour le pager.

d) Prospect
Ce module n'a rien de particulier.

c) Contact
Ce module comporte une page indicateur qui fonctionne grâce à de l'AJAX (action executeAjax(...))
Ce module comporte une fonctionalité "caché". L'action Summary fournis un résumé des changements dans
les modules Contact et Prospect dans la dernière semaine. L'action SummaryEmail permet d'envoyer ces
informations à des emails particuliers. Le but est de faire effectuer cette action par un cron sur le
serveur.
127 changes: 68 additions & 59 deletions INSTALL
@@ -1,63 +1,72 @@
Ce site nécessite d'activer pour apache le mod_auth_mysql INSTALL


Exemple de VirtualHost (Debian, Ubuntu):


<VirtualHost *:80> 1) Base de donnée
DocumentRoot /home/data/www/annuaire/web/ La bdd se configure avec la commande suivante:
ServerName annuaire.iariss.com ./symfony configure:database "mysql:host=localhost;dbname=dbname" root mYsEcret
ServerAlias annuaire.iariss.fr
2) Configuration d'Apache


Alias /sf /home/data/www/annuaire/lib/vendor/symfony/data/web/sf Ce site nécessite d'activer pour apache le mod_auth_mysql


<Directory /home/data/www/annuaire> Exemple de VirtualHost (Debian, Ubuntu):
Options FollowSymLinks MultiViews
AllowOverride All <VirtualHost *:80>
Order allow,deny DocumentRoot /home/data/www/annuaire/web/
allow from all ServerName annuaire.iariss.com
</Directory> ServerAlias annuaire.iariss.fr


<Location /> Alias /sf /home/data/www/annuaire/lib/vendor/symfony/data/web/sf
AuthType Basic
AuthName "IARISS erp" <Directory /home/data/www/annuaire>

Options FollowSymLinks MultiViews
AuthMySQL on AllowOverride All
AuthUserFile /dev/null Order allow,deny
AuthBasicAuthoritative Off allow from all
Auth_MySQL_Authoritative off </Directory>
Auth_MySQL_Host localhost
Auth_MySQL_User erp <Location />
Auth_MySQL_Password erp AuthType Basic
AuthMySQL_DB erp AuthName "IARISS erp"
AuthMySQL_Password_Table membre
AuthMySQL_Username_Field username AuthMySQL on
AuthMySQL_Password_Field passwd AuthUserFile /dev/null
AuthMySQL_Empty_Passwords off AuthBasicAuthoritative Off
AuthMySQL_Encryption_Types SHA1Sum Auth_MySQL_Authoritative off
Require valid-user Auth_MySQL_Host localhost
</Location> Auth_MySQL_User erp

Auth_MySQL_Password erp
CustomLog /var/log/apache2/annuaire_log combined AuthMySQL_DB erp
ErrorLog /var/log/apache2/annuaire_error AuthMySQL_Password_Table membre
</VirtualHost> AuthMySQL_Username_Field username

AuthMySQL_Password_Field passwd
Sur Archlinux, j'ai du compiler le mod manuellement, et la syntaxe est différente: AuthMySQL_Empty_Passwords off

AuthMySQL_Encryption_Types SHA1Sum
<Location /> Require valid-user
AuthType Basic </Location>
AuthName "IARISS erp"

CustomLog /var/log/apache2/annuaire_log combined
AuthMySQLEnable on ErrorLog /var/log/apache2/annuaire_error
AuthUserFile /dev/null </VirtualHost>
AuthBasicAuthoritative Off
AuthMySQLAuthoritative On Sur Archlinux, j'ai du compiler le mod manuellement, et la syntaxe est différente:
AuthMySQLHost localhost
AuthMySQLUser erp <Location />
AuthMySQLPassword erp AuthType Basic
AuthMySQLDB erp AuthName "IARISS erp"
AuthMySQLUserTable membre
AuthMySQLNameField username AuthMySQLEnable on
AuthMySQLPasswordField passwd AuthUserFile /dev/null
AuthMySQLNoPasswd off AuthBasicAuthoritative Off
AuthMySQLPwEncryption sha1 AuthMySQLAuthoritative On
Require valid-user AuthMySQLHost localhost
</Location> AuthMySQLUser erp
AuthMySQLPassword erp
AuthMySQLDB erp
AuthMySQLUserTable membre
AuthMySQLNameField username
AuthMySQLPasswordField passwd
AuthMySQLNoPasswd off
AuthMySQLPwEncryption sha1
Require valid-user
</Location>

0 comments on commit a7e9860

Please sign in to comment.