fake-sms/README.md

119 lines
2.8 KiB
Markdown

# 📱 FakeSMS
Serveur d'envoi de SMS factice pour le développement avec interface web.
## Utilisation
### Avec Docker
```bash
docker run -it --rm -p 3000:3000 -p 2525:2525 bornholm/fake-sms
```
L'interface Web sera accessible à l'adresse http://localhost:8080/.
Voir la section "[Variables d'environnement](#variables-denvironnement)" pour voir comment personnaliser la configuration du service.
### Avec les binaires
> TODO
## Configuration
## Fichier de configuration
Le fichier de configuration de FakeSMTP est au format [YAML](https://yaml.org/).
Voici la structure du fichier par défaut:
```yaml
# Configuration HTTP
http:
address: :3000
templateDir: template
publicDir: public
# Configuration du stockage
data:
path: fakesms.db
# Confirguration du mock Powow
# Voir https://powow4.iroquois.fr/
powow:
# Clé d'API à utiliser par les clients Powow utilisant le mock
apiKey: powow
# Modèles de SMS transactionnels
# Voir https://powow4.iroquois.fr/user/docs/api/#create-transactional-sms
# et https://powow4.iroquois.fr/user/docs/api/#update-transactional-sms
#
# L'identifiant (SmsID) de chaque modèle est son index dans le tableau.
sms:
- name: Powow SMS
from: FakeSMS
# Modèle de contenu pour le SMS avec patrons d'insertion
# Voir https://powow4.iroquois.fr/user/docs/api/#send-transactional-sms, "About the CustomData parameter"
content: |
Bonjour %Subscriber:Firstname%,
Lorem ipsum dolor sit amet...
# Cet attribut n'est pas utilisé dans le cadre du mock
shortLink: false
```
### Variables d'environnement
La configuration de FakeSMTP peut être personnalisée via des variables d'environnement.
Les valeurs des variables d'environnement surchargent les valeurs présentes dans le fichier de configuration.
|Variable|Correspondance dans le fichier de configuration|
|--------|-----------------------------------------------|
|`FAKESMS_HTTP_ADDRESS`|`http.address`|
|`FAKESMS_HTTP_TEMPLATEDIR`|`http.templateDir`|
|`FAKESMS_HTTP_PUBLICDIR`|`http.publicDir`|
|`FAKESMS_POWOW_API_KEY`|`powow.apiKey`|
## Mocks
### Iroquois/Powow
Un mock de l'API Powow est disponible via l'URL `http://<fake_sms_host>/api/v1/mock/powow`.
Les commandes suivantes sont implémentées:
|Commande|Documentation officiele|Notes|
|--------|-----------------------|-----------|
|`TransactionalSms.Send`|https://powow4.iroquois.fr/user/docs/api/#send-transactional-sms|La définition des modèles de SMS s'effectue via la configuration.|
Un exemple d'appel à l'API est disponible dans le fichier [`misc/powow.http`](./misc/powow.http).
## Démarrer avec les sources
### Dépendances
- Go 1.13
- modd
- make
- NodeJS/npm
### Compiler et démarrer le serveur de développement
Dans un terminal:
```
npm install
make watch
```
## FAQ
### Générer une version de distribution
```
make release
```
## Licence
AGPL-3.0