alpinux.site.2026/README.md
Cédrix bc7e9f601b security: retire les configs serveur du dépôt public
Supprime tous les fichiers *.vhost.conf et *.service du suivi git.
Ils révèlent l'architecture interne (ports, chemins, utilisateurs système)
et sont désormais conservés localement dans infra/ (hors dépôt).

Sanitise les docs de déploiement et les .env.example :
- chemins système remplacés par des variables génériques
- ports internes retirés
- client IDs Keycloak remplacés par des placeholders

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 17:25:55 +02:00

91 lines
2.8 KiB
Markdown

# 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)
```
Les configurations serveur (Apache, systemd) sont gérées séparément et ne sont **pas versionnées**.
---
## Projets indépendants, liés par l'infrastructure
Chaque projet :
- utilise **AlpID** (SSO Keycloak) pour l'authentification quand nécessaire
- 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, 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
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
```
### 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
```
---
## Déploiement serveur
Voir `wiki/docs/technique/` pour la documentation.
Les fichiers de configuration serveur sont conservés localement hors dépôt.