Ajout d'informations techniques rédigé par Mindiell's avatar Mindiell
......@@ -25,7 +25,148 @@ avec d'autres système de base de données.
Les répertoires les plus importants pour le développement quotidien sont donc _app_ et _templates_.
Il semble que l'architecture MVC ne soit pas complètement respectée, en effet les modèles sont absents.
De plus les templates (les Vues) devraient se trouver sous le répertoire _app_ qui ne contient
actuellement que des contrôleurs.
## La base de données
Liste des tables utilisées :
* admins
* adresses
* contreparties
* dons
* identifiers
* phinxlog
* sessions
* users
Certaines de ces tables sont soit inutiles, soit fortement obsolètes. Un travail de nettoyage doit
être entrepris.
### Table admins
La table _admins_ permet de gérer les accès à la partie "administration" du site.
* id identifiant unique
* user_id identifiant de connexion
* password mot de passe de connexion
Aucun niveua d'accès n'est défini ici. Chaque admin a donc accès à toute l'administration sans
restriction.
### Table adresses
La table _adresses_ permet de gérer les adresses de livraison des contreparties lorsqu'un utilisateur
en fait la demande.
* id identifiant unique
* nom nom sur la boie aux lettres
* adresse première ligne d'adresse
* adresse2 deuxième ligne d'adresse
* codepostal code postal
* ville ville
* etat région / état
* pays pays
* alias alias de l'adresse
* user_id lien vers l'utilisateur
* defaut booléen signalant l'adresse à utiliser par défaut
Les adresses sont ici stockées pour pouvoir resservir plus tard. C'est peut-être trop complexe comme
système de gestion et surement à modifier pour la suite.
### Table contreparties
La table _contreparties_ permet de gérer les demandes et les envois des contreparties.
* id identifiant unique
* datec date de demande
* user_id lien vers l'utilisateur
* quoi contrepartie demandée
* taille taille (si nécessaire)
* status statut de l'envoi
* adresse_id lien vers l'adresse de destination
### Table dons
La table _dons_ permet de gérer les dons.
* id identifiant unique
* status statut du paiement
* datec date de création
* somme somme donnée
* lang langue utilisée lors du don
* cadeau signale la demande de contrepartie lors du don - donnée obsolète
* abo signale l'abonnement à la mailing list discussion - donnée obsolète
* taille signale la taille du pishirt si nécessaire - donnée obsolète
* public signale le consentement de voir son nom apparaitre sur la liste des donateurs - donnée obsolète
* pdf nom du fichier du piplome généré
* decimale décimale attribuée au don
* datee date d'envoi de la contrepartie - donnée obsolète
* mailsent booléen indiquant que le mail de remerciement est envoyé - donnée obsolète
* color couleur utilisée dans le pi lors d'une ancienne campagne - donnée obsolète
* pi_x coordonnée X dans le pi lors d'une ancienne campagne - donnée obsolète
* pi_y coordonnée X dans le pi lors d'une ancienne campagne - donnée obsolète
* hash hash permettant de pointer son pixel lors d'une ancienne campagne - donnée obsolète
* taille_h ??? - donnée obsolète
* fdnn_user identifiant fdnn si le don est fait en utilisant le site fdnn - donnée obsolète
* color_2 seconde couleur utilisée dans le pi lors d'une ancienne campagne - donnée obsolète
* cumul cumul pour les dons récurrents
* adresse_id lien vers l'adresse de destination des contreparties - donnée obsolète
* user_id lien vers l'utilisateur
* identifier ???
Beaucoup de données sont désormais obsolètes et se sont accumulées sur plusieurs campagnes. Il faudra
donc nettoyer cette table.
### Table identifiers
La table _identifiers_ permet de gérer ???
* user_id ???
* identifier ???
* expiration ???
### Table phinxlog
La table _phinxlog_ permet de gérer les migrations de la base de données.
* version
* migration_name
* start_time
* end_time
* breakpoint
Il est inutile de toucher / modifier cette table qui sert simplement à gérer les migrations de la
base de données.
### Table sessions
La table _sessions_ permet de gérer les sessions du site.
* session_id
* data
* agent
* stamp
* lifetime
Cette table semble être de trop. Il faut vérifier à quoi elle sert exactement et où et pourquoi elle
est utilisée.
### Table users
La table _users_ permet de gérer les donateurs.
* id identifiant unique
* email adresse mail du donateur (unique)
* hash hash permettant au donateur de montrer son profil public - donnée obsolète
* total total actuel des dons du donateur
* cumul total cumulé du donateur pour demander des contreparties
* pseudo pseudo du donateur
* expiration date d'expiration éventuelle de la CB du donateur en cas de don récurrent
* status statut du donateur
* commentaire commentaire ???