fix: sécuriser les identifiants Firebase avec variables d'environnement

- Déplacement des identifiants Firebase vers .env
- Ajout de .env au .gitignore
- Installation de expo-constants
- Validation automatique des variables au démarrage
- Mise à jour de .env.example avec EXPO_PUBLIC_ prefix
- Mise à jour du README avec instructions .env

BREAKING CHANGE: Les identifiants Firebase doivent maintenant être configurés dans .env
This commit is contained in:
2025-10-23 18:22:54 +02:00
parent 1a36b24301
commit fd21fa27e3
6 changed files with 55 additions and 44 deletions

View File

@@ -3,19 +3,29 @@ import { getAuth } from 'firebase/auth';
import { getFirestore } from 'firebase/firestore';
import { getStorage } from 'firebase/storage';
// Configuration Firebase
// IMPORTANT: Remplacez ces valeurs par celles de votre projet Firebase
// Allez sur https://console.firebase.google.com/ > Paramètres du projet > Vos applications
// Configuration Firebase depuis les variables d'environnement
// Les identifiants sont stockés dans le fichier .env (non commité dans Git)
// Pour configurer : copiez .env.example vers .env et remplissez vos valeurs
const firebaseConfig = {
apiKey: "AIzaSyCwPKnHnU2O_ABm6gi-pnvGB8PQZ3l4y5o",
authDomain: "wallettracket-a4738.firebaseapp.com",
projectId: "wallettracket-a4738",
storageBucket: "wallettracket-a4738.firebasestorage.app",
messagingSenderId: "21315540695",
appId: "1:21315540695:web:e7bffb54e26d3290b1c292",
measurementId: "G-VXMLZBRPEK"
apiKey: process.env.EXPO_PUBLIC_FIREBASE_API_KEY,
authDomain: process.env.EXPO_PUBLIC_FIREBASE_AUTH_DOMAIN,
projectId: process.env.EXPO_PUBLIC_FIREBASE_PROJECT_ID,
storageBucket: process.env.EXPO_PUBLIC_FIREBASE_STORAGE_BUCKET,
messagingSenderId: process.env.EXPO_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
appId: process.env.EXPO_PUBLIC_FIREBASE_APP_ID,
measurementId: process.env.EXPO_PUBLIC_FIREBASE_MEASUREMENT_ID
};
// Vérification que toutes les variables sont définies
if (!firebaseConfig.apiKey || !firebaseConfig.projectId) {
throw new Error(
'❌ Configuration Firebase manquante!\n\n' +
'Veuillez créer un fichier .env à la racine du projet avec vos identifiants Firebase.\n' +
'Copiez .env.example vers .env et remplissez les valeurs.\n\n' +
'Consultez la documentation: Configuration-Firebase.md'
);
}
// Initialisation de Firebase
const app = initializeApp(firebaseConfig);