docs(readme): écraser README.md avec contenu de README.2.md

This commit is contained in:
Victor Lacasse-Beaudoin 2025-07-12 23:53:08 -04:00
parent 13ebd1183c
commit c9ab471692
2 changed files with 71 additions and 135 deletions

View file

@ -1,104 +0,0 @@
<h1 align="center" style="border-bottom: none">
<a href="https://agecem.org/" target="_blank">
<img alt="agecem/agecem-org" src="frontend/public/icones/agecem-logo.svg" width="400px"/>
</a><br>agecem-org
</h1>
Code source du site web officiel de l'Association Générale Étudiante du Cégep Édouard-Montpetit (AGECEM)
## Description
*Fondée en 1976, lAssociation Étudiante est un organisme sans but lucratif voué à la défense des étudiant·e·s inscrit·e·s à lenseignement régulier du Campus de Longueuil du Cégep Édouard-Montpetit, quiels étudient de jour ou de soir, à temps plein ou à temps partiel. Forte denviron 6000 membres, elle veille à promouvoir un milieu pédagogique sain en se consacrant à les représenter, tant au niveau académique, politique, social, quenvironnemental.*
Le backend du site utilise Go avec [labstack/echo](https://github.com/labstack/echo) comme routeur de requêtes.
Le frontend du site utilise HTML et CSS, avec une utilisation minimale de JavaScript.
## Prérequis
GNU Make est recommandé pour profiter des pipelines définis dans le fichier `Makefile`:
- [make](https://www.gnu.org/software/make/)
Pour déployer une version allégée (sans base de données ou docker):
- [go](https://go.dev/)
Pour déployer le projet localement par containers:
- [docker](https://www.docs.docker.com/)
- [docker-compose](https://docs.docker.com/compose/)
Pour déployer sur kubernetes:
- [kubectl](https://kubernetes.io/docs/tasks/tools/)
*note: L'installation de docker, docker-compose, make, go, kubectl n'est pas couverte par ce projet et doit être effectuée en se référant à la documentation de votre système d'exploitation.*
## Démarrage rapide
### Localement en version allégée
Pour un environnement simplifié sans minio ou docker, seul le toolchain `go` devrait être nécessaire au démarrage du serveur.
Avec [go](https://go.dev/) installé et fonctionnel, exécuter:
`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`
`agecem-org.yaml` doit être remplacé par l'emplacement du 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`
Cela démarrera un serveur web `agecem/agecem-org`, qui peut être configuré au préalable avec le fichier `$HOME/.agecem-org.yaml`.
*note: le serveur [minio](https://min.io/) requis pour la documentation n'est pas démarré avec cette option, et ne peut donc pas être testé en détails. Par contre, le contenu statique et les thèmes devraient être bien appliqués, ce qui rend cette option idéale pour du développement rapide et léger ne nécessitant pas accès à la documentation.*
### Localement avec docker-compose
Pour déployer une version complète, locale, et isolée, `docker-compose` est l'option la plus simple.
Il est nécessaire de premièrement créer un fichier `.env` contenant le minimum de configuration; les credentials pour minio:
```
# .env
MINIO_ROOT_USER=agecem-org
MINIO_ROOT_PASSWORD=agecem-org
```
**important: en production, il est critique de changer ces valeurs!**
Ensuite, avec [docker](https://www.docs.docker.com/) et [docker-compose](https://docs.docker.com/compose/) installés et fonctionnels, exécuter:
`make docker-build docker-deploy`
Cela démarrera 2 containers:
- un serveur web `agecem/agecem-org`
- un serveur [minio](https://min.io/)
*note: La configuration peut être modifiée, voir les volumes déclarés dans le fichier `compose.yaml` pour le named volume de configuration du serveur.*
Pour voir l'état des containers:
`docker-compose ps`
Pour voir les logs des containers:
`docker-compose logs`
Pour détruire les containers déployés localement:
`docker-compose down`
## Pipelines avancés
### Build et push image vers le repo officiel
`make docker-build docker-tag-from-git docker-push-from-git`

102
README.md
View file

@ -1,27 +1,70 @@
# agecem/agecem-org
<h1 align="center" style="border-bottom: none">
<a href="https://agecem.org/" target="_blank">
<img alt="agecem/agecem-org" src="frontend/public/icones/agecem-logo.svg" width="400px"/>
</a><br>agecem-org
</h1>
Site web de l'AGECEM.
Code source du site web officiel de l'Association Générale Étudiante du Cégep Édouard-Montpetit (AGECEM)
## Description
*Fondée en 1976, lAssociation Étudiante est un organisme sans but lucratif voué à la défense des étudiant·e·s inscrit·e·s à lenseignement régulier du Campus de Longueuil du Cégep Édouard-Montpetit, quiels étudient de jour ou de soir, à temps plein ou à temps partiel. Forte denviron 6000 membres, elle veille à promouvoir un milieu pédagogique sain en se consacrant à les représenter, tant au niveau académique, politique, social, quenvironnemental.*
Le backend du site utilise Go avec [labstack/echo](https://github.com/labstack/echo) comme routeur de requêtes.
Le frontend du site utilise HTML et CSS, avec une utilisation minimale de JavaScript.
Le backend utilise [go-echo](https://echo.labstack.com/).
## Prérequis
- `docker`
- `docker-compose`
GNU Make est recommandé pour profiter des pipelines définis dans le fichier `Makefile`:
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.
- [make](https://www.gnu.org/software/make/)
## Procédure
Pour déployer une version allégée (sans base de données ou docker):
Le lifecycle du serveur est maintenu par containers, en utilisant `docker-compose`.
- [go](https://go.dev/)
### Exemples d'utilisation de docker-compose
Pour déployer le projet localement par containers:
*L'exemple suivant assume que minio est déployé par docker-compose en même temps que le serveur web.*
- [docker](https://www.docs.docker.com/)
- [docker-compose](https://docs.docker.com/compose/)
Remplir .env avec les credentials que minio utilisera pour sa configuration initiale.
Pour déployer sur kubernetes:
Remplacer `agecem-org` par quelque chose de sécurisé.
- [kubectl](https://kubernetes.io/docs/tasks/tools/)
*note: L'installation de docker, docker-compose, make, go, kubectl n'est pas couverte par ce projet et doit être effectuée en se référant à la documentation de votre système d'exploitation.*
## Démarrage rapide
### Localement en version allégée
Pour un environnement simplifié sans minio ou docker, seul le toolchain `go` devrait être nécessaire au démarrage du serveur.
Avec [go](https://go.dev/) installé et fonctionnel, exécuter:
`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`
`agecem-org.yaml` doit être remplacé par l'emplacement du 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`
Cela démarrera un serveur web `agecem/agecem-org`, qui peut être configuré au préalable avec le fichier `$HOME/.agecem-org.yaml`.
*note: le serveur [minio](https://min.io/) requis pour la documentation n'est pas démarré avec cette option, et ne peut donc pas être testé en détails. Par contre, le contenu statique et les thèmes devraient être bien appliqués, ce qui rend cette option idéale pour du développement rapide et léger ne nécessitant pas accès à la documentation.*
### Localement avec docker-compose
Pour déployer une version complète, locale, et isolée, `docker-compose` est l'option la plus simple.
Il est nécessaire de premièrement créer un fichier `.env` contenant le minimum de configuration; les credentials pour minio:
```
# .env
@ -29,36 +72,33 @@ 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.
**important: en production, il est critique de changer ces valeurs!**
`$ docker-compose up -d --build`
Ensuite, avec [docker](https://www.docs.docker.com/) et [docker-compose](https://docs.docker.com/compose/) installés et fonctionnels, exécuter:
Voir l'état des containers
`make docker-build docker-deploy`
`$ docker-compose ps`
Cela démarrera 2 containers:
Voir les logs des containers
- un serveur web `agecem/agecem-org`
- un serveur [minio](https://min.io/)
`$ docker-compose logs`
*note: La configuration peut être modifiée, voir les volumes déclarés dans le fichier `compose.yaml` pour le named volume de configuration du serveur.*
Détruire les containers
Pour voir l'état des containers:
`$ docker-compose down`
`docker-compose ps`
### Exemple de développement sans base de données ou docker
Pour voir les logs des containers:
Pour un environnement simplifié sans minio ou docker, seul le toolchain `go` devrait être nécessaire au démarrage du serveur.
`docker-compose logs`
Pour une exécution sans installation permanente, veuillez utiliser:
Pour détruire les containers déployés localement:
`$ go run ./cmd/agecemorg/ server`
`docker-compose down`
Si nécessaire, un fichier de config peut être déposé dans `$HOME/.agecem-org.yaml` ou spécifié tel que:
## Pipelines avancés
`$ go run ./cmd/agecemorg/ server --config agecem-org.yaml`
### Build et push image vers le repo officiel
`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`
`make docker-build docker-tag-from-git docker-push-from-git`