# 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 ```