Que fait firebase-basics ?
Utilisez cette compétence chaque fois que vous travaillez sur un projet utilisant des produits ou services Firebase, en particulier pour les applications mobiles ou web.
Aperçu
Firebase est une plateforme de développement d'applications de Google qui vous aide à créer, améliorer et développer votre application. Cette compétence fournit des directives et des connaissances fondamentales pour travailler efficacement avec les services Firebase.
Produits Firebase pris en charge
- Firestore : Base de données NoSQL flexible et évolutive pour le stockage et la synchronisation de données.
- Authentication : Services d'authentification utilisateur prêts à l'emploi.
- Cloud Functions : Code backend exécuté en réponse à des événements.
- Hosting : Hébergement rapide et sécurisé pour les applications web.
- Cloud Storage : Stockage d'objets pour les fichiers utilisateur.
- Realtime Database : Base de données en temps réel pour la synchronisation des données.
Configuration du projet
- Créez un projet Firebase via la console Firebase.
- Ajoutez une application (Android, iOS ou Web) au projet.
- Suivez les instructions du SDK pour initialiser Firebase dans votre projet.
Exemple d'initialisation (Web)
// Importation du SDK Firebase
import { initializeApp } from 'firebase/app';
// Configuration de votre projet Firebase
const firebaseConfig = {
apiKey: "VOTRE_API_KEY",
authDomain: "VOTRE_DOMAIN.firebaseapp.com",
projectId: "VOTRE_PROJECT_ID",
storageBucket: "VOTRE_BUCKET.appspot.com",
messagingSenderId: "VOTRE_SENDER_ID",
appId: "VOTRE_APP_ID"
};
// Initialisation de Firebase
const app = initializeApp(firebaseConfig);
Authentification
Utilisez Firebase Authentication pour gérer les connexions utilisateur avec des méthodes comme l'e-mail/mot de passe, Google, Facebook, etc.
Exemple : Connexion par e-mail et mot de passe
import { getAuth, signInWithEmailAndPassword } from 'firebase/auth';
const auth = getAuth();
signInWithEmailAndPassword(auth, email, password)
.then((userCredential) => {
// Utilisateur connecté
const user = userCredential.user;
})
.catch((error) => {
const errorCode = error.code;
const errorMessage = error.message;
});
Firestore
Firestore est une base de données NoSQL qui stocke les données dans des documents organisés en collections.
Exemple : Lecture et écriture basiques
import { getFirestore, doc, getDoc, setDoc } from 'firebase/firestore';
const db = getFirestore();
// Écrire un document
await setDoc(doc(db, "utilisateurs", "utilisateur1"), {
nom: "Dupont",
email: "[email protected]"
});
// Lire un document
const docSnap = await getDoc(doc(db, "utilisateurs", "utilisateur1"));
if (docSnap.exists()) {
console.log("Données du document :", docSnap.data());
} else {
console.log("Aucun document trouvé !");
}
Cloud Functions
Les Cloud Functions vous permettent d'exécuter du code backend en réponse à des événements Firebase.
Exemple : Fonction déclenchée par Firestore
const functions = require('firebase-functions');
// Fonction déclenchée lorsqu'un nouveau document est créé
const functions = require('firebase-functions');
exports.helloOnCreate = functions.firestore
.document('utilisateurs/{userId}')
.onCreate((snap, context) => {
const newValue = snap.data();
console.log('Nouvel utilisateur créé :', newValue);
});
Bonnes pratiques
- Utilisez des règles de sécurité pour protéger vos données.
- Limitez les accès non authentifiés.
- Structurez correctement vos données Firestore pour éviter des coûts inutiles.
- Utilisez les variables d'environnement pour stocker les configurations Firebase.
- Testez toujours vos règles de sécurité dans la console Firebase avant de les déployer.