# Comment déployer mon application Python ?

https://www.seturack.com/fr/base-de-connaissances/article/how-do-i-deploy-my-python-app

1. Dans le panneau, ouvrez **Mes serveurs** et cliquez sur votre serveur.
2. Dans l'onglet **Vue d'ensemble**, attendez que la ligne **Application** indique « Python is ready ». La page se rafraîchit toute seule.
3. Ouvrez le lien de la ligne **Adresse du site**. La page d'exemple affiche la version de Python.

## Exécuter votre propre application

[Connectez-vous en SSH](https://www.seturack.com/fr/base-de-connaissances/article/how-to-connect-with-ssh) et passez à l'utilisateur app :

`su - app`

`cd ~/uygulama`

Amenez votre code ici, par exemple avec `git clone`. Installez vos dépendances dans l'environnement virtuel :

`venv/bin/pip install -r requirements.txt`

Gunicorn exécute l'objet `app` du fichier `wsgi.py`. Avec Flask, modifiez ce fichier pour qu'il fournisse l'objet de votre application. Revenez ensuite à root avec `exit` et redémarrez-le :

`systemctl restart uygulama`

Pour utiliser un autre module ou FastAPI, modifiez la ligne `ExecStart` dans `/etc/systemd/system/uygulama.service` et lancez `systemctl daemon-reload`.

## Votre propre domaine

1. Faites pointer l'enregistrement A de votre domaine vers l'adresse IP de votre serveur.
2. En root, remplacez partout l'ancien nom : `sed -i 's/OLD_NAME/yourdomain.com/g' /etc/caddy/Caddyfile`. `OLD_NAME` est la partie après `https://` dans l'adresse affichée dans le panneau.
3. Lancez `systemctl reload caddy`.

Caddy obtient et renouvelle le certificat tout seul.

Seuls **80**, **443** et **22** pour SSH sont ouverts vers l'extérieur.

**Pas encore de serveur ?** [Commandez un serveur avec Python installé](https://www.seturack.com/fr/python-vps) : vous choisissez la taille et vous payez ce que vous choisissez.
