Frameworks et outils pour App Hosting

Firebase App Hosting est conçu spécifiquement pour prendre en charge le développement d'applications Web modernes centrées sur un framework. Utilisez cette page comme référence pour les outils et les frameworks directement compatibles avec App Hosting, ainsi que comme point de départ pour en savoir plus sur les frameworks et les outils associés.

Frameworks Web et App Hosting

App Hosting fournit deux niveaux de compatibilité pour les frameworks Web modernes : une compatibilité de compilation et de déploiement préconfigurée, et une compatibilité au niveau de la communauté via des contributions Open Source conformes à la spécification du bundle de sortie. Dans les deux cas, un composant d'adaptateur de framework permet d'intégrer un framework spécifique à App Hosting.

Frameworks avec compatibilité de compilation et de déploiement préconfigurée

Grâce à la compatibilité préconfigurée avec la compilation et le déploiement, Firebase identifie le framework que vous utilisez en inspectant le fichier package-lock.json ou un autre fichier de verrouillage, et optimise les processus de compilation et de déploiement de votre application. Google s'engage à maintenir la compatibilité avec ces frameworks, et l'équipe d'assistance Firebase peut accepter les rapports de problèmes et les demandes de fonctionnalités.

Ce niveau d'assistance est fourni pour :

  • Next.js
  • Angular

Pour en savoir plus sur les versions spécifiques et les niveaux de compatibilité, consultez les calendriers de compatibilité.

Si vous essayez de déployer une application Node.js sans fichier de verrouillage, App Hosting ne parviendra pas à compiler et à exécuter votre application. Vous pouvez créer package-lock.json en exécutant npm install dans votre répertoire racine.

Frameworks compatibles avec la communauté

En plus de Next.js et Angular, App Hosting est également compatible avec tous les frameworks Web capables de fournir un résultat de compilation correspondant à notre spécification de bundle de sortie. Les auteurs de frameworks peuvent tirer parti de la spécification du bundle de sortie pour s'assurer que leur framework est compatible avec App Hosting. Par exemple, le framework Nuxt populaire est compatible avec l'équipe Nitro, qui a créé un adaptateur Firebase pour permettre le déploiement d'applications Nuxt sur App Hosting.

Si vous souhaitez que d'autres frameworks soient compatibles avec App Hosting, vous pouvez créer un adaptateur de framework ou contacter les responsables du framework pour convertir les résultats de compilation au format App Hosting. Les adaptateurs Next.js et Angular sont de bons exemples de référence pour quiconque crée un adaptateur.

Pour en savoir plus sur les frameworks compatibles avec la communauté, consultez Firebase Open Source. Les problèmes et les demandes de fonctionnalités concernant les frameworks compatibles avec la communauté doivent être adressés à la communauté Open Source ou aux auteurs du framework. Dans certains cas, Google peut vous aider, mais la communauté est la première ligne d'assistance pour ces adaptateurs.

Adaptateurs de framework App Hosting

Dans App Hosting, la compatibilité avec les frameworks préconfigurés et ceux de la communauté est assurée par des adaptateurs de framework. Les adaptateurs du framework App Hosting ont deux rôles clés :

  • Ils analysent votre code source et tous les fichiers de configuration spécifiques au framework (comme next.config.js) et génèrent un bundle de sortie qui peut être traité par le reste de l'infrastructure App Hosting.
  • Ils exécutent la commande de compilation de votre application pour générer des éléments statiques et créer une version optimisée de votre application pour la production.

Les adaptateurs de framework compilent votre application Node.js avec npm run build, et fonctionnent de manière optimale avec les scripts de compilation par défaut de chaque framework : next build pour Next.js et ng build pour Angular. App Hosting tentera d'effectuer des compilations avec des commandes de compilation personnalisées, mais ne peut pas garantir leur réussite. Vous pouvez remplacer les scripts de compilation et d'exécution dans apphosting.yaml.

La source des adaptateurs Next.js et Angular est disponible dans apphosting-adapters.

Environnements d'exécution pour App Hosting

Une fois créée et déployée par App Hosting, votre application Node.js s'exécute dans une révision Cloud Run. Par conséquent, la version d'exécution de votre application doit se situer à la fois dans la plage de compatibilité de Cloud Run et dans celle du framework Web que vous avez choisi. Pour la compatibilité préconfigurée avec Angular et Next.js, cela signifie que les versions de framework et de Node.js suivantes sont compatibles :

  • Next.js 13.5.x et versions ultérieures
  • Angular 18.2.x et versions ultérieures
  • Node.js 22 et versions ultérieures

App Hosting ne fournit pas automatiquement d'assistance active pour les nouvelles versions du framework. Les versions plus récentes que notre version actuellement désignée comme "active" seront considérées comme étant en état de "preview" jusqu'à ce qu'elles soient officiellement marquées comme "actives" pour App Hosting.

App Hosting propose un support à long terme (LTS) pour la dernière version mineure d'une version majeure pendant un an à compter de sa période de support actif, à condition que vous installiez systématiquement les dernières versions de correctifs de cette version mineure. Pour en savoir plus sur Next.js et Angular, consultez les tableaux suivants.

Calendrier de compatibilité de Next.js

Version État Obsolescence
13.5.x lts 2026-10-9
14.2.x lts 2026-10-9
15.0.x lts 2027-10-9
15.1.x lts 2027-10-9
15.2.x actif pas avant le 09/10/2026

Calendrier de compatibilité d'Angular

Version État Obsolescence
18.2.x lts 2026-10-9
19.0.x lts 2027-10-9
19.1.x lts 2027-10-9
19.2.x actif -

Mises à jour automatiques des images de base (ABIU)

Les mises à jour automatiques des images de base (ABIU) sont une fonctionnalité qui applique automatiquement des correctifs de sécurité à votre environnement d'exécution sous-jacent sans que vous ayez à déclencher un nouveau déploiement d'application.

App Hosting active par défaut l'ABIU pour les nouveaux backends, avec les exigences spécifiques suivantes :

  • Environnements d'exécution avec gestion des versions : pour utiliser l'ABIU, vous devez spécifier un environnement d'exécution avec gestion des versions (tel que nodejs22 ou nodejs24). App Hosting est compatible avec les versions paires de Node.js, ce qui reflète la compatibilité de Cloud Run.
  • Correspondance package.json : la version de Node que vous sélectionnez pour App Hosting doit être compatible avec la version spécifiée dans le champ engines de votre fichier package.json. En cas d'incohérence, vous rencontrerez une erreur de compilation de Cloud Build. Chaque fois que vous modifiez le champ engines, veillez à mettre à jour l'environnement d'exécution de votre backend avant le déploiement.

Désactivation de l'ABIU…

Si vous souhaitez désactiver l'ABIU, vous pouvez le faire lors du processus d'intégration ou en sélectionnant Non spécifié pour votre environnement d'exécution dans la console Firebase. Lorsqu'une valeur par défaut nodejs sans version est utilisée, l'ABIU est automatiquement désactivée.

Gérer les versions d'exécution

Vous pouvez afficher et modifier la version d'exécution de votre backend et vos préférences d'ABIU à tout moment dans l'onglet Paramètres de votre tableau de bord App Hosting. Toutefois, sachez que le changement de version d'exécution peut endommager votre application si la nouvelle version n'est pas compatible avec votre code.

Les versions d'exécution finissent par atteindre la fin de leur cycle de vie de compatibilité. Il est important de maintenir vos environnements d'exécution à jour pour éviter les modifications destructives :

  • Environnements d'exécution obsolètes : si l'environnement d'exécution que vous avez choisi devient obsolète, votre application continuera généralement de fonctionner. Vous recevrez un avertissement dans la console et vous devrez passer à une version plus récente dès que possible. Pour en savoir plus, consultez la documentation Cloud Run sur le cycle de vie de l'environnement d'exécution.
  • Environnements d'exécution mis hors service : les environnements d'exécution mis hors service ne sont pas du tout compatibles. Vous ne pourrez pas créer de builds ni de backends à l'aide d'une version obsolète. Si vous essayez de le faire, une erreur de compilation sera générée. Les déploiements existants exécutés sur des versions obsolètes peuvent cesser de fonctionner, et Cloud Run se réserve le droit de les supprimer.

Pour obtenir la liste complète des versions de nœud compatibles, obsolètes et mises hors service, consultez la documentation sur la compatibilité de l'environnement d'exécution Cloud Run. Pour en savoir plus sur le fonctionnement des mises à jour des images de base, consultez la documentation sur les mises à jour automatiques des images de base (ABIU) de Cloud Run.

Gestionnaires de packages

App Hosting utilise des packs de création cloud natifs pour exécuter l'installation des dépendances et compile l'application à l'aide de npm, yarn ou pnpm. Les autres gestionnaires de packages tels que JSR ne sont pas compatibles.

NPM

  • NPM est le gestionnaire de packages par défaut.
  • Les dépendances hors production sont supprimées une fois la compilation réussie.
  • Vous pouvez spécifier la section de version npm à l'aide du champ engines.npm de votre fichier package.json.

Laine

  • Le fichier Yarn est utilisé lorsque vous incluez le fichier yarn.lock dans votre projet.
  • Vous pouvez spécifier la version de yarn à utiliser dans le champ engines.yarn ou packageManager de votre fichier package.json.
  • App Hosting est compatible avec le mode Yarn2 PnP.

Pnpm

  • Pnpm est utilisé à la place lorsque vous incluez le fichier pnpm-lock.yaml dans votre projet.
  • Vous pouvez spécifier une version de pnpm dans le champ engines.pnpm ou packageManager de votre fichier package.json.
  • Pour obtenir un exemple fonctionnel, consultez l'application sample-node-pnpm.

Monorepos pour App Hosting

App Hosting est compatible avec les applications monorepo Nx et Turborepo. Pour obtenir des instructions détaillées, consultez Utiliser des monorepos avec App Hosting.

Les versions Nx suivantes sont compatibles :

Version État Obsolescence
20.8.x lts pas avant le 09/10/2027

Si vous avez besoin d'aide pour d'autres types d'espaces de travail monorepo, contactez-nous sur Firebase UserVoice.