Chaque site (wiki, home, dynamic, admin, static, portail, feedback) a désormais son propre dossier autonome avec ses scripts de déploiement. Ajoute README.md racine expliquant la structure et la convention git/Claude. Met à jour .gitignore pour les nouveaux chemins (wiki/docs/assets/). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2.9 KiB
2.9 KiB
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.
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.
cd ~/Projects/org.alpinux.owni/wiki && claude
cd ~/Projects/org.alpinux.owni/admin && claude
Démarrage rapide par projet
wiki (wiki.alpinux.org)
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)
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)
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).