Skip to main content

Introduction

Pour développer et héberger un bot Slack 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.

Création du projet

Pour créer un bot Slack, vous aurez besoin d’un compte et des permissions nécessaires pour créer des apps sur Slack. Créez ou accédez à votre compte sur Slack avant de suivre les étapes suivantes.

Application bot sur Slack

  1. Rendez-vous sur Slack API - Your Apps et cliquez sur « Create New App ».
  2. Choisissez « From scratch », donnez un nom à l’app et sélectionnez le workspace où vous l’installerez.
  3. Dans la section « Socket Mode », activez le Socket Mode et générez un app-level token avec le scope connections:write. Copiez-le (il commence par xapp-) : c’est votre SLACK_APP_TOKEN.
  4. Dans la section « OAuth & Permissions », ajoutez les scopes dont votre bot a besoin (par exemple chat:write, app_mentions:read, commands), installez l’app sur votre workspace et copiez le Bot User OAuth Token (il commence par xoxb-) : c’est votre SLACK_BOT_TOKEN.
  5. Dans « Event Subscriptions », activez les événements et abonnez-vous à l’événement de bot app_mention. Dans « Slash Commands », créez la commande /hello. Avec le Socket Mode activé, aucun des deux ne demande de Request URL.
Sécurité : N’exposez jamais publiquement l’app-level token ni le Bot Token. Traitez-les comme des identifiants sensibles : les exemples ci-dessous les lisent depuis des variables d’environnement, jamais depuis votre code.
Avec le Socket Mode, le bot ouvre lui-même la connexion vers Slack, il fonctionne donc comme n’importe quel autre bot : aucune URL publique ni aucun port n’est nécessaire. Si vous préférez que Slack envoie les événements en HTTP, consultez « Utiliser le mode HTTP au lieu du Socket Mode » à la fin de cette page.

Développement du projet

Utilisez les sections ci-dessous selon le langage que vous choisissez. Les deux exemples illustrent un bot qui répond aux mentions ou à des commandes simples.
Configuration de l’environnement Node.js
  1. Assurez-vous que Node.js est installé.
  2. Initialisez un projet et installez les dépendances :
Terminal
  1. Créez un fichier index.js avec le contenu suivant :
index.js

Configurer Square Cloud

Créez un fichier squarecloud.app à la racine de votre projet, à côté de votre fichier principal. Il indique à Square Cloud comment exécuter votre bot :
  • MAIN est le fichier que Square Cloud exécute, et MEMORY la RAM du bot en Mo. Les bots ont besoin d’au moins 256 Mo ; 512 Mo laissent de la marge pour évoluer.
  • AUTORESTART=true redémarre le bot s’il plante. Consultez le fonctionnement du redémarrage automatique.
  • Il n’y a pas de SUBDOMAIN : en Socket Mode, le bot n’a besoin d’aucune URL publique.
Consultez la référence du fichier de configuration pour tous les champs.

Définir les tokens

Votre code lit les deux tokens depuis les variables d’environnement SLACK_BOT_TOKEN et SLACK_APP_TOKEN : ils n’entrent donc jamais dans vos fichiers. Définissez-les de l’une de ces façons :
  • Tableau de bord : sur la page d’envoi, ouvrez Configuration avancée et ajoutez les deux variables. Pour un bot déjà déployé, ajoutez-les sur la page Variables d’environnement de l’application et redémarrez le bot.
  • CLI : juste après avoir envoyé le bot (voir Déploiement), définissez-les avec squarecloud app env set et redémarrez le bot :
Le bot lit ses variables d’environnement au démarrage : redémarrez-le donc après chaque modification. Consultez Variables d’environnement pour les autres façons de les gérer.

Déploiement

Après avoir préparé les fichiers de votre projet, vous pouvez maintenant les téléverser sur Square Cloud et héberger votre projet. Pour ce faire, créez un fichier ZIP contenant tous les fichiers de votre projet.

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.

Tester le bot

  1. Dans le panneau de l’app Slack, sous « OAuth & Permissions », installez l’app sur le workspace (si ce n’est pas déjà fait).
  2. Vérifiez les logs de l’application dans le tableau de bord Square Cloud pour repérer d’éventuelles erreurs de démarrage. Avec le Socket Mode, il n’y a aucune Request URL à configurer : le bot se connecte à Slack dès son démarrage.
  3. Invitez le bot dans un canal, puis mentionnez-le ou exécutez la commande /hello pour valider les réponses.
Exemple de lien d’installation (remplacez le client_id) :

Utiliser le mode HTTP au lieu du Socket Mode

Les apps qui utilisent le Socket Mode ne peuvent pas être listées dans le Slack Marketplace public. Si vous avez besoin que Slack envoie plutôt les événements en HTTP, exécutez le bot comme une application web :
  1. Dans les paramètres de l’app Slack, désactivez le Socket Mode et copiez le Signing Secret (dans « Basic Information ») dans une variable d’environnement SLACK_SIGNING_SECRET, définie de la même façon que les tokens.
  2. Créez l’app avec le signing secret au lieu de l’app-level token, et écoutez sur le port indiqué dans la variable d’environnement PORT :
Les deux serveurs écoutent sur toutes les interfaces réseau (0.0.0.0), ce que Square Cloud exige.
  1. Ajoutez un SUBDOMAIN à votre fichier de configuration (ou sélectionnez « Publication Web » et définissez un sous-domaine lors de l’envoi depuis le tableau de bord) pour que le bot obtienne une URL publique. Les applications web nécessitent au moins MEMORY=512 :
squarecloud.app
Une application envoyée sans sous-domaine ne peut pas en obtenir un plus tard. Si votre bot tourne déjà en Socket Mode, envoyez la version HTTP comme une nouvelle application.
  1. Dans « Event Subscriptions » et dans la slash command /hello, définissez la Request URL sur https://<subdomain>.squareweb.app/slack/events.

Ressources supplémentaires

Pour aller plus loin, consultez la documentation officielle de Slack :

Prochaines étapes

L'application ne démarre pas

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

Variables d'environnement

Gérez les tokens de votre bot et vos autres secrets.

Bot Discord

Hébergez un bot Discord à côté de votre bot Slack.

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.