Intégration Firebase
Connectez Akendor à votre projet Firebase : les articles sont enregistrés comme documents dans votre collection Firestore et les images dans votre Cloud Storage. Idéal pour les sites et applications headless.
Paramètres de connexion
Collection Firestore
Saisissez le nom de la collection (par exemple articles) dans laquelle Akendor enregistrera les articles.
Dossier Firebase Storage
Indiquez le dossier de votre bucket Firebase Storage dans lequel importer les images des articles. Le bucket est facultatif : si vous ne l'indiquez pas, celui du projet par défaut est utilisé.
Compte de service
Pour permettre à Akendor d'écrire dans votre projet, il faut le fichier JSON de votre compte de service.
Compte de service configuré et protégé
Les identifiants sont masqués pour des raisons de sécurité.
Import du JSON
Akendor accepte l'intégralité du fichier JSON du compte de service : inutile d'extraire les clés une par une.
- Dans la console Firebase, ouvrez Paramètres du projet > Comptes de service.
- Générez et téléchargez une nouvelle clé privée (fichier JSON).
- Dans Akendor, allez dans Paramètres > Intégration Firebase, cliquez sur « Afficher le JSON » et collez le contenu du fichier.
Cosa scrive Akendor nel tuo Firestore
Quando pubblichi, Akendor scrive nella tua collezione un documento per ogni articolo, con i nomi dei campi in inglese. Qui sotto un esempio reale con tutti i campi. Usa i campi di testo e l'array paragraphs per costruire la pagina e ignora quelli che non ti servono.
{
"slug": "managing-generalized-anxiety",
"title": "How to manage generalized anxiety",
"subtitle": "Practical strategies and clinical insights",
"summary": "Generalized anxiety calls for a multifactorial approach...",
"category": "Mental health",
"language": "en",
"status": "pubblicato",
"articleDate": "Timestamp(2026-06-19T10:14:00Z)",
"lastUpdate": "Timestamp(2026-06-21T08:02:11Z)",
"image": "https://cdn.example.com/img/anxiety-cover.webp",
"readingTime": 7,
"wordCount": "1450",
"seoTitle": "How to manage generalized anxiety in 2026",
"metaDescription": "A complete guide to managing generalized anxiety...",
"keyword": "generalized anxiety",
"seoScore": 82,
"seoAudit": {
"analyzedAt": "2026-06-19T10:14:30.000Z",
"scores": { "onPage": 84, "readability": 78, "links": 70, "transitionWords": 80, "sentenceLength": 85, "readingTime": 90, "activeVoice": 75, "tone": 88 },
"strengths": ["Clear focus on one search intent"],
"weaknesses": ["Few links to other articles of the site"],
"suggestions": ["Add two internal links in the second section"],
"tips": ["Shorten the meta description to 155 characters"]
},
"embeddingVector": "Vector(768)",
"tableOfContents": ["What anxiety is", "Physical symptoms"],
"keyPoints": ["Anxiety is a natural mechanism", "Breathing helps reduce tension"],
"takeaways": ["Recognize the physical signals before they grow"],
"paragraphs": [
{
"id": "5074accf-3949-4945-8ae0-525e20c99de6",
"heading": "What anxiety is",
"content": "<p>Generalized anxiety disorder...</p>",
"image": "",
"practicalInsight": {
"type": "attenzione",
"boxTitle": "Watch for physical signals",
"points": ["Sudden racing heart", "Muscle tension"]
}
}
],
"faq": [
{ "question": "How long does an anxiety attack last?", "answer": "Usually between 10 and 30 minutes..." }
],
"externalReferences": [
{ "title": "pubmed.ncbi.nlm.nih.gov", "url": "https://pubmed.ncbi.nlm.nih.gov/..." }
],
"remoteDocId": "7Hq2xYb0n5LwEJc9TfRa"
}Da sapere
articleDate e lastUpdate sono Timestamp di Firestore. seoScore è il punteggio SEO da 0 a 100, calcolato alla pubblicazione, e seoAudit ne contiene il dettaglio (punti di forza e aree da migliorare). embeddingVector è il vettore che Akendor usa per trovare articoli simili: se non ti serve, ignoralo. I valori di status e practicalInsight.type sono codici fissi (pubblicato; consiglio, mito, esempio, attenzione). remoteDocId è l'identificativo del documento nella tua collezione.Des identifiants protégés
Le JSON est chiffré (AES-GCM) avant d'être envoyé à nos serveurs. Akendor l'utilise uniquement pour écrire dans la collection et le dossier que vous avez indiqués.
Remarque sur la visibilité
Cette configuration n'est visible que si vous avez choisi « Firebase » comme plateforme du site dans l'onglet Génération des paramètres.