agecem-org/README.2.md

80 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<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>
Le **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
Avec [go](https://go.dev/) installé et fonctionnel, exécuter:
`make go-run`
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
```
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.*
TODO
## Pipelines avancés
### Build et push image vers le repo officiel
`make docker-build docker-tag-from-git docker-push-from-git`