README.md 6.05 KB
Newer Older
Eric Pommateau's avatar
Eric Pommateau committed
1
[![Minimum PHP Version](http://img.shields.io/badge/php-%207.2-8892BF.svg)](https://php.net/)
Maxime REYROLLE's avatar
Maxime REYROLLE committed
2
[![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)
Eric Pommateau's avatar
Eric Pommateau committed
3
[![pipeline status](https://gitlab.libriciel.fr/pastell/pastell/badges/master/pipeline.svg)](https://gitlab.libriciel.fr/pastell/pastell/commits/master)
Eric Pommateau's avatar
Eric Pommateau committed
4
[![coverage report](https://gitlab.libriciel.fr/pastell/pastell/badges/master/coverage.svg)](https://gitlab.libriciel.fr/pastell/pastell/commits/master)
Eric Pommateau's avatar
Eric Pommateau committed
5
6
7
[![Lignes de code](https://sonarqube.libriciel.fr/api/project_badges/measure?project=pastell&metric=ncloc)](https://sonarqube.libriciel.fr/dashboard?id=pastell)
[![Alerte](https://sonarqube.libriciel.fr/api/project_badges/measure?project=pastell&metric=alert_status)](https://sonarqube.libriciel.fr/dashboard?id=pastell)
[![Dette Technique](https://sonarqube.libriciel.fr/api/project_badges/measure?project=pastell&metric=sqale_index)](https://sonarqube.libriciel.fr/dashboard?id=pastell)
Eric Pommateau's avatar
Eric Pommateau committed
8

9
# Pastell
Eric Pommateau's avatar
Eric Pommateau committed
10

11
12
Plate-forme Adullact Sécurisée Transactionnelle d’Échanges en Logiciel Libre

Eric Pommateau's avatar
Eric Pommateau committed
13
Pastell est une solution libre et sécurisée, développée pour permettre le traitement sécurisé, automatisé et tracé de l'ensemble des process dématérialisés.
Eric Pommateau's avatar
Eric Pommateau committed
14

Eric Pommateau's avatar
Eric Pommateau committed
15
# TL;DR
16

Eric Pommateau's avatar
Eric Pommateau committed
17
Il est nécessaire d'avoir docker et docker-compose sur l'environnement de développement
18

Eric Pommateau's avatar
Eric Pommateau committed
19
20
21
22
```bash
make install
make start
```
23

Eric Pommateau's avatar
Eric Pommateau committed
24
Sur `https://localhost:8443/` il est possible de se connecter avec le login `admin` et le mot de passe `admin`
25
26


Eric Pommateau's avatar
Eric Pommateau committed
27
# Utilisation avec docker-compose
28

Eric Pommateau's avatar
Eric Pommateau committed
29
Le conteneur Pastell est basé sur [ubuntu:18.04](https://hub.docker.com/_/ubuntu/).
30

Eric Pommateau's avatar
Eric Pommateau committed
31
32
33
34
35
Lors du démarrage, le conteneur :
- crée ou met à jour la base de données ;
- crée un utilisateur admin si celui-ci n'existe pas ; 
- lance le démon Pastell.
 
Eric Pommateau's avatar
Eric Pommateau committed
36
### Variables d'environnement, introduites dans le docker-compose
Eric Pommateau's avatar
Eric Pommateau committed
37
38
39
40
41
42
43
44
45

| Variable d'environnement | Signification                                                                          | Valeur par défaut                                    |
|----|----------------------------------------------------------------------------------------|------------------------------------------------------|
| PASTELL_SITE_BASE | URL de base d'accès au site                                                            | http://localhost:8443/                               |
| MYSQL_USER | Login de l'utilisateur ayant accès à la base Pastell                                   | user                                                 |
| MYSQL_PASSWORD | Mot de passe de cet utilisateur                                                        | user                                                 |
| MYSQL_HOST | Hôte de la base de données                                                             | localhost                                            
| MYSQL_PORT | Port de connexion                                                                      | 3306                                                 |
| MYSQL_DATABASE | Nom de la base de données                                                              | pastell                                              |
Eric Pommateau's avatar
Eric Pommateau committed
46
| REDIS_SERVER | Hôte du serveur Redis                                                                  | (vide)                                               |
Eric Pommateau's avatar
Eric Pommateau committed
47
48
49
| REDIS_PORT | Port du serveur Redis                                                                  | 6379                                                 |
| PASTELL_ADMIN_LOGIN | Login de l'administrateur                                                              | admin                                                |
| PASTELL_ADMIN_PASSWORD | Mot de passe de l'administrateur                                                       | admin                                                |
50
| PASTELL_ADMIN_EMAIL | Email de l'administrateur                                                              | test@libriciel.net                               |
Eric Pommateau's avatar
Eric Pommateau committed
51
52
53
| AUTHENTICATION_WITH_CLIENT_CERTIFICATE | Permettre la connexion par certificat (chaîne vide pour non, chaîne non-vide pour oui) | chaîne vide                                          |
| PASTELL_EXTENSION_PATH | Chemin vers les extensions Pastell                                                     | `..` (répertoire qui contient le répertoire pastell) |
| WORKSPACE_VOLUME | Chemin vers le workspace Pastell                                                       | création du volume nommé app_workspace               |
Eric Pommateau's avatar
Eric Pommateau committed
54
| PASTELL_SSL_CERTIFICAT | Chemin vers les certificats (site web, `validca`, ...)                                   | création du volume nommé app_certificate             |
Eric Pommateau's avatar
Eric Pommateau committed
55
| PASTELL_SESSION | Chemin vers les sessions PHP                                                           | création du volume nommé app_session                 |
56
57


Patrick FICHEUX's avatar
Patrick FICHEUX committed
58
## Utilisation de l'environnement de développement et de test via docker-compose
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76


Ajouter les variables suivantes : 

| Variable d'environnement | Signification | Valeur par défaut |
| ----| ---- | ---- |
| MYSQL_HOST_TEST | Mot de passe root de la base de données (de test) | localhost |
| MYSQL_DATABASE_TEST | Nom de la base de test | pastell_test |
| MYSQL_USER_TEST | Login de l'utilisateur ayant accès à la base Pastell de test | user |
| MYSQL_PASSWORD_TEST | Mot de passe de cet utilisateur | user |


Démarrage : 
```
docker-compose up -d
```

- Accès au site : http://localhost:8000
Eric Pommateau's avatar
Eric Pommateau committed
77
- Accès à phpMyAdmin : http://localhost:8001 
Eric Pommateau's avatar
Eric Pommateau committed
78
- Accès au site de test (pour codeception) : http://localhost:8003
Eric Pommateau's avatar
Eric Pommateau committed
79
80
81
- Accès à la base de données : mysql -u user -p pastell -h localhost -P8306

## Utilisation via PHPStorm
Eric Pommateau's avatar
Eric Pommateau committed
82

Eric Pommateau's avatar
Eric Pommateau committed
83
84
PHPStorm n'utilise pas docker-compose et écrase la commande `entrypoint` lors du lancement de PHPUnit, 
il convient donc de spécifier les variables d'environnements directement dans la configuration du lanceur PHPUnit.
85

Eric Pommateau's avatar
Eric Pommateau committed
86
87
88

## Utilisation via gitlab-ci

Eric Pommateau's avatar
Eric Pommateau committed
89
Gitlab-ci utilise la commande `entrypoint` mais surcharge la commande.
Eric's avatar
Eric committed
90

91
92
93
94
95
96
# Utilisation de l'API Pastell

Pour utiliser l'API de Pastell en PHP, on pourra utiliser le package pastell-api-php

```
composer require libriciel/pastell-api-php
97
```