Passer au contenu principal

🚀 Introduction

  • Avant de commencer, vous pouvez choisir d’utiliser le runtime Deno dans votre projet. Si Deno n’est pas encore installé localement, vous avez deux options principales :
  • Installer via npm (recommandé pour la compatibilité avec npx lors du deploy) :
npm install deno
  • Ou installer Deno via l’installeur officiel (consultez la documentation de Deno pour les instructions d’installation native).
  • En ajoutant deno comme dépendance, vous pouvez utiliser npx deno dans le champ START de squarecloud.app pour démarrer votre application avec Deno. Voir plus bas dans la section « Démarrer l’application » pour des exemples de START.
  • Ensuite, vous devrez créer un compte sur Square Cloud, ce qui peut se faire via la page de connexion. Vous pouvez utiliser votre e-mail, GitHub, ou les deux pour créer le compte.
  • Enfin, vous devez disposer d’un plan payant actif sur votre compte. Vous pouvez consulter nos plans et en acheter un selon vos besoins ici.

⚙️ Configuration du fichier squarecloud.app

Si vous téléversez votre application via le site Web de Square Cloud, vous pouvez ignorer cette section. Le site crée automatiquement le fichier de configuration squarecloud.app pour vous.

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

Le fichier squarecloud.app est un fichier de configuration qui sera utilisé pour configurer votre application ; il servira à définir le nom, la description, la version, le fichier principal, entre autres choses.

▶️ Comment démarrer votre application

  • Pour utiliser le runtime Deno dans l’environnement Node.js de Square Cloud, ajoutez d’abord le package deno à votre projet (par exemple npm install deno) afin que la commande npx deno soit disponible dans l’environnement d’exécution.
  • Ensuite, définissez le champ START dans votre squarecloud.app avec la commande qui démarre votre application avec Deno. Exemples :
OR .config
START=npx deno run --allow-net --allow-env main.ts
Si vous utilisez des tâches définies dans deno.json, vous pouvez démarrer ainsi :
START=npx deno task start
  • Ajustez les permissions (--allow-net, --allow-env, --allow-read, etc.) selon les besoins de votre application.
  • Rappel : si le champ START est défini, sa valeur sera exécutée directement. Pour plus d’informations sur les paramètres du fichier de configuration, consultez les paramètres de configuration.
  • Si vous utilisez des modules npm avec Deno et que le dossier node_modules n’existe pas, Square Cloud exécutera npm install --no-package-lock --no-audit --no-fund pour installer les dépendances et nettoyer le dossier .npm.
Si vous comptez utiliser Deno comme runtime, nous vous recommandons d’ajouter deno comme dépendance (npm install deno) pour garantir que npx deno soit disponible dans l’environnement d’exécution lors du deploy. Dans les projets où vous préférez utiliser l’installeur natif de Deno, vérifiez la compatibilité et vos exigences de build avant d’opter pour cette approche.

🖥️ Préparer le projet

📁 Fichiers de configuration essentiels

Lors de la préparation de votre projet Deno pour le deploy sur Square Cloud, veillez à inclure le fichier de configuration (squarecloud.app/.config) et les fichiers essentiels de votre application dans un fichier zip.
Le fichier de configuration (squarecloud.app/.config) doit se trouver à la racine du fichier zip. Sinon, Square Cloud ne pourra pas le trouver lors du deploy.

🗑️ Fichiers à exclure avant l’envoi

  • node_modules : Nécessaire uniquement si vous utilisez des modules npm ; sinon, ne l’envoyez pas afin de réduire la taille de l’envoi.
  • package-lock.json : L’environnement de production installera les dépendances à partir de package.json lorsqu’une utilisation de npm est détectée.
  • deno_dir ou .cache/deno : Répertoire de cache de Deno ; inutile pour le deploy.

🤔 Pourquoi exclure ces fichiers ?

Il existe plusieurs raisons d’exclure node_modules, package-lock.json et le cache de Deno avant d’envoyer votre projet :
  1. Cohérence de l’installation : Ne pas envoyer node_modules garantit que les dépendances sont installées par l’environnement de production, ce qui donne un build cohérent, exempt des divergences du système local.
  2. Installations à jour : L’environnement de production installera les dernières versions compatibles des dépendances listées dans package.json (le cas échéant) ou utilisera les imports distants définis dans deno.json.
  3. Réduction de la taille de l’envoi : Ne pas inclure ces répertoires réduit la taille du fichier envoyé, accélérant le processus d’envoi et rendant le deploy plus efficace.
En procédant ainsi, vous garantissez que votre application Deno est préparée de manière optimale pour l’hébergement sur Square Cloud.

📄 Fichiers requis

Trois fichiers sont nécessaires pour héberger votre projet Deno :
  • squarecloud.app/.config
  • mainFile.ts/.js (Exemple de fichier principal)
  • deno.json ou deno.jsonc (définition des permissions et des tâches). Si vous utilisez des modules npm, incluez également package.json.

💡 Dépannage

Cette erreur se produit lorsque le fichier défini comme « main » de votre application dans le fichier de configuration n’existe pas, est mal orthographié, ou que le chemin est incorrect. Si votre fichier principal se trouve dans un dossier, par exemple, vous devez indiquer folder/file.ts ou folder/file.js.
La quantité minimale de RAM requise pour héberger un bot est de 256 Mo et pour un site/une API elle est de 512 Mo. Cependant, selon la taille et la complexité de votre application, il peut être conseillé d’allouer une quantité de RAM plus importante pour éviter que votre application ne manque de mémoire et ne plante.

📤 Comment héberger votre projet

Maintenant que vous avez préparé tous les fichiers de votre projet Deno, l’étape suivante consiste à les envoyer sur Square Cloud et à mettre votre application en ligne. Il existe plusieurs façons d’envoyer les fichiers, mais nous en couvrirons deux : via le Dashboard ou via la CLI.

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> 

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.