Créer et déployer une application Next.js

La création d'une application Web Next.js n'est que la première étape pour concrétiser vos idées en ligne. Pour que votre application soit rapide, responsive et facile à trouver, vous devez choisir la bonne configuration de déploiement.

Que vous utilisiez des prompts en langage naturel pour créer des prototypes Web d'IA ou que vous déployiez des codebases full stack exportés à partir d'outils comme Claude Code ou Replit, les plates-formes cloud modernes offrent des solutions d'hébergement sans friction. Ce guide explique le fonctionnement de Next.js, aborde les principales considérations liées à l'architecture de rendu et vous accompagne dans le déploiement de votre application sur une infrastructure gérée à l'aide des options sans frais du niveau Starter.

Exécuter l'application Next.js sur Cloud Run

Qu'est-ce que Next.js ?

Next.js est un framework React Open Source conçu pour aider les développeurs à créer des applications Web full stack. Alors que les applications React standards s'exécutent généralement côté client dans le navigateur Web, Next.js combine l'interactivité côté client avec le rendu côté serveur.

En gérant automatiquement le routage des pages, les composants serveur et l'optimisation des ressources, Next.js permet aux développeurs et aux vibe coders de transformer des concepts créatifs en applications Web prêtes pour la production avec une configuration minimale.

React traditionnel et Next.js

Le choix entre React standard et Next.js dépend de vos exigences de rendu, de la visibilité dans les moteurs de recherche et de vos besoins en backends :

Fonctionnalité

React (par défaut)

Next.js

Architecture de rendu

Rendu côté client (CSR)

Rendu côté serveur (SSR), génération de sites statiques (SSG) et Composants Serveur React

Référencement naturel (SEO)

Peut nécessiter une configuration de prérendu supplémentaire

Adapté aux moteurs de recherche dès le départ grâce au rendu HTML côté serveur

Chargement de page initial

Plus lent sur les appareils basse consommation en raison des bundles JavaScript client volumineux

Affichage initial plus rapide grâce à un code HTML léger affiché par le serveur

Mécanisme de routage

Nécessite des bibliothèques de routage tierces (comme React Router)

Routage intégré basé sur un système de fichiers via App Router

Fonctionnalités full stack

Interface uniquement ; nécessite un service de backend distinct

Gestionnaires de routes d'API et actions de serveur intégrés

Hébergement d'applications traditionnel et conteneurs sans serveur

Lorsque vous vous préparez à lancer une application Next.js, le choix de l'environnement de calcul approprié a un impact direct sur la charge de maintenance, la vitesse de scaling et les coûts d'exploitation.

Fonctionnalité

Machines virtuelles (VPS/IaaS)


Plates-formes PaaS/buildpack


Conteneurs sans serveur (Cloud Run)


Gestion des infrastructures

Élevée ; mises à jour manuelles du système d'exploitation et application de correctifs sur les serveurs

Couche de plate-forme entièrement gérée avec des conventions propres aux fournisseurs

Infrastructure entièrement gérée sans maintenance du système d'exploitation

Comportement d'autoscaling

Le provisionnement et le démarrage de nouvelles machines virtuelles prennent plusieurs minutes.

Autoscaling rapide, souvent lié à des plans de nœuds de calcul par niveaux ou à des limites de simultanéité

Autoscaling instantané basé sur les requêtes, y compris le scaling à zéro instance en cas d'inactivité

Format de packaging

Fichiers de build bruts ou gestionnaires de processus PM2

Intégration de dépôts Git avec des systèmes de builds propriétaires

Spécification OCI (Open Container Initiative) standard et images de conteneurs Docker

Profil de coût en cas d'inactivité

Facturation 24h/24, 7j/7, quel que soit le trafic entrant

Frais mensuels de base ou limites d'exécution strictes avec les niveaux sans frais

Quota sans frais du niveau Starter ou facturation uniquement à la seconde pour les requêtes actives

Portabilité entre fournisseurs

Élevée, mais la configuration peut être difficile à reproduire

Faible ; les configurations reposent sur des règles d'hébergement propres aux fournisseurs

Élevée ; les images de conteneurs standards s'exécutent dans n'importe quel environnement cloud ou local

Éléments clés à prendre en compte lors de la création d'une application Next.js

Pour créer une application Next.js prête pour la production, vous devez tenir compte des principaux modèles architecturaux qui garantissent des performances rapides et un temps d'activité stable :

Limites entre client et serveur

Next.js utilise les Composants Serveur React par défaut [Inférence]. Les composants serveur extraient directement les données sans envoyer de code JavaScript volumineux au navigateur, tandis que les éléments d'interface utilisateur interactifs utilisent la directive "use client" [Inference]. Réservez les composants client aux tâches d'interface utilisateur interactives pour que votre bundle client reste léger et rapide [Inférence].

Variables d'environnement client

Pour éviter que des clés API privées ou des identifiants de base de données ne soient divulgués au navigateur public, Next.js limite l'accès du navigateur aux variables précédées de NEXT_PUBLIC_. Veillez à ce que vos secrets de serveurs privés ne comportent jamais de préfixe et gérez-les en toute sécurité dans vos configurations d'environnement.

Exécution sans serveur et sans état

Les plates-formes sans serveur modernes lancent et arrêtent les instances de conteneurs en fonction du trafic entrant. Les fichiers enregistrés directement sur les disques de conteneurs locaux disparaissent lorsque les instances font l'objet d'un scaling à la baisse ou d'un redéploiement. Stockez les données d'application persistantes dans des bases de données cloud gérées telles que Cloud Firestore ou Cloud SQL pour PostgreSQL, et stockez les importations des utilisateurs dans Cloud Storage.

Traçage de sortie autonome

 Dans les déploiements de conteneurs personnalisés, activez output: 'standalone' dans votre configuration Next.js [Inférence]. Ce paramètre trace automatiquement les dépendances et regroupe uniquement les fichiers nécessaires dans un dossier de compilation compact, ce qui réduit la taille de l'image de conteneur et accélère le démarrage du conteneur [Inférence].

Créer et déployer une application Next.js

Vous pouvez créer et lancer votre application Next.js à l'aide de deux workflows principaux : le prototypage rapide de l'IA (aucune configuration de CLI locale requise) ou le déploiement standard de conteneurs (pour les codebases personnalisés).

Option A : prototypage rapide avec le mode Compilation d'AI Studio et le niveau Starter

Pour le prototypage rapide et les workflows de vibe coding, le mode Compilation de Google AI Studio permet aux développeurs de décrire des applications Next.js full stack en langage naturel et de les publier directement sur Cloud Run, sans avoir à gérer d'outils de ligne de commande ni à configurer de compte de facturation.

Étape 1 : Initialisez l'application en mode Compilation

  1. Accédez à Google AI Studio et passez en mode Compilation.
  2. Saisissez un prompt décrivant l'interface utilisateur, le style et la logique métier de votre application (par exemple, "Crée un outil de suivi de projet collaboratif dans Next.js avec des tableaux de tâches interactifs et une connexion utilisateur").
  3. L'agent IA intégré génère les fichiers des composants Next.js, configure les mises en page App Router, installe les dépendances npm et affiche un aperçu interactif en direct directement dans votre navigateur.

Étape 2 : Ajoutez un espace de stockage de base de données intégré et une connexion utilisateur

  • Données persistantes : si votre prompt nécessite un espace de stockage de données, activez Cloud Firestore ou Cloud SQL pour PostgreSQL (Developer Edition). L'agent crée automatiquement des brouillons de vos modèles de données, de vos fichiers de connexion client et de vos règles de sécurité.
  • Authentification des utilisateurs : activez Firebase Authentication pour activer les flux Google Sign-In sans écrire de gestionnaires de redirection OAuth personnalisés.

Étape 3 : Publiez l'application sur Cloud Run

  1. Cliquez sur Publier > Commencer > Publier l'application dans l'interface supérieure.
  2. Indiquez votre URL personnalisée <my-nextjs-app>.ai.studio et confirmez votre région de déploiement.
  3. La plate-forme empaquette votre conteneur, provisionne les ressources de calcul sous-jacentes et vous fournit une URL de production HTTPS *.run.app en quelques secondes.

Option B : déployer un codebase Next.js personnalisé sur Cloud Run

Pour les codebases existants ou les projets exportés à partir d'outils tels que Claude Code, Replit ou des environnements de développement locaux, conteneurisez votre application et déployez-la à l'aide de Google Cloud CLI.

Étape 1 : Configurez la sortie autonome

Mettez à jour votre fichier next.config.js (ou next.config.mjs) pour générer un build autonome [Inférence] :

  • JavaScript
Chargement en cours...

Étape 2 : Créez un Dockerfile en plusieurs étapes

Créez un fichier .dockerignore dans votre dossier racine contenant node_modules et .env afin que les fichiers de développement locaux ne soient pas regroupés dans votre conteneur.

Créez un Dockerfile à la racine de votre projet :

  • Dockerfile
Chargement en cours...

Étape 3 : Effectuez le déploiement sur Cloud Run

Effectuez le déploiement directement depuis le dossier de votre projet à l'aide de Google Cloud CLI, et attribuez une URL personnalisée facile à mémoriser et à partager au format <mon-appli-géniale>.cloud.run :

  • Bash
Chargement en cours...

Mécanismes de tarification des niveaux sans frais et Starter

Comprendre le fonctionnement des allocations sans frais vous permet de prototyper et de faire évoluer votre application Next.js de manière prévisible :

Option

Allocation de puissance de calcul et de ressources

Exigences et limites

• Cloud Run : jusqu'à deux applications Web actives

• Cloud Firestore : 1 Gio de stockage, 50 000 lectures/jour, 40 000 écritures/jour

• Cloud SQL : PostgreSQL Developer Edition (scaling à zéro instance)

• Firebase Authentication : Google Sign-In inclus

• Compte Google valide

• Aucune carte de crédit ni aucun compte de facturation requis

• Ressources épinglées à une seule région

• Cloud Run : 2 millions de requêtes/mois, 180 000 vCPU-secondes/mois, 360 000 Gio-secondes/mois, 1 Go de sortie réseau/mois en Amérique du Nord

• Accès à un crédit de bienvenue de 300 $ pendant les 90 premiers jours

• Compte de facturation Cloud associé

• Accès complet aux API de la plate-forme dans toutes les régions

Bonnes pratiques pour exécuter Next.js dans des environnements sans serveur

  • Utilisez une sortie autonome : activez toujours le mode autonome de Next.js pour éviter d'empaqueter les dépendances de développement inutilisées dans vos conteneurs de production [Inférence].
  • Définissez les limites des instances dans les projets payants : lorsque vous passez d'un bac à sable de prototypage à la production, définissez --max-instances (par exemple, --max-instances 5) pour vous assurer que les pics de trafic inattendus ne dépassent pas votre budget.
  • Exploitez les Composants Serveur React : transférez l'extraction intensive de données vers les composants serveur pour que votre bundle de navigateur reste léger et pour améliorer les Core Web Vitals [Inférence].
  • Assurez-vous que les variables d'environnement client sont intégrées : n'oubliez pas que les variables d'environnement NEXT_PUBLIC_ sont intégrées aux bundles client au moment de la compilation. Veillez à les définir avant d'exécuter l'étape de compilation.

Relevez vos plus grands défis avec Google Cloud

Les nouveaux clients bénéficient de 300 $ de crédits à dépenser sur Google Cloud.

Passez à l'étape suivante

Profitez de 300 $ de crédits gratuits et de plus de 20 produits Always Free pour commencer à créer des applications sur Google Cloud.

  • Produits Google Cloud
  • Parcourez plus de 100 produits. Les nouveaux clients bénéficient de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail. Tous les clients peuvent utiliser plus de 25 produits gratuitement, dans les limites mensuelles spécifiées.
Google Cloud