Passer au contenu principal

Introduction

Pour développer et héberger sur Square Cloud, il est essentiel de suivre une séquence structurée de configurations et de prérequis. Ce guide technique couvrira l’ensemble du processus, de la configuration initiale au déploiement en production.

Prérequis

  • Compte Square Cloud : Inscrivez-vous via la page d’inscription en utilisant votre adresse e-mail.
  • Plan payant actif : Garantit des ressources dédiées et des performances optimisées pour votre application. Consultez nos plans disponibles et choisissez celui qui convient le mieux à vos besoins.

Création du projet

Avant de commencer, assurez-vous d’avoir Node.js et npm installés sur votre système. Si vous ne les avez pas encore, vous pouvez les télécharger depuis le site officiel de Node.js. Pour créer un nouveau projet Next.js, exécutez la commande suivante :
npx create-next-app@latest my-app
Dans cette commande, my-app est le nom de votre nouveau projet. Vous pouvez remplacer my-app par le nom de votre choix pour votre projet. La commande npx est un outil fourni avec npm, le gestionnaire de paquets de Node.js. Elle sert à exécuter des paquets Node.js installés localement dans votre projet ou disponibles à distance sur le registre npm. create-next-app est un paquet disponible sur le registre npm qui configure automatiquement un nouveau projet Next.js. Il prend en charge toute la configuration initiale, comme la création du répertoire du projet, l’installation des dépendances nécessaires et la configuration des fichiers de base. @latest est une balise indiquant que vous souhaitez utiliser la dernière version du paquet create-next-app. Cela garantit que vous utilisez toujours la version la plus à jour et, par conséquent, que vous avez accès aux dernières fonctionnalités.

Configuration du port 80

Le port 80 est le port par défaut pour le trafic HTTP. Pour héberger un site web Next.js sur Square Cloud, il est essentiel de configurer l’utilisation du port 80. Dans Next.js, vous pouvez définir le paramètre -p 80 dans le script de démarrage afin de garantir que votre site web fonctionne correctement sur ce port.
package.json
{
  "name": "my-app",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start -p 80",
    "lint": "next lint"
  },
  "dependencies": {
    "react": "^18",
    "react-dom": "^18",
    "next": "14.1.0"
  },
  "devDependencies": {
    "autoprefixer": "^10.0.1",
    "postcss": "^8",
    "tailwindcss": "^3.3.0",
    "eslint": "^8",
    "eslint-config-next": "14.1.0"
  }
}

Compilation du projet

Compilez la sortie de production avant l’envoi :
npm run build
Cela génère le bundle Next pour la production, en créant le dossier .next.

Déploiement

Après avoir préparé les fichiers de votre projet, vous pouvez désormais les envoyer sur Square Cloud et héberger votre projet. Pour ce faire, créez un fichier ZIP contenant tous les fichiers de votre projet.
Veillez à ne pas inclure le dossier cache de .next.

Via le tableau de bord

1

Accéder à la page d'upload

Accédez à la page d’upload et téléversez le fichier zip de votre projet.
2

Configurer votre environnement

Après avoir téléversé votre zip, vous devrez configurer le nom, le fichier principal ou l’environnement d’exécution ainsi que d’autres paramètres de votre projet.
Si vous téléversez un projet web, veillez à sélectionner « Publication Web » et à définir un sous-domaine pour votre projet.
3

Déployer votre projet

Enfin, cliquez sur le bouton « Deploy » pour héberger votre projet sur Square Cloud.
Une fois le déploiement effectué, vous pouvez suivre l’état et les logs de votre projet depuis le tableau de bord.
Téléversement d'une application vers Square Cloud

Via la CLI

Pour utiliser cette méthode, vous devez créer un fichier de configuration nommé squarecloud.app à la racine de votre projet. Ce fichier contiendra la configuration nécessaire à votre projet.

En savoir plus : comment créer le fichier de configuration pour Square Cloud.

Le fichier squarecloud.app est un fichier de configuration qui servira à configurer votre application ; il sera utilisé pour définir votre environnement.
1

Installer la CLI

Tout d’abord, vous devez avoir la CLI installée dans votre environnement. Si ce n’est pas encore le cas, exécutez la commande suivante dans votre terminal :
npm install -g @squarecloud/cli
Si vous l’avez déjà, nous vous recommandons de la mettre à jour. Pour cela, exécutez la commande suivante dans votre terminal :
squarecloud update
2

S'authentifier

Maintenant, pour vous authentifier et utiliser les autres commandes de la CLI, vous trouverez votre clé d’autorisation ici en cliquant sur « Request API Key ». Après avoir obtenu votre clé d’autorisation, exécutez la commande suivante :
squarecloud auth login
3

Téléverser votre projet

Enfin, pour déployer votre application sur Square Cloud à l’aide de la CLI, vous devez exécuter la commande suivante :
squarecloud upload 
Ou si vous avez créé le zip manuellement, vous pouvez utiliser :
squarecloud upload --file <path/to/zip> 

Ressources supplémentaires

Pour plus d’informations sur Next.js et ses outils, consultez la documentation officielle de Next.js. Vous y trouverez des guides détaillés, des tutoriels et une documentation d’API pour vous aider à tirer le meilleur parti de Next.js.

CI/CD

Nous disposons d’une GitHub Action qui facilite la mise à jour de votre projet. Vous pouvez en savoir plus ici
Vous pouvez créer un workflow comme celui-ci :
name: "Deploy Nextjs app"
on:
  push:
    tags:
      - "v*"
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22

      - name: Install dependencies
        run: npm install

      - name: Build website
        run: npm run build && chmod -R 777 .next next.config.ts package.json

      - name: Add website to zip
        run: zip -r project.zip package.json .next next.config.ts public -x ".next/cache/*"

      - name: Deploy on Square Cloud
        uses: squarecloudofc/github-action@v2
        with:
          command: commit --file project.zip ${{ secrets.SQUARECLOUD_APP_ID }} 
          token: '${{ secrets.SQUARE_CLOUD_TOKEN }}'

Dépannage

Domaine personnalisé

Pour utiliser un domaine personnalisé (par exemple mysite.com) au lieu de l’URL par défaut mysite.squareweb.app, vous avez besoin du plan Standard ou supérieur. Le sous-domaine est défini par le champ SUBDOMAIN dans le fichier de configuration.

Prérequis minimum en RAM

Minimum : 512 Mo de RAM pour les sites web/API simples. Pour les sites utilisant des frameworks (Next.JS, React, Vue, Angular, etc.), nous recommandons toujours au moins 1 Go de RAM. Pour les applications plus volumineuses, allouez davantage de RAM afin d’éviter que l’application ne manque de mémoire et ne plante.

Impossible de trouver ce site.

Vérifiez que le sous-domaine/domaine correspond à ce qui est configuré dans le champ SUBDOMAIN ou dans les paramètres du domaine personnalisé. Si vous venez tout juste de mettre en ligne le site, patientez jusqu’à 60 secondes pour que Square active le premier accès.

Le site a mis trop de temps à répondre…

Vérifiez que vous avez correctement configuré le port 80 et l’hôte 0.0.0.0 dans l’application. Nous recommandons d’utiliser les variables d’environnement forcées par Square : PORT et HOST du fichier .env.

Contactez-nous

Si vous rencontrez toujours des difficultés techniques, notre équipe de support spécialisée est disponible pour vous aider. Contactez-nous et nous serons ravis de vous aider à résoudre tout problème.