Configurer une application Python

3 min de lecture07 novembre 2026

Sur l'hébergement d'applications, la plateforme attend un point d'entrée Python et une commande de démarrage. Par défaut, elle installe requirements.txt, puis exécute python main.py. Votre code doit donc démarrer sans argument, lire sa configuration dans l'environnement et rester actif : un script qui se termine après l'initialisation est considéré comme arrêté.

Point d'entrée

Placez main.py à la racine du projet, ou indiquez le bon chemin si votre fichier est dans src/. Le fichier doit lancer le serveur ou la boucle d'événements au niveau supérieur, ou dans un bloc if __name__ == "__main__":.

Python
import os
from http.server import BaseHTTPRequestHandler, HTTPServer

class Handler(BaseHTTPRequestHandler):
    def do_GET(self):
        body = b"ok"
        self.send_response(200)
        self.send_header("Content-Type", "text/plain")
        self.send_header("Content-Length", str(len(body)))
        self.end_headers()
        self.wfile.write(body)

port = int(os.environ.get("PORT", "8000"))
HTTPServer(("0.0.0.0", port), Handler).serve_forever()

serve_forever() maintient le processus actif. Un print suivi d'une sortie de script provoque un arrêt immédiat, puis un redémarrage en boucle.

Dépendances et version

Déclarez les paquets dans requirements.txt avec des versions précises. La plateforme propose Python 3.12, 3.11, 3.10 et 3.9 : une roue compilée pour 3.12 ne fonctionne pas sur 3.9, et inversement. Vérifiez la disponibilité des roues avant de choisir une version ancienne.

N'embarquez pas d'environnement virtuel dans l'archive : il contient des chemins absolus de votre machine. Laissez la plateforme installer les dépendances. Ajoutez PYTHONUNBUFFERED=1 dans les variables si vos print n'apparaissent pas immédiatement dans la console.

Port et exposition

Une application web lit PORT et écoute sur 0.0.0.0. Un bot Discord n'ouvre aucun port : il se connecte à la passerelle. Dans les deux cas, ne codez pas le port et ne supposez pas que localhost est joignable depuis l'extérieur.

Si l'initialisation est longue (migrations, chargement de modèle), commencez à écouter rapidement et déplacez le travail lourd après le démarrage, sinon la plateforme peut considérer le service comme indisponible.

Variables et fichiers

Les variables se configurent dans le panneau et sont injectées au démarrage. Un changement nécessite un redémarrage. Les fichiers écrits par l'application persistent dans le dossier du projet selon l'offre, mais ne remplacent pas une sauvegarde : exportez les données importantes.

N'écrivez pas dans les paquets installés ni dans le dossier de l'interpréteur. Utilisez un sous-dossier dédié (data/, uploads/) avec des permissions adaptées.

Vérifier

  1. Le journal d'installation ne contient pas d'erreur de dépendance.
  2. Le démarrage affiche le port ou votre message d'initialisation.
  3. Une requête sur / ou /health répond.
  4. Le service reste actif et la mémoire se stabilise.
  5. Après un renommage de fichier, la commande de démarrage pointe vers le bon chemin.

Si le service redémarre sans cesse, lisez la première exception : elle indique presque toujours un import manquant, un chemin incorrect ou une variable absente.

Publicité

Cet article vous a-t-il aidé ?

À lire aussi