Le site web officiel de l'Association Générale Étudiante du Cégep Édouard-Montpetit (AGECEM)
  • Go 57%
  • HTML 23.8%
  • CSS 17%
  • JavaScript 1%
  • Makefile 0.8%
  • Other 0.4%
Find a file
ariasat df8f8bdb66
All checks were successful
/ build (push) Successful in 1m31s
/ help (push) Successful in -8s
Merge pull request 'ui page statique accompagnement etudiant' (#63) from acc-etudiant into main
Reviewed-on: #63
Reviewed-by: dnova <dnova@noreply.agecem.org>
2026-07-30 12:04:03 -04:00
.forgejo/workflows feature: changements pour ui tests sur workflow runner avec basic.yaml 2026-07-06 14:03:41 -04:00
cmd/agecemorg feature: ajout d'un resolution avec plusieurs refs dans seed 2026-07-10 12:26:03 -04:00
examples/config [BREAKING] Change Config.Server.Documents type 2023-08-15 15:50:40 -04:00
frontend Merge branch 'main' into acc-etudiant 2026-07-30 12:01:41 -04:00
kubernetes kubernetes: ajouter example de config par kubernetes secret 2025-02-23 14:58:08 -05:00
queries Merge branch 'main' into blogue_filtres 2026-07-24 19:20:53 -04:00
scripts fix(scripts): déclaration de variables project 2025-05-06 18:19:16 -04:00
.cobra.yaml Ajouter cobra/viper pour gérer le cli 2023-03-28 02:35:42 -04:00
.gitignore fix: ignorer *.env 2026-03-13 12:13:55 -04:00
client.go refactor: changement de nom pour etre plus coherent par resolve form 2026-07-18 18:00:06 -04:00
client_test.go feat: ajout de test pour les filtres dans les blogues 2026-07-12 18:58:24 -04:00
compose.yaml fix: version fixed pour resolutions dans composed au lieu de latest 2026-07-10 10:50:38 -04:00
config.go Merge branch 'main' into resolutions 2026-07-09 15:44:10 -04:00
CONTRIBUTORS.md Update CONTRIBUTORS.md 2026-03-13 15:31:50 -04:00
db.go Merge branch 'main' into blogue_filtres 2026-07-24 19:20:53 -04:00
Dockerfile feature: ajout de queries dir dans dockerfile 2026-05-26 11:24:32 -04:00
entity.go feat: Ajout des methodes pour le filtrage dans le back 2026-07-08 19:35:09 -04:00
flag.go Merge branch 'main' into resolutions 2026-07-09 15:44:10 -04:00
go.mod Merge branch 'main' into resolutions 2026-07-09 15:44:10 -04:00
go.sum feature: import de resolutions 2026-07-09 11:45:39 -04:00
handler.go Merge branch 'main' into blogue_filtres 2026-07-24 19:20:53 -04:00
handler_ui.go Merge branch 'main' into acc-etudiant 2026-07-30 12:01:41 -04:00
LICENSE license: remplacer MIT par GPLv2 2023-12-12 17:29:23 -05:00
Makefile feature: seed pour resolutions 2026-07-09 15:21:48 -04:00
media.go refactor: fichier go dans /pkg -> root 2026-05-22 19:32:25 -04:00
middleware.go feat: ajout du midelware pour les func auth bearer etc 2026-05-26 13:02:00 -04:00
opts.go feat: Ajout des methodes pour le filtrage dans le back 2026-07-08 19:35:09 -04:00
README.md fix: envs manquant dans readme pour resolutions 2026-07-13 12:11:08 -04:00
request.go refactor: changement de nom pour etre plus coherent par resolve form 2026-07-18 18:00:06 -04:00
response.go refactor: changement de nom pour etre plus coherent par resolve form 2026-07-18 18:00:06 -04:00
response_ui.go feat: Ajout des filtres pour le blogues dans le admin 2026-07-12 19:48:01 -04:00
routes.go Merge branch 'main' into acc-etudiant 2026-07-30 12:01:41 -04:00
server.go feature: seed pour resolutions 2026-07-09 15:21:48 -04:00
src.Dockerfile feature: ajout de queries dir dans dockerfile 2026-05-26 11:24:32 -04:00
test.compose.yaml feature: service chrome dans test.compose pour ui tests 2026-07-06 12:19:59 -04:00
ui_test.go fix: ui test headers 2026-07-30 12:01:55 -04:00
validate.go feature: CRUD pages dans db.go 2026-05-25 15:45:39 -04:00
version.go refactor: fichier go dans /pkg -> root 2026-05-22 19:32:25 -04:00

agecem/agecem-org
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, 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 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

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

AGECEM_ORG_SERVER_API_POSTGRES_DATABASE='agecem'
AGECEM_ORG_SERVER_API_POSTGRES_HOST='db'
AGECEM_ORG_SERVER_API_POSTGRES_PASSWORD='agecem'
AGECEM_ORG_SERVER_API_POSTGRES_USER='agecem'
AGECEM_ORG_SERVER_API_POSTGRES_PORT='5432'
AGECEM_ORG_SERVER_API_POSTGRES_SSLMODE='disable'

AGECEM_ORG_SERVER_CALENDAR_DESKTOP_URL='calendar-desktop-url'
AGECEM_ORG_SERVER_CALENDAR_MOBILE_URL='calendar-mobile-url'

RESOLUTIONS_SERVER_API_POSTGRES_DATABASE='resolutions'
RESOLUTIONS_SERVER_API_POSTGRES_HOST='resolutions-db'
RESOLUTIONS_SERVER_API_POSTGRES_PASSWORD='resolutions'
RESOLUTIONS_SERVER_API_POSTGRES_USER='resolutions'
RESOLUTIONS_SERVER_API_KEY='une_cle_secrete_si_necessaire'

AGECEM_ORG_SERVER_RESOLUTIONS_HOST='resolutions-api'
AGECEM_ORG_SERVER_RESOLUTIONS_PORT='8080'
AGECEM_ORG_SERVER_RESOLUTIONS_KEY='une_cle_secrete_si_necessaire'

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

Run les test locaux

Il est nécessaire de premièrement créer un fichier test.env contenant le minimum de configuration; les credentials pour minio:

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

AGECEM_ORG_SERVER_API_POSTGRES_DATABASE='agecem'
AGECEM_ORG_SERVER_API_POSTGRES_HOST='db'
AGECEM_ORG_SERVER_API_POSTGRES_PASSWORD='agecem'
AGECEM_ORG_SERVER_API_POSTGRES_USER='agecem'
AGECEM_ORG_SERVER_API_POSTGRES_PORT='5432'
AGECEM_ORG_SERVER_API_POSTGRES_SSLMODE='disable'

Pour rouler les tests localement utilise make test

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

License

Ce projet est distribué sous les termes de la GNU General Public License, version 2.