Cette page a été traduite par l'API Cloud Translation.
Switch to English

Comprendre les projets Firebase

Cette page offre un bref aperçu de plusieurs concepts importants concernant les projets Firebase. Lorsqu'ils sont disponibles, suivez les liens pour trouver des informations plus détaillées sur les fonctionnalités, les services et même d'autres plates-formes. Au bas de cette page, trouvez une liste des meilleures pratiques générales pour les projets Firebase.

Relation entre les projets, applications et produits Firebase

Un projet Firebase est l'entité de niveau supérieur de Firebase. Dans un projet, vous créez des applications Firebase en enregistrant vos applications iOS, Android ou Web. Après avoir enregistré vos applications auprès de Firebase, vous pouvez ajouter les SDK Firebase pour n'importe quel nombre de produits Firebase , tels que Analytics, Cloud Firestore, Performance Monitoring ou Remote Config.

Pour plus d'informations sur ce processus, consultez les guides de mise en route ( iOS | Android | web | Unity | C ++ ).

Relation entre les projets Firebase et Google Cloud Platform (GCP)

Lorsque vous créez un nouveau projet Firebase dans la console Firebase, vous créez en fait un projet Google Cloud Platform (GCP) dans les coulisses. Vous pouvez considérer un projet GCP comme un conteneur virtuel pour les données, le code, la configuration et les services. Un projet Firebase est un projet GCP doté de configurations et de services supplémentaires spécifiques à Firebase. Vous pouvez même créer un projet GCP d'abord, puis ajouter Firebase au projet plus tard.

Puisqu'un projet Firebase est un projet GCP:

Configurer un projet Firebase et enregistrer des applications

Vous pouvez configurer un projet Firebase et enregistrer des applications dans la console Firebase (ou, pour les cas d'utilisation avancés, via l' API REST Firebase Management ou la CLI Firebase ). Lorsque vous configurez un projet et enregistrez des applications, vous devez prendre des décisions organisationnelles et ajouter des informations de configuration spécifiques à Firebase à vos projets locaux.

Assurez-vous de passer en revue certaines bonnes pratiques générales au niveau du projet (au bas de cette page) avant de configurer un projet et d'enregistrer des applications.

Le nom du projet

Lorsque vous créez un projet, vous indiquez un nom de projet . Cet identifiant est le nom interne uniquement d'un projet dans la console Firebase , la console GCP et la CLI Firebase . Le nom du projet n'est exposé dans aucun produit, service ou ressource Firebase ou GCP visible publiquement. il sert simplement à vous aider à distinguer plus facilement entre plusieurs projets.

Vous pouvez modifier le nom d'un projet à tout moment dans les Paramètres du projet de la console Firebase. Le nom du projet s'affiche dans le volet supérieur.

Le numéro de projet

Un projet Firebase (et son projet GCP associé ) possède un numéro de projet . Il s'agit de l'identifiant canonique global unique attribué par Google pour le projet. Utilisez cet identifiant lors de la configuration des intégrations et / ou des appels d'API vers Firebase, Google ou des services tiers.

Appels API et numéro de projet

Pour de nombreux appels d'API, vous devez inclure un identifiant unique pour un projet. Bien que de nombreuses API acceptent l' ID de projet , il est recommandé d'utiliser le numéro de projet pour effectuer des appels d'API vers Firebase, Google ou des services tiers.

En savoir plus sur l'utilisation des identifiants de projet, en particulier le numéro de projet, dans la norme AIP 2510 de Google.

Trouvez le numéro du projet

  • Console Firebase: cliquez sur projet . Le numéro de projet est affiché dans le volet supérieur.

  • CLI Firebase: firebase projects:list . Le numéro de projet s'affiche avec tous les projets Firebase associés à votre compte.

  • API REST Firebase Management: appelez projects.list . Le corps de la réponse contient le numéro de projet dans l'objet FirebaseProject .

L'ID du projet

Un projet Firebase (et son projet GCP associé ) possède un ID de projet . Il s'agit d'un identifiant unique défini par l'utilisateur pour le projet sur l'ensemble de Firebase et GCP. Lorsque vous créez un projet Firebase, Firebase attribue automatiquement un ID unique au projet, mais vous pouvez le modifier pendant la configuration du projet. Cet identifiant doit généralement être traité comme un alias pratique pour référencer le projet.

Si vous supprimez un projet, l'ID de projet est également supprimé et ne peut plus jamais être utilisé par un autre projet.

Ressources Firebase et ID du projet

L'ID du projet s'affiche dans les ressources Firebase visibles publiquement, par exemple:

  • PROJECT_ID .web.app -domaine d'hébergement par défaut - PROJECT_ID .web.app et PROJECT_ID .firebaseapp.com
  • URL de la base de données en temps réel par défaut - PROJECT_ID .firebaseio.com
  • Nom du bucket Cloud Storage par défaut - PROJECT_ID .appspot.com

Pour toutes les ressources mentionnées ci-dessus, vous pouvez créer des instances non par défaut. Les noms publiquement visibles des non-valeurs par défaut sont entièrement personnalisables. Vous pouvez connecter des domaines personnalisés à un site hébergé par Firebase, partager la base de données en temps réel et créer plusieurs buckets Cloud Storage (consultez la page de démarrage spécifique à la plate-forme).

La CLI Firebase et l'ID du projet

Dans certains cas d'utilisation, vous pouvez avoir plusieurs projets Firebase associés au même répertoire d'applications local. Dans ces situations, lorsque vous utilisez la CLI Firebase , vous devez passer l'indicateur --project avec les commandes firebase pour communiquer avec quel projet Firebase vous souhaitez interagir.

Vous pouvez également configurer un alias de projet pour chaque projet Firebase afin de ne pas avoir à vous souvenir des ID de projet.

Appels API et ID du projet

Pour de nombreux appels d'API, vous devez inclure un identifiant unique pour un projet. Bien que de nombreuses API acceptent l'ID de projet, il est recommandé d'utiliser le numéro de projet pour effectuer des appels d'API vers Firebase, Google ou des services tiers.

En savoir plus sur l'utilisation des identifiants de projet, en particulier le numéro de projet, dans la norme AIP 2510 de Google.

Trouvez l'ID du projet

  • Console Firebase: cliquez sur projet . L'ID du projet s'affiche dans le volet supérieur.

  • CLI Firebase: firebase projects:list . L'ID du projet s'affiche avec tous les projets Firebase associés à votre compte.

  • API REST Firebase Management: appelez projects.list . Le corps de la réponse contient l'ID du projet dans l'objet FirebaseProject .

Fichiers de configuration et objets Firebase

Lorsque vous enregistrez une application auprès d'un projet Firebase, la console Firebase fournit un fichier de configuration Firebase (applications iOS / Android) ou un objet de configuration (applications Web) que vous ajoutez directement à votre répertoire local d'applications.

  • Pour les applications iOS, vous ajoutez un fichier de configuration GoogleService-Info.plist .
  • Pour les applications Android, vous ajoutez un fichier de configuration google-services.json .
  • Pour les applications Web, vous ajoutez un objet de configuration Firebase.

À tout moment, vous pouvez obtenir le fichier de configuration ou l'objet Firebase d'une application .

Un fichier de configuration ou un objet Firebase associe une application à un projet Firebase spécifique et à ses ressources (bases de données, compartiments de stockage, etc.). La configuration inclut des «options Firebase», qui sont des paramètres requis par les services Firebase et Google pour communiquer avec les API du serveur Firebase et pour associer les données client au projet Firebase et à l'application Firebase. Voici les "options Firebase" minimales requises:

  • Clé API : une simple chaîne chiffrée utilisée lors de l'appel de certaines API qui n'ont pas besoin d'accéder aux données utilisateur privées (exemple de valeur: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO )

  • ID de projet : identifiant unique défini par l'utilisateur pour le projet sur l'ensemble de Firebase et GCP. Cet identifiant peut apparaître dans les URL ou les noms de certaines ressources Firebase, mais il doit généralement être traité comme un alias pratique pour référencer le projet. (exemple de valeur: myapp-project-123 )

  • ID d'application ("AppID") : l'identifiant unique de l'application Firebase sur l'ensemble de Firebase avec un format spécifique à la plate-forme:

    • Applications Firebase iOS: GOOGLE_APP_ID (valeur d'exemple: 1:1234567890:ios:321abc456def7890 )
      Ce n'est pas un identifiant de bundle Apple.
    • Applications Android Firebase: mobilesdk_app_id (valeur d'exemple: 1:1234567890:android:321abc456def7890 )
      Ce n'est pas un nom de package Android ou un ID d'application Android.
    • Applications Web Firebase: appId (valeur d'exemple: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c )

Le contenu du fichier de configuration ou de l'objet Firebase est considéré comme public, y compris l'ID spécifique à la plate-forme de l'application (ID du bundle iOS ou nom du package Android) et les valeurs spécifiques au projet Firebase, telles que la clé API, l'ID du projet, l'URL de la base de données en temps réel et Nom du compartiment de stockage. Dans ce contexte , utilisez les règles de sécurité Firebase pour protéger vos données et fichiers dans Realtime Database , Cloud Firestore et Cloud Storage .

Pour les projets open source, nous ne recommandons généralement pas d'inclure le fichier de configuration ou l'objet Firebase de l'application dans le contrôle de code source car, dans la plupart des cas, vos utilisateurs doivent créer leurs propres projets Firebase et pointer leurs applications vers leurs propres ressources Firebase (via leur propre configuration Firebase fichier ou objet).

Gérer un projet Firebase

Assurez-vous de consulter les bonnes pratiques générales au niveau du projet (au bas de cette page) pour connaître les considérations susceptibles d'affecter la façon dont vous gérez un projet Firebase.

Outils pour gérer un projet

Console Firebase

La console Firebase offre l'environnement le plus riche pour la gestion des produits Firebase, des applications et des paramètres au niveau du projet.

Console Firebase - écran de présentation du projet

Le panneau de gauche de la console répertorie les produits Firebase, organisés par catégories de niveau supérieur. En haut du panneau de gauche, accédez aux paramètres d'un projet en cliquant sur . Les paramètres d'un projet incluent les intégrations , les autorisations d'accès et la facturation .

Le milieu de la console affiche des boutons qui lancent les workflows de configuration pour enregistrer divers types d'applications. Une fois que vous avez commencé à utiliser Firebase, la zone principale de la console se transforme en un tableau de bord qui affiche des statistiques sur les produits que vous utilisez.

Firebase CLI (un outil de ligne de commande)

Firebase propose également la CLI Firebase pour configurer et gérer des produits Firebase spécifiques, tels que Firebase Hosting et Cloud Functions for Firebase.

Après avoir installé la CLI, vous avez accès à la commande globale firebase . Utilisez l'interface de ligne de commande pour lier votre répertoire d'applications local à un projet Firebase , puis déployez de nouvelles versions du contenu hébergé par Firebase ou des mises à jour de fonctions.

API REST Firebase Management

À l'aide de l' API REST Firebase Management , vous pouvez gérer par programme un projet Firebase. Par exemple, vous pouvez inscrire par programme une application avec un projet ou répertorier les applications déjà enregistrées ( iOS | Android | web ).

Bonnes pratiques générales

Ajouter des applications à un projet

Assurez-vous que toutes les applications d'un projet sont des variantes de plate-forme de la même application du point de vue de l'utilisateur final. Il est conseillé d'enregistrer les versions iOS, Android et Web de la même application ou du même jeu avec le même projet Firebase. Toutes les applications d'un projet partagent généralement les mêmes ressources Firebase (base de données, compartiments de stockage, etc.).

Si vous avez plusieurs variantes de build avec différents ID de bundle iOS ou noms de package Android définis, vous pouvez enregistrer chaque variante avec un projet Firebase distinct. Cependant, si vous avez des variantes qui partagent les mêmes ressources Firebase, enregistrez-les avec le même projet Firebase.

Bien qu'il n'y ait aucune restriction sur le nombre d'applications dans un projet, l'enregistrement d'une application peut créer un ou plusieurs ID client OAuth 2.0 sous-jacents. Il existe une limite d'environ 30 ID client pouvant être créés dans un seul projet.

Locations multiples

Il n'est pas recommandé de connecter plusieurs applications et / ou sites Web logiquement indépendants à un seul projet (souvent appelé «multi-tenancy»). La multi-location peut entraîner de graves problèmes de configuration et de confidentialité des données, y compris des problèmes involontaires d'agrégation analytique, d'authentification partagée, des structures de base de données trop complexes et des difficultés avec les règles de sécurité.

En règle générale, si un ensemble d'applications ne partage pas les mêmes données et configurations, envisagez fortement d'enregistrer chaque application avec un projet Firebase différent.

Par exemple, si vous développez une application en marque blanche, chaque application étiquetée indépendamment doit avoir son propre projet Firebase. Chaque application ne partage pas et ne doit pas (pour des raisons de confidentialité) partager des données avec les autres.

Notez certaines limites générales pour les projets, applications et sites Firebase:

  • Nombre de projets par compte

    • Plan Spark de niveau gratuit - Le quota de création de projet est limité à un nombre inférieur de projets (généralement entre 5 et 10).
    • Forfaits payants - Le quota de création de projet par compte de facturation augmente considérablement tant que le compte de facturation Cloud associé est en règle.

    La limite du quota de création de projet est rarement une préoccupation pour la plupart des développeurs, mais si nécessaire, vous pouvez demander une augmentation du quota de projet .

    Sachez que la suppression complète d'un projet prend 30 jours et compte dans le quota du projet jusqu'à ce que le projet soit complètement supprimé.

  • Nombre d'applications par projet

    Bien qu'il n'y ait aucune restriction sur le nombre d'applications dans un projet, l'enregistrement d'une application peut créer un ou plusieurs ID client OAuth 2.0 sous-jacents. Il y a une limite d'environ 30 ID client qui peuvent être créés dans un seul projet.

  • Nombre de sites d'hébergement par projet

    La fonction multisite Firebase Hosting prend en charge un maximum de 36 sites par projet.

Lancer votre application