Formulaire d'installation
Lorsque vous visitez pour la première fois après avoir uploadé , l'admin détecte qu'aucune configuration n'est intégrée (parce que est livré en stub pour le chemin sans build) et affiche un assistant
Lorsque vous visitez https://<votre-site>/admin/ pour la première fois après avoir uploadé dist/admin/, l'admin détecte qu'aucune configuration n'est intégrée (parce que config.js est livré en stub null pour le chemin sans build) et affiche un assistant d'installation au lieu de la page de connexion normale.
Cet assistant fait ce qu'un développeur ferait via .env : collecter les identifiants Firebase ou SQLite + Flexweg, les valider, et les persister pour que l'admin fonctionne.
Prérequis
Avant de lancer l'assistant, vous devez avoir :
Pour Firebase :
- Config Firebase copiée depuis la console Firebase (Project settings → General → Your apps → SDK setup) — six valeurs :
apiKey,authDomain,projectId,storageBucket,messagingSenderId,appId. Voir configuration projet Firebase. - Email + mot de passe admin bootstrap — l'utilisateur que vous avez créé dans Firebase Authentication. L'email DOIT correspondre à celui épinglé dans vos règles Firestore.
- Clé API Flexweg, URL du site, URL de base API — voir configuration compte Flexweg.
Pour SQLite :
- Clé API maître Flexweg — depuis Account → API keys. Elle est échangée contre un token scopé lors de l'installation puis n'est plus jamais utilisée par l'admin (seul le token scopé est persisté).
- Chemin SQLite — où le fichier
.sqlitesera stocké sur votre site Flexweg (ex./data/cms.sqlite). Si le fichier n'existe pas il est créé. - Email + mot de passe pour le premier compte admin (créé côté serveur lors de l'installation).
Si quelque chose manque, corrigez-le avant d'ouvrir l'assistant.
L'assistant
L'assistant a trois étapes :
Étape 1 — Conditions d'utilisation
Un document en 7 sections expliquant :
- Service gratuit — le CMS est fourni gratuitement par Flexweg
- Fourni tel quel — pas de garantie, peut contenir des bugs
- Votre contenu, votre responsabilité — vous gérez les droits d'auteur, les droits d'image, le RGPD, les licences tierces
- Votre compte Firebase / votre installation SQLite, votre sécurité — vous sécurisez votre projet (mots de passe, règles)
- Limitation de responsabilité — Flexweg n'est pas responsable de perte de revenus / de données
- Vos données restent à vous — le contenu vit dans votre Firebase + votre Flexweg (ou uniquement votre Flexweg en mode SQLite), aucune transmission tierce
- Usage légal — l'usage illégal / frauduleux peut entraîner la suspension de l'hébergement
Une case à cocher en bas : J'ai lu et accepté les conditions d'utilisation. Tant qu'elle n'est pas cochée, le bouton Continuer est désactivé.
Étape 2 — Choix du backend
Deux onglets : Firebase et Flexweg SQLite. Choisissez selon votre préférence — la suite de l'assistant s'adapte.
Onglet Firebase
Cinq sous-étapes : init Firebase + sign in, vérification de l'email admin, vérification email vérifié, test de l'API Flexweg, écriture de la config. Si l'email Firebase n'est pas vérifié, l'assistant déclenche un sendEmailVerification et vous demande de cliquer sur le lien reçu par mail avant de re-soumettre — c'est nécessaire car les règles Firestore demandent email_verified == true pour le bootstrap admin.
Onglet Flexweg SQLite
Une seule étape combinée : POST /api/v1/sqlite/auth/install échange la clé maître contre un token scopé, lance ensureSchema() pour créer les tables, enregistre l'admin via registerUser({masterApiKey}), persiste la clé Flexweg dans la table config SQLite, upload config.js rempli sur Flexweg, recharge avec tous les query params nettoyés.
Étape 3 — Reload
Après le clic final sur Installer, l'admin :
- Persiste la config dans
window.__FLEXWEG_CONFIG__ - Upload
config.jsrempli sur Flexweg - Force un
window.location.reload()pour que le prochain boot lise leconfig.jsfraîchement uploadé
Au reload, vous arrivez sur la page de connexion normale (Firebase) ou directement sur le tableau de bord si vous êtes déjà authentifié via le token SQLite. L'assistant ne se ré-affichera plus.
Réinitialiser l'assistant
Si vous voulez recommencer à zéro :
- Supprimez
/admin/config.jssur votre site Flexweg (ou remplacez son contenu parwindow.__FLEXWEG_CONFIG__ = null;) - Rechargez
/admin/— l'assistant réapparaît
C'est utile pour basculer de Firebase à SQLite ou inversement sans réinstaller l'admin complet.