Configuration technique — site ALISP
Architecture
- Site : Quarto (type website), rendu en local
- Hébergement : Netlify (déploiement via
quarto publish netlify, pas de build CI) - Repo :
alisp59/site-alispsur GitHub (migré depuis Codeberg) - CMS : Sveltia CMS (
alisp.fr/admin) - Domaine :
alisp.fr
Comptes et accès
| Service | Compte | Rôle |
|---|---|---|
| GitHub | alisp59 |
Propriétaire du repo, compte partagé pour l’asso et login CMS |
| GitHub | hebstr |
Collaborateur, reçoit les notifications PR, review/merge |
| Cloudflare Workers | asso-isp-lille |
Héberge le proxy OAuth pour Sveltia CMS |
| Netlify | — | Héberge le site, lié au repo GitHub (builds désactivés) |
CMS — Sveltia CMS
Fichiers
admin/index.html: charge Sveltia CMS via CDN (unpkg.com/@sveltia/cms)admin/config.yml: configuration des collections et du backend
Backend
backend:
name: github
repo: alisp59/site-alisp
branch: main
base_url: https://sveltia-cms-auth.asso-isp-lille.workers.devLe backend github communique directement avec l’API GitHub via OAuth (Git Gateway deprecated par Netlify).
OAuth
L’authentification passe par un proxy OAuth déployé sur Cloudflare Workers : - Worker : sveltia-cms-auth.asso-isp-lille.workers.dev - Source : sveltia/sveltia-cms-auth - Variables d’environnement (dans Cloudflare) : GITHUB_CLIENT_ID, GITHUB_CLIENT_SECRET, ALLOWED_DOMAINS (alisp.fr)
L’OAuth App GitHub est enregistrée sur le compte alisp59 : - Callback URL : https://sveltia-cms-auth.asso-isp-lille.workers.dev/callback
Collection blog
collections:
- name: blog
folder: blog
path: "{{slug}}/index"
extension: qmd
frontmatter_delimiter: "---"Structure des articles : blog/{slug}/index.qmd avec frontmatter YAML (title, author, date, description, categories, image).
Quarto
Intégration CMS
Le dossier admin/ est copié dans _site/ via resources dans _quarto.yml :
project:
type: website
resources:
- admin/**Déploiement
quarto render && quarto publish netlifyNetlify ne build pas — il sert uniquement les fichiers déployés par quarto publish. Le site Netlify est lié au repo GitHub uniquement pour que Sveltia CMS puisse créer des branches/PR.
Notifications
alisp59: notifications email désactivées (Settings > Notifications)hebstr: collaborateur sur le repo, Watch > All Activity → reçoit les notifs de PR
SSH
Clé SSH ed25519 configurée sur le compte alisp59 pour les push Git depuis la machine locale.
git remote -v
# origin git@github.com:alisp59/site-alisp.gitRefaire le setup from scratch
- Créer un repo GitHub vide
- Configurer le remote SSH et push le code
- Créer un compte Cloudflare Workers, déployer sveltia-cms-auth (bouton Deploy)
- Créer une OAuth App GitHub avec callback
https://<worker-url>/callback - Ajouter
GITHUB_CLIENT_ID,GITHUB_CLIENT_SECRET,ALLOWED_DOMAINSdans les variables du worker - Créer
admin/index.htmletadmin/config.yml(voir sections ci-dessus) - Ajouter
resources: [admin/**]dans_quarto.yml - Connecter Netlify au repo GitHub, désactiver les builds
quarto render && quarto publish netlify- Tester
<domaine>/admin