2020-12-21 15:56:56 +01:00
# 📱 FakeSMS
Serveur d'envoi de SMS factice pour le développement avec interface web.
## Utilisation
### Avec Docker
```bash
2020-12-22 15:37:53 +01:00
docker run -it --rm -p 3000:3000 cadoles/fake-sms
2020-12-21 15:56:56 +01:00
```
2020-12-22 15:14:56 +01:00
L'interface Web sera accessible à l'adresse http://localhost:3000/.
2020-12-21 15:56:56 +01:00
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:
2020-12-22 15:00:42 +01:00
address: :3000
2020-12-21 15:56:56 +01:00
templateDir: template
publicDir: public
# Configuration du stockage
data:
path: fakesms.db
2020-12-22 15:00:42 +01:00
# Confirguration du mock Powow
# Voir https://powow4.iroquois.fr/
powow:
# Clé d'API à utiliser par les clients Powow utilisant le mock
apiKey: powow
2021-03-01 15:18:10 +01:00
# La création/mise à jour de modèles de SMS s'effectue via les méthodes TransactionalSMS.Create et TransactionalSMS.Update.
# Voir le fichier ./misc/powow.http pour un exemple de requête.
2020-12-21 15:56:56 +01:00
```
### 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.
2024-03-18 15:15:18 +01:00
| 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` |
### Lancer en mode read-only
Pour lancer le conteneur en mode read-only, la variable `FAKESMTP_DATA_PATH` doit être définie et un volume doit être créé à cet emplacement. Exemple avec docker :
```sh
docker run -it --rm -p 3000:3000 --env FAKESMS_DATA_PATH='/app/data/fakesms.db' --read-only -v $(pwd)/data:/app/data cadoles/fake-sms
```
2020-12-21 15:56:56 +01:00
2020-12-22 15:00:42 +01:00
## 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:
2024-03-18 15:15:18 +01:00
| 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. |
2020-12-22 15:00:42 +01:00
Un exemple d'appel à l'API est disponible dans le fichier [`misc/powow.http` ](./misc/powow.http ).
2020-12-21 15:56:56 +01:00
## Démarrer avec les sources
### Dépendances
2024-02-26 13:15:33 +01:00
- Go 1.17
2020-12-21 15:56:56 +01:00
- modd
- make
2024-02-26 13:15:33 +01:00
- NodeJS (20.x) / npm
2020-12-21 15:56:56 +01:00
### 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
2024-03-18 15:15:18 +01:00
AGPL-3.0