# agecem/agecem-org

Site web de l'AGECEM.

Le backend utilise [go-echo](https://echo.labstack.com/).

## Prérequis

- `docker`
- `docker-compose`

L'installation de `docker` et `docker-compose` est hors de la portée de ce projet. Veuillez vous référer à la documentation de votre système d'exploitation.

## Procédure

Le lifecycle du serveur est maintenu par containers, en utilisant `docker-compose`.

### Exemples d'utilisation de docker-compose

*L'exemple suivant assume que minio est déployé par docker-compose en même temps que le serveur web.*

Remplir .env avec les credentials que minio utilisera pour sa configuration initiale.

Remplacer `agecem-org` par quelque chose de sécurisé.

```
# .env
MINIO_ROOT_USER=agecem-org
MINIO_ROOT_PASSWORD=agecem-org
```

Déployer le ou les containers en mode détaché, en s'assurant de rebâtir l'image.

`$ docker-compose up -d --build`

Voir l'état des containers

`$ docker-compose ps`

Voir les logs des containers

`$ docker-compose logs`

Détruire les containers

`$ docker-compose down`

### Exemple de développement sans base de données ou docker

Pour un environnement simplifié sans minio ou docker, seul le toolchain `go` devrait être nécessaire au démarrage du serveur.

Pour une exécution sans installation permanente, veuillez utiliser:

`$ go run ./cmd/agecemorg/ server`

Si nécessaire, un fichier de config peut être déposé dans `$HOME/.agecem-org.yaml` ou spécifié tel que:

`$ go run ./cmd/agecemorg/ server --config agecem-org.yaml`

où `agecem-org.yaml` doit être remplacé par le fichier de config désiré.

Pour un exemple de fichier de config en format JSON, voir le résultat de:

`go run ./cmd/agecemorg/ config`