117 lines
2.8 KiB
Markdown
117 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 cadoles/fake-sms
|
|
```
|
|
|
|
L'interface Web sera accessible à l'adresse http://localhost:3000/.
|
|
|
|
Voir la section "[Variables d'environnement](#variables-denvironnement)" pour voir comment personnaliser la configuration du service.
|
|
|
|
### Avec les binaires
|
|
|
|
> TODO
|
|
|
|
## 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 |