Certains points sont importants sur l'installation du projet en local.
**Attention**
* Pour le moment, il faut obligatoirement une base de données PostgreSQL pour faire fonctionner le site. Ceci est dû à la présence d'un type spécifique de champ dans le modèle [Payment](contribution/payment) : JSONField
* Apparemment, l'utilisation de Raven et de Sentry implique d'être connecté à internet pour faire fonctionner le site, qui cherche à joindre sentry.lqdn.fr. Il faudra éliminer cette dépendance
Il vous suffit donc de copier ces lignes dans le fichier correspondant.
## Données de test
La base de données doit contenir un certain nombre d'informations pour permettre au site de soutien
de fonctionner. Sans ces données, les écrans ne pourront s'afficher correctement.
### Connexion à la base de données
Pour se connecter à la base de données, il suffit d'utiliser le client en ligne de commande fournit
par PostgreSQL:
psql -h localhost -U soutien -W
On tape ensuite le mot de passe, puis on se connecte à la base:
\c soutien
Le mot de passe peut être redemandé, ensuite, on peut agir sur les tables. Pour afficher toutes les
tables de la base:
\dt
Il est aussi possible de jouer un script SQL complet depuis la ligne de commande.
TODO: fournir un script SQL minimal et suffisant quelque part...
TODO: fournir la commande permettant de lancer le script SQL depuis la ligne de commande
### Ajout d'un système de paiement
C'est la première chose à ajouter. Les systèmes de paiement permettent aux campagnes de savoir
comment gérer les paiements des donateurs:
insert into payment_paymentprocessor values (
(select max(id)+1 from payment_paymentprocessor), -- identifiant unique
'basic_payment', -- nom du système de paiement
'[{"url": "http://localhost:5000/payment", "mode": "TEST", "shop_id": "1", "certificate": "test"}]', -- chaine au format json permettant de connaitre les informations pour le paiement
);
### Ajout d'une campagne de base
C'est la deuxième chose à ajouter. Maintenant qu'un système de paiement est défini, on peut créer
une campagne qui l'utilise:
insert into campaign_campaign values (
(select max(id)+1 from campaign_campaign), -- identifiant unique
now() - interval '1 day', -- date de début
now() + interval '1 year', -- date de fin
10000, -- montant cible pour cette campagne
true, -- booléen indiquant que la campagne est active
0,
(select max(id) from payment_paymentprocessor), -- identifiant du système de paiement utilisé par la campagne
'image.jpg' -- image de fond de la page d'accueil de la campagne