40 lines
1.3 KiB
Markdown
40 lines
1.3 KiB
Markdown
# Site Web de [Balle Phénix](http://ballephenix.com)
|
|
|
|
## Stack
|
|
|
|
- **ASP.NET Core 9** — Razor Views (`Views/*.cshtml`), contrôleurs dans `Controllers/`
|
|
- **SQLite** par défaut (`phenix.db`), Postgres au choix via `DatabaseProvider`
|
|
- **Nix** — build et déploiement via `flake.nix` (service NixOS, domaine `ballephenix.com`)
|
|
- Les assets statiques vivent dans `static/` et sont servis par `app.config.WebRootPath = "static"`
|
|
|
|
## Développement
|
|
|
|
```shell
|
|
dotnet run
|
|
```
|
|
|
|
Base de données SQLite par défaut (`phenix.db`). La config se règle dans `appsettings.json`
|
|
(ou par variables d'environnement en prod, voir le module NixOS dans `flake.nix`).
|
|
|
|
Pour peupler une instance locale depuis la prod:
|
|
|
|
```shell
|
|
python dev/populate-db/populate.py --source https://ballephenix.com --target http://localhost:5000 --force
|
|
```
|
|
|
|
## Déploiement
|
|
|
|
Le build et le service NixOS sont décrits dans `flake.nix` (`packages.website` et
|
|
`nixosModules.x86_64-linux`). Le module déploie le binaire `Phenix` avec `static/`
|
|
et une base de données dans `/var/lib/phenix`.
|
|
|
|
## Outils d'administration
|
|
|
|
- `debut_saison.ts` — script Deno qui crée le calendrier de la saison: se connecte
|
|
via `GET /login` puis POST chaque partie à `/membre/new-game`. Mettre à jour les
|
|
identifiants en haut du fichier et les dates avant de le lancer.
|
|
|
|
```shell
|
|
deno run -A debut_saison.ts
|
|
```
|