Checklist pour le lancement de Firebase

Ce document contient une checklist des bonnes pratiques et des points à prendre en compte avant de lancer une application Firebase en production.

Bonnes pratiques générales pour la publication

  •  Assurez-vous d'avoir testé toutes vos modifications dans l'environnement Firebase Local Emulator Suite (pour les produits compatibles) avant de les déployer en production. Des tests approfondis peuvent vous aider à éviter des erreurs coûteuses.

  • Commencez à appliquer Firebase App Check pour chaque service compatible. App Check permet de s'assurer que seules vos applications peuvent accéder à vos services et ressources de backend.

  • Consultez la checklist générale de sécurité de Firebase.

  • Utilisez les déploiements Firebase Remote Config pour déployer de nouvelles fonctionnalités et mises à jour dans votre application de manière sécurisée et progressive.

  •  Si ce n'est pas déjà fait, envisagez de configurer Firebase Crashlytics. Il s'agit d'un outil léger de création de rapports de plantage en temps réel qui vous aide à suivre, à prioriser et à corriger les problèmes de stabilité qui nuisent à la qualité de votre application.

Connaître les limites de votre forfait et définir des alertes de budget

  •  Assurez-vous de ne pas dépasser les limites et quotas d'utilisation après le passage en production, en particulier si vous utilisez le forfait Spark sans frais. Envisagez de passer au forfait Blaze avec paiement à l'usage.

  • Configurez des alertes budgétaires pour votre projet.

    • Notez que les alertes de budget ne sont pas des plafonds de budget. Une alerte vous enverra des communications lorsque vous approcherez ou dépasserez le seuil que vous avez configuré, afin que vous puissiez prendre des mesures dans votre application ou votre projet.

    • Envisagez de configurer des alertes et des actions avancées, comme des fonctions qui désactiveront la facturation en réponse aux alertes.

    • Si vous utilisez Firebase AI Logic, Firebase App Hosting, Cloud Functions for Firebase et Firebase Extensions, nous vous recommandons vivement de configurer des limites de dépenses. Le service concerné sera alors suspendu si votre projet atteint le budget défini pour ce service.

  •  Surveillez votre utilisation dans les tableaux de bord spécifiques aux produits ou dans le tableau de bord central Utilisation et facturation de la console Firebase.

Assurez-vous que vos projets et applications Firebase respectent les bonnes pratiques

Que vous soyez un développeur seul ou une équipe de grande taille, il est important de vous assurer que vos projets, applications et ressources Firebase sont protégés, sécurisés et peuvent évoluer en fonction des changements dans votre équipe.

Il est utile de se rappeler qu'un projet Firebase n'est en fait qu'un projet Google Cloud avec les services et configurations Firebase activés. Cela signifie que de nombreuses bonnes pratiques recommandées par Google Cloud s'appliquent également à Firebase.

  •  Utilisez différents projets Firebase pour le développement, les tests et la production.

    Essayez de limiter l'exposition inattendue au projet associé à votre application de production. En savoir plus sur la configuration des workflows de développement

  •  Protégez vos projets importants, en particulier celui associé à votre application de production.

    • Utilisez les privilèges de projet pour éviter toute suppression accidentelle de projet.

    • Appliquez un tag"Prod" dans la console Firebase pour identifier plus facilement votre environnement de production.

  • Si ce n'est pas déjà fait, envisagez de configurer une Google Cloud organisation et d'y ajouter vos projets Firebase.

  • Ajoutez plusieurs propriétaires à vos projets Firebase, surtout si votre projet n'est pas dans une organisation Google Cloud. Découvrez quand et comment attribuer des propriétaires à un projet Firebase.

  •  Ajoutez les membres du projet (également appelés "comptes principaux") en tant que groupes Google plutôt qu'individuellement.

    Les groupes vous permettent d'attribuer plus facilement des rôles aux membres de l'équipe de manière groupée et de gérer les accès à votre projet Firebase, en particulier si les membres de l'équipe changent ou partent.

  • Accordez à chaque membre du projet (également appelé "principal") le niveau d'accès approprié à vos projets et ressources Firebase. Pour en savoir plus, consultez Gérer l'accès aux projets avec Firebase IAM.

  • Assurez-vous que chaque membre du projet concerné (également appelé "principal") configure ses préférences pour recevoir des alertes sur des produits ou des états de projet spécifiques (comme les modifications du forfait ou les limites de quota). Pour en savoir plus, consultez Recevoir des alertes Firebase.

    Vous pouvez également personnaliser les "contacts essentiels" de votre projet si vous souhaitez que des membres spécifiques ou supplémentaires reçoivent des notifications. Cela est particulièrement utile pour s'assurer que les notifications concernant la facturation, les aspects juridiques et les modifications apportées aux produits sont envoyées à plusieurs personnes, et pas seulement au propriétaire du projet.

  • Restreignez vos clés API Firebase uniquement aux API qui doivent figurer dans la liste d'autorisation des API de la clé. Consultez également les informations sur les clés API dans la checklist de sécurité de Firebase.

Préparer des services spécifiques utilisés dans votre application

Chaque produit et service utilisé dans votre application peut avoir des considérations spécifiques lorsqu'il est utilisé en production.

Firebase AI Logic

Google Analytics

  • Définissez des conditions d'audience pour Google Analytics afin de commencer à collecter des données analytiques dès le lancement de votre application.

  • Envisagez d'activer l'exportation des données Google Analytics vers BigQuery pour pouvoir analyser vos données avec BigQuery SQL ou les exporter pour les utiliser avec vos propres outils.

  •  Limitez les propriétés utilisateur aux informations qui seront pertinentes pour le cycle de vie de l'ensemble de votre application. Le nombre de propriétés que vous pouvez créer est limité et vous ne pouvez pas les archiver.

  •  Vérifiez les paramètres des rôles Google Analytics pour vos propriétés et comptes Google Analytics. Ces autorisations sont gérées séparément des autorisations et des rôles IAM du projet Firebase.

  • Assurez-vous que votre ID App Store et votre ID d'équipe (si nécessaire) sont corrects dans les paramètres du projet de la console Firebase.

App Check

  • Assurez-vous que l'ID de votre équipe est correct dans les paramètres du projet de la console Firebase.

  • Si ce n'est pas déjà fait, commencez à appliquer Firebase App Check pour chaque service compatible. App Check permet de s'assurer que seules vos applications peuvent accéder à vos services et ressources de backend.

Authentication

  • Désactivez tous les fournisseurs que vous n'utilisez pas (en particulier l'authentification anonyme).

  •  Si votre application utilise Se connecter avec Google, personnalisez votre écran de consentement OAuth.

  • Personnalisez votre domaine et votre expéditeur pour le service d'envoi d'e-mails Authentication.

  •  Si vous utilisez les services de validation par SMS Identity Platform, commencez à appliquer Firebase App Check et configurez une règle régionale pour les SMS afin de protéger votre application contre l'utilisation abusive des SMS.

  • Implémentez la gestion des erreurs sur les plates-formes Apple pour les erreurs Authentication courantes.

  • Ajoutez un hachage SHA-1 de la version pour le certificat de signature de votre application dans les paramètres du projet de la console Firebase. Le hachage SHA-1 est requis si votre application utilise la connexion par numéro de téléphone ou Se connecter avec Google (qui nécessite un client OAuth).

  • Ajoutez un contrôle des accès pour vos domaines afin d'empêcher toute utilisation non autorisée. Plus précisément, autorisez l'accès à votre domaine de production dans la section Authentication de la console Firebase (particulièrement important si vous utilisez des produits qui s'appuient sur Firebase Security Rules).

Cloud Firestore

Cloud Messaging

  • Envisagez d'activer l'exportation des données Cloud Messaging vers BigQuery pour pouvoir analyser vos données avec BigQuery SQL ou les exporter pour les utiliser avec vos propres outils.

  • Importez votre clé d'authentification APNs pour Cloud Messaging sur les applications Apple dans la console Firebase. Si vous utilisez des certificats APNs, assurez-vous que votre certificat APNs de production est importé.

Cloud Storage

Crashlytics

  • Assurez-vous que chaque membre du projet concerné (également appelé "principal") configure ses préférences pour recevoir des alertes sur Crashlytics ou l'état du projet (comme les modifications du forfait ou les limites de quota). Pour en savoir plus, consultez Recevoir des alertes Firebase.

  • Envisagez d'activer l'exportation des données Crashlytics vers BigQuery pour pouvoir analyser vos données avec BigQuery SQL ou les exporter pour les utiliser avec vos propres outils.

  • (Android et iOS natifs uniquement) Envisagez d'activer l'assistance IA dans Crashlytics pour vous aider à comprendre plus rapidement pourquoi un plantage s'est produit et ce que vous devez faire.

  •  Importez le fichier dSYM pour les builds de version afin de l'utiliser dans Crashlytics. Assurez-vous qu'Xcode peut traiter automatiquement les fichiers dSYM et les importer.

  • Importez le mappage ProGuard pour les versions à publier afin de l'utiliser dans Crashlytics. Vous pouvez importer des fichiers à l'aide de la CLI Firebase.

  • Associez Firebase à Google Play pour obtenir une vue plus détaillée de l'état de votre application Android. Par exemple, vous pouvez filtrer les rapports d'erreur de votre application par canal Google Play, ce qui vous permet de mieux cibler votre tableau de bord sur des versions spécifiques.

  •  Pour les builds ciblant Android et utilisant IL2CPP, assurez-vous d'importer les symboles natifs pour chaque exécution de build pour laquelle vous souhaitez disposer de symboles, que des modifications de code ou de configuration aient été apportées ou non.

Firebase ML

Performance Monitoring

  •  Assurez-vous que chaque membre du projet concerné (également appelé "principal") configure ses préférences pour recevoir des alertes concernant Performance Monitoring ou l'état du projet (comme les modifications du forfait ou les limites de quota). Pour en savoir plus, consultez Recevoir des alertes Firebase.

  • Envisagez d'activer l'exportation des données Performance Monitoring vers BigQuery pour pouvoir analyser vos données avec BigQuery SQL ou les exporter pour les utiliser avec vos propres outils.

Realtime Database

Remote Config

  • Assurez-vous que les règles expérimentales Remote Config n'affectent pas les utilisateurs de votre version et que les valeurs par défaut appropriées du serveur et de l'application sont distribuées dans votre application.

  • Envisagez de configurer un paramètre minimum_version dans Remote Config afin de pouvoir inviter ou obliger les utilisateurs à mettre à jour leur application si les versions antérieures deviennent incompatibles ou obsolètes.