Introduction
Pour développer et héberger une application Django 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éer le projet
Vous avez besoin de Python et de pip sur votre machine. Si ce n’est pas le cas, téléchargez Python depuis le site officiel de Python.Installation des bibliothèques
Installez Django, le serveur de production Gunicorn et WhiteNoise, qui sert vos fichiers statiques :Développement du projet
Créez un nouveau projet Django et entrez dans son dossier :manage.py et un package mysite/ contenant settings.py, urls.py et wsgi.py. Pour ajouter une route basique, modifiez mysite/urls.py :
mysite/urls.py
Configuration des paramètres pour la production
Ne codez jamais de secrets en dur. Dansmysite/settings.py, lisez la clé secrète et les options de production depuis des variables d’environnement, faites confiance à l’origine HTTPS de votre site et activez WhiteNoise. Conservez le reste des paramètres générés tels quels :
mysite/settings.py
mysite.squareweb.app par votre sous-domaine ou votre domaine personnalisé. Définissez ensuite ces variables d’environnement dans votre application, depuis le tableau de bord ou avec squarecloud app env set :
Pour exécuter le projet en local, définissez
DJANGO_SECRET_KEY (n’importe quelle valeur) et DJANGO_DEBUG=True dans votre terminal, puis lancez python manage.py runserver.requirements.txt, à côté de manage.py. Square Cloud les installe avec pip avant de démarrer l’application. Il doit contenir au moins :
requirements.txt
Choisir un serveur de production
Le serveur de développement intégré de Django (runserver) n’est pas adapté à un usage en production. Utilisez Gunicorn, un serveur WSGI prêt pour la production, démarré par la commande START ci-dessous. Pour les réglages des workers et d’autres options, consultez le guide Gunicorn :
Gunicorn
Gunicorn est un serveur HTTP WSGI Python pour UNIX. Il repose sur un modèle de workers pre-fork, ce qui signifie qu’il duplique plusieurs processus workers pour traiter les requêtes.
Cela en fait un excellent choix pour exécuter des applications web Python en production.
Port et hôte
La commandeSTART ci-dessous lie Gunicorn à 0.0.0.0:80 : toutes les interfaces réseau, sur le port que Square Cloud achemine vers votre application. Django lui-même n’a aucun réglage de port à modifier.
Configurer Square Cloud
Créez un fichiersquarecloud.app à côté de manage.py :
squarecloud.app
collectstaticcopie vos fichiers statiques dansSTATIC_ROOT, d’où WhiteNoise les sert.migrateapplique les migrations de base de données en attente. Elle ne fait rien lorsque la base de données est déjà à jour.python -m gunicorn mysite.wsgi --bind 0.0.0.0:80sert l’application WSGI du projetmysitesur le port 80 et sur toutes les interfaces réseau.
MAIN=manage.py sélectionne le runtime Python. Lors d’un envoi via le tableau de bord, définissez le même fichier principal et la même commande de démarrage.
Contenu du ZIP
manage.pyet le packagemysite/, avec vos applications et vos templates.requirements.txt.squarecloud.app.
manage.py, requirements.txt et squarecloud.app doivent se trouver à la racine du ZIP. Excluez .venv, __pycache__, staticfiles/ (reconstruit par collectstatic à chaque démarrage) et votre db.sqlite3 local.
Déployer et vérifier
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.
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.
Une fois le déploiement effectué, vous pouvez suivre l’état et les logs de votre projet depuis le tableau de bord.

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
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.
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 Pour téléverser un zip que vous avez créé vous-même, passez-le avec
squarecloud.ignore, puis l’envoie :--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.
Erreurs courantes
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. L’URL par défaut provient du champ SUBDOMAIN du fichier de configuration. Pour connecter votre domaine, suivez comment configurer votre propre domaine.Prérequis minimum en RAM
Minimum : 512 Mo de RAM pour les sites web et les API, ce qui suffit pour un build statique sur le runtime statique. Pour les applications qui génèrent les pages sur un serveur (Next.js, Nuxt, Angular SSR et similaires), nous recommandons 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…
Votre serveur doit écouter sur le port 80 et l’hôte 0.0.0.0. Square Cloud définit les variables d’environnement PORT (
80) et HOST (0.0.0.0) dans votre application : lisez-les dans votre code au lieu de coder en dur d’autres valeurs. Un serveur qui n’écoute que sur localhost ou 127.0.0.1 ne reçoit jamais de requêtes.KeyError: ‘DJANGO_SECRET_KEY’
La variable d’environnement est absente. DéfinissezDJANGO_SECRET_KEY comme indiqué dans Configuration des paramètres pour la production, puis redémarrez l’application.
Bad Request (400)
L’adresse que vous avez ouverte ne figure pas dansDJANGO_ALLOWED_HOSTS. Ajoutez-y votre sous-domaine ou votre domaine personnalisé, puis redémarrez l’application.
Prochaines étapes
Variables d'environnement
Gardez les secrets et les paramètres hors de votre code et lisez-les à l’exécution.
Domaine personnalisé
Servez votre application sur votre propre domaine, à partir du plan Standard.
Dépannage
Corrigez une application qui ne démarre pas ou un site qui ne répond pas.

