diff --git a/.gitignore b/.gitignore index a879380..ac038cd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,18 +1,20 @@ -site/ -__pycache__/ +wiki/site/ +wiki/__pycache__/ + +# Assets binaires — générés par wiki/scripts/build-assets.py +# Hébergés sur https://static.alpinux.org/logo/ +wiki/docs/assets/*.png +wiki/docs/assets/*.ico +wiki/docs/assets/images/ + dynamic/__pycache__/ dynamic/routes/__pycache__/ dynamic/venv/ dynamic/.env + admin/__pycache__/ admin/venv/ admin/.env -# Assets binaires — générés par scripts/build-assets.py -# Hébergés sur https://static.alpinux.org/logo/ -docs/assets/*.png -docs/assets/*.ico -docs/assets/images/ - # Obsidian (local uniquement) .obsidian/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..cf8573b --- /dev/null +++ b/README.md @@ -0,0 +1,90 @@ +# 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). diff --git a/scripts/admin.alpinux.org.vhost.conf b/admin/admin.alpinux.org.vhost.conf similarity index 100% rename from scripts/admin.alpinux.org.vhost.conf rename to admin/admin.alpinux.org.vhost.conf diff --git a/scripts/alpinux-admin.service b/admin/alpinux-admin.service similarity index 100% rename from scripts/alpinux-admin.service rename to admin/alpinux-admin.service diff --git a/scripts/dynamic.alpinux.org.service b/dynamic/dynamic.alpinux.org.service similarity index 100% rename from scripts/dynamic.alpinux.org.service rename to dynamic/dynamic.alpinux.org.service diff --git a/scripts/dynamic.alpinux.org.vhost.conf b/dynamic/dynamic.alpinux.org.vhost.conf similarity index 100% rename from scripts/dynamic.alpinux.org.vhost.conf rename to dynamic/dynamic.alpinux.org.vhost.conf diff --git a/feedback/README.md b/feedback/README.md new file mode 100644 index 0000000..b738924 --- /dev/null +++ b/feedback/README.md @@ -0,0 +1,26 @@ +# feedback.alpinux.org + +Formulaire de retours et suggestions pour l'association Alpinux. + +## Statut + +À construire. Ce sous-domaine n'est pas encore développé. + +## Idées + +- Formulaire simple (Flask ou statique) pour collecter les retours des participants aux événements +- Intégration AlpID optionnelle (retours anonymes possibles) +- Stockage SQLite ou envoi par e-mail vers une liste de l'association + +## Structure prévue + +``` +feedback/ +├── app.py # Flask app (à créer) +├── templates/ +├── static/ +├── requirements.txt +├── .env.example +├── feedback.alpinux.org.vhost.conf +└── feedback.alpinux.org.service +``` diff --git a/scripts/alpinux.org.vhost.conf b/home/alpinux.org.vhost.conf similarity index 100% rename from scripts/alpinux.org.vhost.conf rename to home/alpinux.org.vhost.conf diff --git a/portail/README.md b/portail/README.md new file mode 100644 index 0000000..2e049e9 --- /dev/null +++ b/portail/README.md @@ -0,0 +1,16 @@ +# portail.alpinux.org + +Portail membres de l'association Alpinux. + +## Statut + +Géré directement via **ISPConfig** sur le serveur. Le contenu de ce sous-domaine (Nextcloud, Dolibarr ou autre outil collaboratif) est installé et configuré côté serveur et n'est pas versioné dans ce dépôt. + +## Accès + +- URL : https://portail.alpinux.org +- Authentification : AlpID (SSO Keycloak — https://alpid.alpinux.org) + +## Notes + +Ce dossier est un espace réservé. Si un développement spécifique au portail est nécessaire (thème, plugin, scripts de déploiement), il sera ajouté ici. diff --git a/static/README.md b/static/README.md new file mode 100644 index 0000000..ee5d4e8 --- /dev/null +++ b/static/README.md @@ -0,0 +1,26 @@ +# static.alpinux.org + +CDN pour les fichiers binaires et assets statiques de l'association : logos, favicons, images Open Graph. + +## Contenu hébergé + +| Fichier | Usage | +|---------|-------| +| `logo/alpinux-logo-512.png` | Logo 512 px — page d'accueil alpinux.org, balises OG | +| `logo/alpinux-logo-192.png` | Logo 192 px — PWA / Android home screen | +| `logo/favicon-32.png` | Favicon 32 px | +| `logo/favicon-16.png` | Favicon 16 px | +| `logo/favicon.ico` | Favicon ICO multi-taille | + +Ces fichiers sont **générés** par `wiki/scripts/build-assets.py` (à partir du SVG source `wiki/docs/assets/alpinux-logo.svg`) et **copiés manuellement** sur le serveur dans le répertoire web de static.alpinux.org. Ils ne sont pas versionés dans ce dépôt. + +## Déploiement Apache + +Configurer le VirtualHost avec le fichier `static.alpinux.org.vhost.conf` présent dans ce dossier. + +```bash +# Sur le serveur, dans ISPConfig ou directement : +sudo cp static.alpinux.org.vhost.conf /etc/apache2/sites-available/ +sudo a2ensite static.alpinux.org +sudo systemctl reload apache2 +``` diff --git a/scripts/static.alpinux.org.vhost.conf b/static/static.alpinux.org.vhost.conf similarity index 100% rename from scripts/static.alpinux.org.vhost.conf rename to static/static.alpinux.org.vhost.conf diff --git a/articles/20260319 - presentation libreoffice.md b/wiki/articles/20260319 - presentation libreoffice.md similarity index 100% rename from articles/20260319 - presentation libreoffice.md rename to wiki/articles/20260319 - presentation libreoffice.md diff --git a/articles/Guide d'installation - Linux Mint (depuis Windows).md b/wiki/articles/Guide d'installation - Linux Mint (depuis Windows).md similarity index 100% rename from articles/Guide d'installation - Linux Mint (depuis Windows).md rename to wiki/articles/Guide d'installation - Linux Mint (depuis Windows).md diff --git a/articles/Kikad - Créer son premier circuit avec KiCad 9.0.md b/wiki/articles/Kikad - Créer son premier circuit avec KiCad 9.0.md similarity index 100% rename from articles/Kikad - Créer son premier circuit avec KiCad 9.0.md rename to wiki/articles/Kikad - Créer son premier circuit avec KiCad 9.0.md diff --git a/articles/Transcrire de l'audio avec Whisper sur Linux Mint.md b/wiki/articles/Transcrire de l'audio avec Whisper sur Linux Mint.md similarity index 100% rename from articles/Transcrire de l'audio avec Whisper sur Linux Mint.md rename to wiki/articles/Transcrire de l'audio avec Whisper sur Linux Mint.md diff --git a/articles/idee-presentations-themes.md b/wiki/articles/idee-presentations-themes.md similarity index 100% rename from articles/idee-presentations-themes.md rename to wiki/articles/idee-presentations-themes.md diff --git a/code/linux/linux-mint/install.sh b/wiki/code/linux/linux-mint/install.sh similarity index 100% rename from code/linux/linux-mint/install.sh rename to wiki/code/linux/linux-mint/install.sh diff --git a/docs/alpinux/evenements.md b/wiki/docs/alpinux/evenements.md similarity index 100% rename from docs/alpinux/evenements.md rename to wiki/docs/alpinux/evenements.md diff --git a/docs/alpinux/faq.md b/wiki/docs/alpinux/faq.md similarity index 100% rename from docs/alpinux/faq.md rename to wiki/docs/alpinux/faq.md diff --git a/docs/alpinux/index.md b/wiki/docs/alpinux/index.md similarity index 100% rename from docs/alpinux/index.md rename to wiki/docs/alpinux/index.md diff --git a/docs/alpinux/install-party.md b/wiki/docs/alpinux/install-party.md similarity index 100% rename from docs/alpinux/install-party.md rename to wiki/docs/alpinux/install-party.md diff --git a/docs/alpinux/presentations.md b/wiki/docs/alpinux/presentations.md similarity index 100% rename from docs/alpinux/presentations.md rename to wiki/docs/alpinux/presentations.md diff --git a/docs/communication/index.md b/wiki/docs/communication/index.md similarity index 100% rename from docs/communication/index.md rename to wiki/docs/communication/index.md diff --git a/docs/contribuer.md b/wiki/docs/contribuer.md similarity index 100% rename from docs/contribuer.md rename to wiki/docs/contribuer.md diff --git a/docs/guides/chiffrement.md b/wiki/docs/guides/chiffrement.md similarity index 100% rename from docs/guides/chiffrement.md rename to wiki/docs/guides/chiffrement.md diff --git a/docs/guides/docker.md b/wiki/docs/guides/docker.md similarity index 100% rename from docs/guides/docker.md rename to wiki/docs/guides/docker.md diff --git a/docs/guides/linux-mint-depuis-windows.md b/wiki/docs/guides/linux-mint-depuis-windows.md similarity index 100% rename from docs/guides/linux-mint-depuis-windows.md rename to wiki/docs/guides/linux-mint-depuis-windows.md diff --git a/docs/guides/linux-mint-parametres.md b/wiki/docs/guides/linux-mint-parametres.md similarity index 100% rename from docs/guides/linux-mint-parametres.md rename to wiki/docs/guides/linux-mint-parametres.md diff --git a/docs/guides/linux-mint-trousse.md b/wiki/docs/guides/linux-mint-trousse.md similarity index 100% rename from docs/guides/linux-mint-trousse.md rename to wiki/docs/guides/linux-mint-trousse.md diff --git a/docs/guides/sauvegardes.md b/wiki/docs/guides/sauvegardes.md similarity index 100% rename from docs/guides/sauvegardes.md rename to wiki/docs/guides/sauvegardes.md diff --git a/docs/guides/tesseract.md b/wiki/docs/guides/tesseract.md similarity index 100% rename from docs/guides/tesseract.md rename to wiki/docs/guides/tesseract.md diff --git a/docs/guides/utiliser-linux-mint.md b/wiki/docs/guides/utiliser-linux-mint.md similarity index 100% rename from docs/guides/utiliser-linux-mint.md rename to wiki/docs/guides/utiliser-linux-mint.md diff --git a/docs/guides/ventoy.md b/wiki/docs/guides/ventoy.md similarity index 100% rename from docs/guides/ventoy.md rename to wiki/docs/guides/ventoy.md diff --git a/docs/index.md b/wiki/docs/index.md similarity index 100% rename from docs/index.md rename to wiki/docs/index.md diff --git a/docs/presentations/idees.md b/wiki/docs/presentations/idees.md similarity index 100% rename from docs/presentations/idees.md rename to wiki/docs/presentations/idees.md diff --git a/docs/presentations/kicad.md b/wiki/docs/presentations/kicad.md similarity index 100% rename from docs/presentations/kicad.md rename to wiki/docs/presentations/kicad.md diff --git a/docs/presentations/libreoffice.md b/wiki/docs/presentations/libreoffice.md similarity index 100% rename from docs/presentations/libreoffice.md rename to wiki/docs/presentations/libreoffice.md diff --git a/docs/presentations/linux-mint-guide.md b/wiki/docs/presentations/linux-mint-guide.md similarity index 100% rename from docs/presentations/linux-mint-guide.md rename to wiki/docs/presentations/linux-mint-guide.md diff --git a/docs/presentations/whisper.md b/wiki/docs/presentations/whisper.md similarity index 100% rename from docs/presentations/whisper.md rename to wiki/docs/presentations/whisper.md diff --git a/docs/robots.txt b/wiki/docs/robots.txt similarity index 100% rename from docs/robots.txt rename to wiki/docs/robots.txt diff --git a/docs/stylesheets/alpinux.css b/wiki/docs/stylesheets/alpinux.css similarity index 100% rename from docs/stylesheets/alpinux.css rename to wiki/docs/stylesheets/alpinux.css diff --git a/docs/technique/arduino-ide.md b/wiki/docs/technique/arduino-ide.md similarity index 100% rename from docs/technique/arduino-ide.md rename to wiki/docs/technique/arduino-ide.md diff --git a/docs/technique/ateliers.md b/wiki/docs/technique/ateliers.md similarity index 100% rename from docs/technique/ateliers.md rename to wiki/docs/technique/ateliers.md diff --git a/docs/technique/bigbluebutton.md b/wiki/docs/technique/bigbluebutton.md similarity index 100% rename from docs/technique/bigbluebutton.md rename to wiki/docs/technique/bigbluebutton.md diff --git a/docs/technique/deploiement-dynamic.md b/wiki/docs/technique/deploiement-dynamic.md similarity index 100% rename from docs/technique/deploiement-dynamic.md rename to wiki/docs/technique/deploiement-dynamic.md diff --git a/docs/technique/deploiement-wiki.md b/wiki/docs/technique/deploiement-wiki.md similarity index 100% rename from docs/technique/deploiement-wiki.md rename to wiki/docs/technique/deploiement-wiki.md diff --git a/docs/technique/git.md b/wiki/docs/technique/git.md similarity index 100% rename from docs/technique/git.md rename to wiki/docs/technique/git.md diff --git a/docs/technique/matrix.md b/wiki/docs/technique/matrix.md similarity index 100% rename from docs/technique/matrix.md rename to wiki/docs/technique/matrix.md diff --git a/docs/technique/nextcloud.md b/wiki/docs/technique/nextcloud.md similarity index 100% rename from docs/technique/nextcloud.md rename to wiki/docs/technique/nextcloud.md diff --git a/docs/technique/serveur-debian.md b/wiki/docs/technique/serveur-debian.md similarity index 100% rename from docs/technique/serveur-debian.md rename to wiki/docs/technique/serveur-debian.md diff --git a/mkdocs.yml b/wiki/mkdocs.yml similarity index 100% rename from mkdocs.yml rename to wiki/mkdocs.yml diff --git a/overrides/main.html b/wiki/overrides/main.html similarity index 100% rename from overrides/main.html rename to wiki/overrides/main.html diff --git a/overrides/partials/logo.html b/wiki/overrides/partials/logo.html similarity index 100% rename from overrides/partials/logo.html rename to wiki/overrides/partials/logo.html diff --git a/scripts/build-assets.py b/wiki/scripts/build-assets.py similarity index 100% rename from scripts/build-assets.py rename to wiki/scripts/build-assets.py diff --git a/scripts/wiki.alpinux.org.vhost.conf b/wiki/scripts/wiki.alpinux.org.vhost.conf similarity index 100% rename from scripts/wiki.alpinux.org.vhost.conf rename to wiki/scripts/wiki.alpinux.org.vhost.conf