This commit is contained in:
2026-03-20 03:06:30 +01:00
parent 864f5c1940
commit bd20abb745
6 changed files with 167 additions and 72 deletions
+28 -11
View File
@@ -1,4 +1,5 @@
import { initializeApp } from "https://www.gstatic.com/firebasejs/11.6.1/firebase-app.js";
import {
getAuth,
createUserWithEmailAndPassword,
@@ -6,6 +7,7 @@ import {
signOut,
onAuthStateChanged
} from "https://www.gstatic.com/firebasejs/11.6.1/firebase-auth.js";
import {
getFirestore,
doc,
@@ -13,44 +15,59 @@ import {
getDoc
} from "https://www.gstatic.com/firebasejs/11.6.1/firebase-firestore.js";
const firebaseConfig = {
apiKey: "AIzaSyDr1jMgGm0Oj_bOiWY-8Gy27IlzkmAzlOM",
authDomain: "parcoursupp-expl.firebaseapp.com",
projectId: "parcoursupp-expl",
storageBucket: "parcoursupp-expl.firebasestorage.app",
messagingSenderId: "973054617217",
appId: "1:973054617217:web:4d52af4280396976228f80"
};
apiKey: "AIzaSyDr1jMgGm0Oj_bOiWY-8Gy27IlzkmAzlOM",
authDomain: "parcoursupp-expl.firebaseapp.com",
projectId: "parcoursupp-expl",
storageBucket: "parcoursupp-expl.firebasestorage.app",
messagingSenderId: "973054617217",
appId: "1:973054617217:web:4d52af4280396976228f80"
};
const app = initializeApp(firebaseConfig);
const app = initializeApp(firebaseConfig);
const auth = getAuth(app);
const db = getFirestore(app);
const db = getFirestore(app);
// Créer un compte avec email et mot de passe
async function createAccount(email, password) {
return createUserWithEmailAndPassword(auth, email, password);
}
// Se connecter avec email et mot de passe
async function login(email, password) {
return signInWithEmailAndPassword(auth, email, password);
}
// Se déconnecter
async function logout() {
return signOut(auth);
}
// Écouter les changements d'état de connexion
function onUserChanged(callback) {
return onAuthStateChanged(auth, callback);
}
// Sauvegarder les données d'un utilisateur dans Firestore
async function saveUserData(uid, data) {
await setDoc(doc(db, "users", uid), data, { merge: true });
}
// Charger les données d'un utilisateur depuis Firestore
async function loadUserData(uid) {
const snap = await getDoc(doc(db, "users", uid));
return snap.exists() ? snap.data() : null;
var snap = await getDoc(doc(db, "users", uid));
if (snap.exists()) {
return snap.data();
} else {
return null;
}
}
export {
auth,
db,