Skip to content

Repository files navigation

pipeline status` coverage report

Privateer

Privateer est une application de gestions d'évènements CTF réalisée dans le cadre du projet pilote en réalisation conjointe pour les cours INFM5151 et INF6150 à l'UQAM, session Automne 2025.

Le but de l'application est d'offrir simultanément une interface web moderne pour la gestion de l'évènement et pour les participants, tout en proposant des conventions permettant de gérer les instances des challenges.

Backend

Le backend est conçu via FastAPI avec un serveur de base de données PostGreSQL (v18).

Frontend

Le frontend est conçu comme une application SPA avec Vue.js en Typescript et Tailwind.

Rouler l'application localement (Docker)

Prérequis : une installation Docker et docker compose + support host.docker.internal.

  1. Variables d'environnement (optionnel)

Il faut d'abord créer un fichier .env avec les variables d'environnement nécessaire. (voir le fichier .env.example)

  1. Gestion des certificats SSL

Privateer est configuré pour fonctionner avec SSL même en développement. Pour générer les certificats SSL racine locaux Privateer utilise mkcert. Un script est fourni dans ou make certs-install permet d'installer les certificats.

Il faut ensuite installer le certificat racine dans ton navigateur de développement. Les instructions diffèrent par navigateur, et parfois par système d'exploitation.

2.b) Initialisation des données

Des scripts permettent de générer un jeu de données minimales pour démo ou développement local. Les commandes dans le Makefile permettent de

  • seed: insertion simple sans validation des données. Attention, des doublons pourraient être créés
  • truncate: destruction simple de toutes les données dans la base de données, via TRUNCATE TABLE
  • regenerate: truncate + seed
  1. Démarrer l'application — deux options

Option A — Avec le Makefile (recommandé)

Depuis la racine du projet, le Makefile propose des cibles pratiques :

# Démarrer les services en arrière-plan et reconstruire si nécessaire
make up

# Arrêter les services
make down

# Voir les logs
make logs

# Lancer les tests backend via compose
make test-api

# Lancer les tests frontends via compose
make test-frontend

Option B — Utiliser directement docker compose

Si tu préfères lancer docker compose directement :

docker compose -f compose.yaml --profile dev up -d --build

# Arrêter
docker compose -f compose.yaml down

Note : le Makefile utilise docker compose --profile dev pour les commandes up/restart.

  1. Accès

Auteurs

  • Andres Sanabria
  • Arthure Gelinas
  • Dany Gagnon
  • Louis Vanier
  • Sublime Tshimpangila

License

Privateer est dévelopé et distribué sous la license GPLv3

About

A ctf manager like ctfd with deployment integration

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages