Passer au contenu principal

Introduction

Pour développer et héberger un bot WhatsApp 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 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.
Ce guide utilise le runtime Node.js.

Créer le projet

Vous avez besoin de WhatsApp installé sur votre téléphone pour associer le bot à votre compte. Si vous n’avez pas l’application, rendez-vous sur le site officiel de WhatsApp pour le téléchargement et la configuration.
  1. Vérification de Node.js : Confirmez que Node.js est installé sur votre système. Sinon, téléchargez-le depuis le site officiel de Node.js.
  2. Initialisation du projet : Configurez un nouveau projet Node.js en exécutant la commande d’initialisation :
Terminal
  1. Installation des dépendances : Installez les bibliothèques essentielles au fonctionnement du bot :
Terminal

Développer le bot

Créez le fichier index.js avec la structure de base du bot :
index.js

Configurer Square Cloud

Créez un fichier squarecloud.app à la racine de votre projet, à côté de index.js. Il indique à Square Cloud comment exécuter votre bot :
squarecloud.app
  • MEMORY est la RAM du bot en Mo. whatsapp-web.js exécute un navigateur Chromium headless : donnez-lui au moins 1024 Mo.
  • AUTORESTART=true redémarre le bot s’il plante. Consultez le fonctionnement du redémarrage automatique.
  • Il n’y a pas de SUBDOMAIN : le bot ne sert pas de pages web.
Consultez la référence du fichier de configuration pour tous les champs.

Contenu du ZIP

  • index.js et vos autres fichiers source.
  • package.json.
  • squarecloud.app.
Excluez node_modules : Square Cloud installe vos dépendances au démarrage du bot. Excluez aussi les dossiers .wwebjs_auth et .wwebjs_cache créés par une exécution sur votre ordinateur, afin que le bot associe sa propre session sur Square Cloud. Si vous envoyez avec la CLI, listez les deux dossiers dans votre fichier squarecloud.ignore.

Déployer et vérifier

Créez le ZIP décrit ci-dessus, puis envoyez-le :

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
4

Confirmez que votre application est en ligne

Votre premier déploiement prend généralement moins d’une minute. Dans le tableau de bord, attendez que le statut de votre application affiche « en cours d’exécution » et vérifiez les logs pour détecter d’éventuelles erreurs de démarrage.
Si vous avez déployé un site web ou une API, ouvrez https://<votre-sous-domaine>.squareweb.app dans votre navigateur, vous devriez voir votre application répondre. Si vous avez déployé un bot, envoyez-lui une commande pour confirmer qu’il est en ligne.
Votre application ne démarre pas ? Consultez le guide de dépannage pour les causes les plus courantes et leurs solutions.

Via la CLI

Pour utiliser cette méthode, votre projet a besoin d’un fichier de configuration nommé squarecloud.app à sa racine. Il indique à Square Cloud comment exécuter votre application.

Guide du fichier de configuration

Apprenez comment créer le fichier de configuration squarecloud.app qui définit l’environnement de votre application.
1

Installer la CLI

Installez la CLI Square Cloud. Si vous l’avez déjà, exécutez la même commande pour la mettre à jour :
2

Se connecter

Exécutez la commande ci-dessous. Elle ouvre votre navigateur : approuvez-y la connexion et la CLI est prête. Il n’y a aucune clé API à copier. Pour les scripts et la CI, consultez Authentification de la CLI.
3

Téléverser votre projet

Depuis le dossier de votre projet, exécutez la commande ci-dessous. La CLI compresse le dossier courant en zip, sans ce que liste squarecloud.ignore, puis l’envoie :
Pour téléverser un zip que vous avez créé vous-même, passez-le avec --file :
4

Confirmez que votre application est en ligne

Votre premier déploiement prend généralement moins d’une minute. Vérifiez le statut et les logs de votre application directement depuis le terminal :
Si vous avez déployé un site web ou une API, ouvrez https://<votre-sous-domaine>.squareweb.app dans votre navigateur, vous devriez voir votre application répondre. Si vous avez déployé un bot, envoyez-lui une commande pour confirmer qu’il est en ligne.
Votre application ne démarre pas ? Consultez le guide de dépannage pour les causes les plus courantes et leurs solutions.

Associer votre compte WhatsApp

Ouvrez les logs de l’application dans le tableau de bord Square Cloud. Au premier démarrage, le bot y affiche un QR Code : sur votre téléphone, ouvrez WhatsApp, allez dans Appareils connectés > Connecter un appareil et scannez-le. Le message WhatsApp client successfully initialized! confirme que la session est active. Envoyez ensuite !ping depuis un autre numéro vers le compte WhatsApp lié et vérifiez qu’il répond avec pong - Bot working correctly!. LocalAuth enregistre la session dans le dossier .wwebjs_auth, de sorte que les redémarrages se reconnectent sans nouveau QR Code. Pour associer un autre numéro, supprimez ce dossier et redémarrez l’application.

Erreurs courantes

Le QR Code ne peut pas être scanné

Le QR Code est dessiné avec des caractères de texte et WhatsApp le remplace périodiquement : scannez donc le plus récent. Si votre téléphone n’arrive pas à le lire, dézoomez jusqu’à ce que le code entier tienne à l’écran, ou passez le tableau de bord en thème sombre.

La connexion ne fonctionne plus après une mise à jour de WhatsApp Web

Mettez à jour la bibliothèque avec npm install whatsapp-web.js@latest et déployez à nouveau. Évitez de figer une ancienne version de WhatsApp Web avec l’option webVersionCache : les versions obsolètes ont tendance à casser la connexion.

Le bot manque de mémoire

whatsapp-web.js exécute un navigateur Chromium headless, qui a besoin de mémoire. Gardez MEMORY à 1024 Mo ou plus, ou passez à Baileys, qui fonctionne sans navigateur.

Utiliser Baileys plutôt que whatsapp-web.js

Baileys est une bibliothèque alternative qui se connecte directement à l’API multi-appareils de WhatsApp via un WebSocket, sans lancer de navigateur headless. Comme aucune instance Chromium/Puppeteer n’est nécessaire, elle consomme nettement moins de RAM que whatsapp-web.js. Baileys enregistre sa session (le fichier creds.json et les clés) dans le dossier auth via useMultiFileAuthState. Square Cloud conserve les fichiers de votre application entre les redémarrages : vous n’aurez donc à scanner à nouveau le QR Code que si vous vous déconnectez ou supprimez ce dossier. Comme pour .wwebjs_auth, excluez de votre ZIP un dossier auth local.
  1. Installez la bibliothèque :
Terminal
  1. Créez un fichier index.js utilisant makeWASocket et useMultiFileAuthState pour charger et persister la session :
index.js
Comme Baileys n’a pas besoin de navigateur, son fichier de configuration sur Square Cloud peut utiliser une valeur MEMORY inférieure à celle de l’exemple whatsapp-web.js ci-dessus :
squarecloud.app

Prochaines étapes

L'application ne démarre pas

Corrigez les modules manquants, les erreurs de mémoire et les autres échecs au démarrage.

Evolution API

Exécutez une API WhatsApp qui gère plusieurs instances à la fois.

Hébergement de bots

Ce que Square Cloud propose pour les bots qui tournent 24/7.
Pour en savoir plus sur whatsapp-web.js, consultez la documentation officielle de whatsapp-web.js.

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. La qualité du support compte pour beaucoup dans la note que les développeurs donnent à Square Cloud, 4,9/5 sur 402 avis sur Google et Trustpilot.