4 requêtes de fusion!163Update readme,!160Remove piplomes, update fix login, fix campaign presentation,!157Resolve "Mise à jour du README",!153Resolve "Mise à jour du README"
This is a php application based on Fat-Free-Framework and a MySQL database that handles donations and presents offered to donors to La Quadrature du Net
It's used as our primary donation platform, and uses our bank's payment system (cheaper) to get one-time or recurring payments recorded into the donation platform.
## Environnement de test
Afin de faciliter la réalisation de tests, vous pouvez utiliser Vagrant et Ansible à travers le rôle `don-lqdn`.
Pour la mise en place ;
- Mise en place de la machine virtuelle ; téléchargement d'une machine virtuelle Debian.
-`$ vagrant up`
- Installation du site de don ; Installation du rôle don-lqdn dans la machine virtuelle
-`$ vagrant provision`
- Vous pouvez maintenant voir le site de don sur `http://192.168.56.42:8000/`.
Les modifications faites dans ce dossier sont reportés directement dans la machine virtuelle, dans son dossier `/vagrant`.
Vous pouvez modifier ceci en éditant le fichier `Vagrantfile` et les fichiers dans le dossier `ansible/`.
## Installation (quick)
In order to install this project, run `make doctor` to check that everything is fine.
Then you can run `make install` to install the project. Follow instructions if needed.
To install the DB, you need to run `make reset-db` (it will remove your local DB if it exists).
Once everything if fine, you can run a simple PHP server with `make server-start`
You have those accounts to test:
* alice@example.org / password
* bob@example.org / password
To access to the admin (`/admin`) use `admin`/`password`
## Contributing
Before submitting a PR, makes sure tests are OK: `make test`
# Detailed dependencies, installation ...
## Dependencies
This software depends on a few software :
***composer** (to install php dependencies) see https://getcomposer.org/
* a **mysql client** (to inject the database schema)
* a **mysql server** (no need for it to be local)
***pdftk** to generate pi-plomes (pdf with pi's decimals offered to our donors)
***texlive-latex-base** for the `pdflatex` binary for the piplomes (only required in production or for people debugging the piplomes code)
and for developers you may also need :
***xgettext** to manage translations, use:
*`make messages.pot` to update PO files from source code.
*`make translations` to compile MO files from PO files when translations are ready.
This software uses:
***PHP7.3**
***phinx** to inject database schema and initial data / accounts into MySQL see https://phinx.org/
***php-cs-fixer** to check php code for errors and fix coding standard issues, see https://github.com/FriendsOfPHP/PHP-CS-Fixer
***doctrine/dbal** as ORM see https://github.com/doctrine/dbal
***f3 framework** as main view / controller framework. see https://fatfreeframework.com/
Look at `app/` folder for most Controllers, and `app/routes.ini` for the application routes (the URLs)
# Production deployment (not finished)
*`app/env` must contains the proper values : database connection, bank visa payment codes, and ENV=production at the bottom.
* point your Nginx or Apache with PHP5.6 to the `www/` folder, and either allow Rewrite Rules (a2enmod rewrite) or point every URL not being a file to index.php (see below for an nginx sample)
* use AND FORCE https usage, it's 2018, people ;)
Nginx configuration sample:
```
location ~ \.php$ {
include fastcgi_params;
fastcgi_read_timeout 1d; #avoid timeout when importing bank data
fastcgi_pass unix:/run/php7.3.sock;
}
location / {
# try to serve file directly, fallback to index.php
try_files $uri /index.php$is_args$args;
}
```
We're looking for contributors to help us translate the French version of the README. If you want to help, send us an email or open a pull request. Thanks :D
#  Site de Don de La Quadrature Du Net
Ce site web, écrit en PHP avec le framework Fat-Free-Framework pour nous permettre de gérer les donnations et les contreparties pour La Quadrature Du Net. ( English below )
...
...
@@ -14,6 +14,8 @@ Vous aurez besoin de ;
- PHP 7.4+
- Mysql/MariaDB
Cela n'est pas nécessaire pour le développement du site.
### En production
Afin de faciliter le déployement, vous pouvez utiliser une recette Ansible pour le déployement en production. [Vous pouvez la consulter ici](https://git.laquadrature.net/lqdn-interne/piops-roles/don-lqdn).
...
...
@@ -22,22 +24,36 @@ Autrement, vous aurez besoin de :
##### Téléchargement
- Release
Vous pouvez obtenir les dernières version du site de don sur [la page des publication.](https://git.laquadrature.net/lqdn-interne/don/-/releases)
##### Configuration du serveur
- Installation des dépendances
L'installation des dépendances se fait via [Composer](https://getcomposer.org/).
##### Configuration des paramètres du site web
- Configuration du .env
Vous aurez besoin de remplir les variables du fichier `.env` dans le dossier `app/`. Dupliquez le fichier `env.sample`, renommez le en `.env` et remplissez le.
##### Serveur web
Vous pouvez vous inspirer de la configuration décrite dans `ansible/configuration.test.yml` pour votre serveur Nginx.
##### Connexion à la banque
> À completer
##### Gestion
Il existe des comptes de test par défaut, n'oubliez pas de les supprimer avant la mise en production !
-`alice@example.org` : `password`
-`bob@example.org` : `password`
Il existe aussi un compte administrateur de test. Vous pouvez accéder à l'interface d'administration via le chemin `https://<url du site>/admin`.
*`admin` : `password`
### En test
Afin de faciliter les test, nous avons inclus un fichier Vagrant, qui permet de lancer une machine virtuelle pré-configurée avec toutes les dépendances nécessaire pour tester le site de don, à l'exception du mode de banque pour le moment ( mais rien n'empêche que vous le mettiez en place. )
...
...
@@ -46,13 +62,21 @@ Afin de lancer la machine de développement, vous pouvez ;
- Installer Vagrant si ce n'est pas déjà fait,
- Lancer `vagrant up`. Ça prendra un peu de temps la première fois.
- Vous avez maintenant une machine virtuelle accessible via ssh avec `vagrant ssh`, et vous pouvez voir le site de don sur `localhost:8383`.
- Vous avez maintenant une machine virtuelle accessible via ssh avec `vagrant ssh`, et vous pouvez voir le site de don sur `localhost:8282`.
- Vous pouvez faire vos modifications directement dans le dossier du dépôt, car il est lié sur la machine virtuelle, sous le chemin `/vagrant`.
Le déployement se fait dans la machine virtuelle de test, au moyen de la recette ansible [don-lqdn](https://git.laquadrature.net/lqdn-interne/piops-roles/don-lqdn), que vous pouvez lire directement dans le dossier `ansible/`
## Développement
Quand vous lancez les tests avec Vagrant, vous avez accès au site de don dans sa version définie par le playbook. Par défaut, c'est la version sur `master`.
Vous pouvez aussi travailer sur votre version locale en modifiant les variables du playbook dans `ansible/configuration.test.yml`. Modifiez la variable `root` de la configuration nginx de la façon suivante ;
```
root: /vagrant/www
```
### Documentation
Vous pouvez consulter la documentation relative au développement et au déployement de ce site web dans le dossier `doc/` ou en [cliquant ici.](doc/README.md)