Commit graph

40 commits

Author SHA1 Message Date
2211d566ab typo 2026-05-07 20:04:10 +00:00
Cédrix
762f0777e4 docs: corrige typo README + commit final avant migration multi-repo
Ce dépôt devient une archive. Chaque sous-dossier migre vers
son propre dépôt Gitea indépendant (public ou privé).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 17:44:13 +02:00
Cédrix
e50eec1785 security: remplace les chemins système hardcodés par des variables d'env
admin/builds.py : STATE_FILE, LOG_FILE, DEPLOY_SCRIPT lus depuis l'environnement
dynamic/db.py   : supprime le fallback de chemin système pour DATABASE
admin/.env.example : documente les nouvelles variables STATE_FILE, LOG_FILE

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 17:34:38 +02:00
Cédrix
9328c852cc Suppression de la référence mastodon pour alpinux 2026-05-03 17:27:38 +02:00
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
Cédrix
58c8b2ea7c refactor: réorganise le monorepo en sous-dossiers par sous-domaine
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>
2026-05-03 17:20:41 +02:00
Cédrix
80574a83f3 fix: admin.alpinux.org — sous-domaine dédié conforme à la convention ISPConfig
Remplace portail.alpinux.org.admin.conf (snippet incorrectement formaté)
par scripts/admin.alpinux.org.vhost.conf : VirtualHost complet HTTP+HTTPS,
reverse proxy Gunicorn port 5002, même structure que les autres vhosts.

admin/app.py : supprime x_prefix=1 du ProxyFix (plus de sous-chemin /admin/)
admin/.env.example : client Keycloak renommé admin-alpinux
scripts/alpinux-admin.service : description mise à jour

redirect_uri Keycloak attendu : https://admin.alpinux.org/auth/callback

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 16:01:47 +02:00
Cédrix
60eb8bc952 feat: interface admin portail.alpinux.org/admin/ — déclencher mkdocs build
Mini-app Flask (admin/) accessible à https://portail.alpinux.org/admin/ :
- Authentification AlpID OIDC, accès restreint au groupe « admins » Keycloak
- Bouton « Lancer mkdocs build » avec confirmation
- Exécution de deploy-wiki.sh en arrière-plan (thread), log capturé en direct
- Polling JS toutes les 2s pendant le build (status + log + historique)
- Affichage du journal en terminal sombre avec suivi automatique
- Historique des 20 derniers builds (date, déclencheur, résultat, durée)
- ProxyFix pour X-Forwarded-Proto / X-Script-Name (Apache reverse proxy)

Infrastructure :
- scripts/portail.alpinux.org.admin.conf : bloc ProxyPass pour ISPConfig
- scripts/alpinux-admin.service : systemd Gunicorn port 5002
- admin/.env.example, admin/requirements.txt

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 12:34:18 +02:00
Cédrix
00bd942110 feat: static.alpinux.org — images wiki récupérées, toutes les références migrées
- Logos et favicons sur static.alpinux.org/logo/
- 111 images DokuWiki récupérées depuis sauvegarde → static.alpinux.org/wiki/
- Toutes les références technique:namespace:fichier.png → https://static.alpinux.org/wiki/
- Suppression syntaxe DokuWiki (<WRAP>, liens cassés, URLs malformées)
- overrides/partials/logo.html pointe sur static.alpinux.org (plus de PNG dans git)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 12:31:53 +02:00
Cédrix
27847dfad3 feat: dynamic.alpinux.org — quiz interactifs Flask + AlpID OIDC
App Flask complète pour https://dynamic.alpinux.org :
- 10 quiz Linux, 5 niveaux (Découverte → Expert), 50+ questions
- Public : Découverte, Débutant, Intermédiaire (6 quiz)
- Membres AlpID : Avancé, Expert (4 quiz — Git, Admin, Sécurité, Bash)
- Navigation question par question avec avance automatique après choix
- Score calculé côté serveur, enregistré en SQLite si connecté
- Page profil : meilleurs scores par quiz + historique des tentatives

Authentification :
- OIDC via authlib + AlpID (Keycloak), SSO partagé avec Gitea/Nextcloud
- Décorateur @login_required, redirection post-login sur l'URL d'origine
- /auth/login, /auth/callback, /auth/logout

Structure :
- dynamic/app.py, db.py, quiz.py, auth_utils.py
- dynamic/routes/ (public.py, auth.py, protected.py)
- dynamic/templates/ (base, index, quiz/*, profil/)
- dynamic/static/ (style.css thème Alpinux, quiz.js vanilla)
- dynamic/data/quizzes.json (source de vérité des questions)
- dynamic/.env.example

Infrastructure :
- scripts/dynamic.alpinux.org.vhost.conf (Apache reverse proxy)
- scripts/dynamic.alpinux.org.service (systemd Gunicorn)
- docs/technique/deploiement-dynamic.md (procédure complète)
- mkdocs.yml : page de déploiement ajoutée à la nav Technique
- .gitignore : exclut venv/ et .env

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 12:09:37 +02:00
Cédrix
557e363480 fix: références cassées evenements.md + lien retour alpinux.org
- Correction liens DokuWiki (alpinux:, * au lieu de //, .md en trop)
- Suppression liens vers pages inexistantes (events-logs, dates-cles)
- Bandeau de retour vers www.alpinux.org sur toutes les pages wiki

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 10:11:11 +02:00
Cédrix
a580d98518 feat: widget événements dynamiques depuis le calendrier Nextcloud
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 10:05:34 +02:00
Cédrix
14cb68c4c5 fix: logo wiki servi depuis docs/assets/ (hors git, généré par build-assets.py)
overrides/partials/logo.html : remplace l'URL static.alpinux.org par
{{ base_url }}/assets/alpinux-logo.png — le logo est inclus dans le
build MkDocs, pas servi depuis le CDN.

scripts/build-assets.py : sépare les deux destinations :
- docs/assets/alpinux-logo.png (200×200, pour le wiki)
- /tmp/alpinux-static-assets/ (512px + favicons → static.alpinux.org/logo/)
Plus d'argument --out ; les chemins sont fixes et documentés.

docs/technique/deploiement-wiki.md :
- schéma mis à jour (SVG → build-assets.py → PNG → mkdocs build)
- ajout de l'étape 3 "Générer le logo" dans la procédure manuelle
- script deploy-wiki.sh inclut python3 scripts/build-assets.py
- tableau résumé mis à jour
- prérequis : ajout pillow et chromium

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 10:05:12 +02:00
Cédrix
096edc378e docs: procédure de déploiement du wiki (git pull + mkdocs build)
Nouveau fichier docs/technique/deploiement-wiki.md :
- schéma du flux Gitea → build → Apache
- prérequis serveur (pip install mkdocs-material, clone du dépôt)
- procédure manuelle pas à pas (git pull, mkdocs build --strict)
- script deploy-wiki.sh prêt à l'emploi
- automatisation via webhook Gitea + démon webhook
- tableau des erreurs courantes et mkdocs serve pour tests locaux

mkdocs.yml : page ajoutée en tête de la section Technique
docs/contribuer.md : lien vers la page de déploiement depuis l'étape 5

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 10:05:12 +02:00
Cédrix
da8b6e7fee docs: guide de contribution pas à pas (AlpID, Gitea, pull request, MkDocs)
Nouveau fichier docs/contribuer.md :
- création de compte AlpID et connexion SSO à Gitea
- modifier une page existante via l'éditeur web Gitea
- créer un nouvel article (nommage, structure, choix du dossier)
- ouvrir une pull request et comprendre le cycle de relecture
- explication du pipeline de publication MkDocs (build → deploy)
- mini-référence Markdown (titres, listes, liens, code, admonitions, tableaux)

mkdocs.yml : entrée "Contribuer" ajoutée en deuxième position dans la nav
docs/index.md : section Contribuer enrichie avec lien direct vers le guide
docs/alpinux/faq.md : corrige le lien DokuWiki cassé alpinux:install-party.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 10:05:12 +02:00
Cédrix
40bf40cec2 Install Party Printemps 2026 clôturée — présentation reportée en septembre
install-party.md : marque l'Install Party du 28 mars comme terminée,
annonce une présentation en septembre 2026 (date à confirmer).

SEO & métadonnées (home/index.html, overrides/main.html) :
- Open Graph, Twitter Card, structured data Schema.org (Organization / WebSite)
- canonical, rel="me" Mastodon, aria-label nav, dimensions logo explicites

Wiki (docs/) :
- meta description sur index.md et alpinux/index.md
- boutons MkDocs Material sur alpinux/index.md, liens corrigés

Infra :
- robots.txt pour alpinux.org et wiki.alpinux.org
- sitemap.xml home
- configs vhost Apache alpinux.org et wiki.alpinux.org
- suppression alpinux-logo.png (binaire servi depuis static.alpinux.org)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 10:05:12 +02:00
59795da35c Supprimer docs/assets/alpinux-logo.svg 2026-05-03 07:33:20 +00:00
Cédrix
565165cc70 Architecte static.alpinux.org : assets binaires hors git
- Logo SVG (source texte) ajouté dans docs/assets/alpinux-logo.svg
- .gitignore : exclut *.png, *.ico, docs/assets/images/ (binaires → static.alpinux.org)
- overrides/partials/logo.html : logo depuis https://static.alpinux.org/logo/
- overrides/main.html : favicons depuis static.alpinux.org via {% block extrahead %}
- mkdocs.yml : logo → SVG, ajout pymdownx.emoji (icônes Material)
- home/index.html : page d'accueil alpinux.org (logo + favicon depuis static.alpinux.org, carte dynamic.alpinux.org)
- scripts/build-assets.py : génère PNG/favicon depuis le SVG source
- scripts/static.alpinux.org.vhost.conf : template vhost Apache

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 08:46:06 +02:00
Wiki Alpinux
2fa0fe0da9 Ajout logo Alpinux, page communication, typographie A[l]p[inux] Segoe UI 2026-05-02 22:39:54 +02:00
Wiki Alpinux
8e6345aaba Migration vers MkDocs Material — contenu DokuWiki converti, thème Alpinux 2026-05-02 22:29:17 +02:00
Cédrix
2c60acb55d doc whisper : suppression d'informations non essentielles 2026-03-29 17:17:11 +02:00
Cédrix
127f63e836 désactivtation de brasero 2026-03-27 00:49:05 +01:00
Cédrix
5c489d9117 ajout d'outils OCR, mp3TAG, affichage photos 2026-03-27 00:45:17 +01:00
Cédrix
db639b82f6 keepassxc conseillé d'etre en flatpack 2026-03-27 00:44:06 +01:00
Cédrix
3ad3f05a75 precision surle script local et celui dispo sur git 2026-03-26 01:10:35 +01:00
Cédrix
658bdb0fb5 erreur de syntaxe 2026-03-26 01:09:14 +01:00
Cédrix
9c621a61ac adresse de récupération du scritp post-install 2026-03-26 01:07:48 +01:00
Cédrix
8039f09ec2 -destruction sécurisée 2026-03-26 00:42:10 +01:00
Cédrix
bd99a2896e ajout d'un disque par défaut 2026-03-26 00:37:29 +01:00
Cédrix
59a3154d15 restauration firefox pour le user et non root 2026-03-26 00:34:01 +01:00
Cédrix
1e102a22a4 init install.sh 2026-03-25 23:51:36 +01:00
Cédrix
8b8ab7a5dc correction typo / ajout de la prestation openOffice / ajout idées presentations: 2026-03-25 12:08:16 2026-03-25 12:08:16 +01:00
Cédrix
bcae83ed22 vault backup: 2026-03-19 20:12:15 2026-03-19 20:12:15 +01:00
763ea3ad13 Actualiser articles/Guide d'installation - Linux Mint (depuis Windows).md 2026-03-19 19:11:18 +00:00
Cédrix
553fd347dd vault backup: 2026-03-19 19:56:57 2026-03-19 19:56:57 +01:00
Cédrix
5fc1231145 vault backup: 2026-03-19 19:56:47 2026-03-19 19:56:47 +01:00
Cédrix
39bf53751c Nettoyage de l'historique selon le .gitignore 2026-03-19 19:35:04 +01:00
Cédrix
e55fcd9e23 vault backup: 2026-03-19 19:07:57 2026-03-19 19:07:57 +01:00
Cédrix
11f072e3a1 vault backup: 2026-03-19 19:07:07 2026-03-19 19:07:07 +01:00
Cédrix
165a3e16c1 premier commit 2026-03-19 19:05:09 +01:00