alpinux.site.2026/mkdocs.yml
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

98 lines
2.5 KiB
YAML

site_name: Wiki Alpinux
site_url: https://wiki.alpinux.org
site_dir: /var/www/clients/client1/web2/web/wiki-static
site_description: Documentation, guides et ressources du LUG Alpinux — Savoie
repo_url: https://gitea.alpinux.org/alpinux.cedrica5l/alpinux.site.2026
repo_name: Contribuer sur Gitea
edit_uri: ""
theme:
name: material
language: fr
custom_dir: overrides
palette:
- scheme: default
primary: custom
accent: custom
features:
- navigation.tabs
- navigation.sections
- navigation.indexes
- navigation.top
- search.highlight
- search.suggest
- content.code.copy
- content.code.select
font:
text: Roboto
code: Roboto Mono
icon:
repo: fontawesome/brands/git-alt
extra_css:
- stylesheets/alpinux.css
markdown_extensions:
- admonition
- pymdownx.details
- pymdownx.superfences
- pymdownx.highlight:
anchor_linenums: true
line_spans: __span
- pymdownx.inlinehilite
- pymdownx.snippets
- attr_list
- md_in_html
- tables
- toc:
permalink: true
- footnotes
- pymdownx.emoji:
emoji_index: !!python/name:material.extensions.emoji.twemoji
emoji_generator: !!python/name:material.extensions.emoji.to_svg
extra:
social:
- icon: fontawesome/brands/mastodon
link: https://mamot.fr/@alpinux
name: Alpinux sur Mastodon
generator: false
copyright: "© Alpinux — LUG de Savoie | <a href='https://portail.alpinux.org'>Portail</a>"
nav:
- Accueil: index.md
- Contribuer: contribuer.md
- Alpinux:
- alpinux/index.md
- FAQ: alpinux/faq.md
- Install Party: alpinux/install-party.md
- Présentations passées: alpinux/presentations.md
- Événements & RDV: alpinux/evenements.md
- Présentations:
- presentations/libreoffice.md
- presentations/linux-mint-guide.md
- presentations/kicad.md
- presentations/whisper.md
- Idées de sujets: presentations/idees.md
- Guides pratiques:
- guides/linux-mint-depuis-windows.md
- guides/linux-mint-parametres.md
- guides/linux-mint-trousse.md
- guides/utiliser-linux-mint.md
- guides/docker.md
- guides/chiffrement.md
- guides/sauvegardes.md
- guides/tesseract.md
- guides/ventoy.md
- Technique:
- technique/deploiement-wiki.md
- technique/deploiement-dynamic.md
- technique/git.md
- technique/nextcloud.md
- technique/matrix.md
- technique/arduino-ide.md
- technique/serveur-debian.md
- technique/bigbluebutton.md
- technique/ateliers.md
- Communication: communication/index.md