# org.alpinux.owni — Monorepo Alpinux Dépôt unique de l'association **Alpinux** (LUG de Savoie). Gitea : https://gitea.alpinux.org/alpinux.cedrica5l/alpinux.site.2026 --- ## Structure Chaque sous-dossier correspond à un sous-domaine indépendant de `alpinux.org`. ``` org.alpinux.owni/ ├── wiki/ → wiki.alpinux.org MkDocs Material (documentation publique) ├── home/ → alpinux.org Page d'accueil statique ├── dynamic/ → dynamic.alpinux.org Flask — quiz et jeux (public + membres) ├── admin/ → admin.alpinux.org Flask — interface d'administration ├── static/ → static.alpinux.org CDN assets : logos, favicons, images OG ├── portail/ → portail.alpinux.org Portail membres (ISPConfig, Nextcloud…) └── feedback/ → feedback.alpinux.org Formulaire de retours (à construire) ``` --- ## Projets indépendants, liés par l'infrastructure Chaque projet : - a sa propre configuration Apache (`*.vhost.conf`) et son unit systemd (`*.service`) dans son dossier - utilise **AlpID** (SSO Keycloak — https://alpid.alpinux.org) pour l'authentification - a son propre environnement Python (`venv/`) et son fichier `.env` (non versionés) Les projets sont **liés** par le SSO partagé, le serveur commun (ISPConfig), et l'identité visuelle (logo depuis `static.alpinux.org`). --- ## Convention git et Claude > **Travailler dans le sous-dossier du projet concerné**, pas à la racine du dépôt. ```bash cd wiki/ # pour modifier le wiki ou MkDocs cd dynamic/ # pour modifier l'appli quiz cd admin/ # pour modifier l'interface admin ``` De même, lorsqu'on utilise **Claude Code** (ou tout autre outil IA) : lancer Claude depuis le sous-dossier du projet pour que le contexte soit limité à ce projet. ```bash cd ~/Projects/org.alpinux.owni/wiki && claude cd ~/Projects/org.alpinux.owni/admin && claude ``` --- ## Démarrage rapide par projet ### wiki (wiki.alpinux.org) ```bash cd wiki python3 scripts/build-assets.py # génère docs/assets/alpinux-logo.png pip install mkdocs-material mkdocs serve # dev local sur http://127.0.0.1:8000 mkdocs build --strict # build de prod dans site/ ``` ### dynamic (dynamic.alpinux.org) ```bash cd dynamic python3 -m venv venv && source venv/bin/activate pip install -r requirements.txt cp .env.example .env && nano .env # renseigner les clés AlpID flask run --port 5001 ``` ### admin (admin.alpinux.org) ```bash cd admin python3 -m venv venv && source venv/bin/activate pip install -r requirements.txt cp .env.example .env && nano .env # renseigner les clés AlpID flask run --port 5002 ``` --- ## Déploiement serveur Voir les fichiers `docs/technique/` dans `wiki/` pour la documentation complète. Chaque projet contient son propre `*.vhost.conf` (Apache ISPConfig) et `*.service` (systemd).