.forgejo/workflows | ||
cmd/agecemorg | ||
examples/config | ||
frontend | ||
kubernetes | ||
pkg/agecemorg | ||
scripts | ||
.cobra.yaml | ||
.gitignore | ||
compose.yaml | ||
Dockerfile | ||
go.mod | ||
go.sum | ||
LICENSE | ||
Makefile | ||
README.md |
agecem-org
Code source du site web officiel de l'Association Générale Étudiante du Cégep Édouard-Montpetit (AGECEM)
Description
Fondée en 1976, l’Association Étudiante est un organisme sans but lucratif voué à la défense des étudiant·e·s inscrit·e·s à l’enseignement régulier du Campus de Longueuil du Cégep Édouard-Montpetit, qu’iels étudient de jour ou de soir, à temps plein ou à temps partiel. Forte d’environ 6000 membres, elle veille à promouvoir un milieu pédagogique sain en se consacrant à les représenter, tant au niveau académique, politique, social, qu’environnemental.
Le backend du site utilise Go avec 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
:
Pour déployer une version allégée (sans base de données ou docker):
Pour déployer le projet localement par containers:
Pour déployer sur kubernetes:
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 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
où 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 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 et docker-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
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
Contact
Pour toute question ou assistance concernant l'Association Générale Étudiante du Cégep Édouard-Montpetit (AGECEM):
- Adresse physique: Local B-31, 945 Chemin de Chambly, Longueuil, QC J4H 3M6
- Téléphone: (450) 679-7375
- Courriel: permanence@agecem.org