Qu'est-ce que l'hébergement Python ?

Pour donner vie à une application Python sur Internet, vous avez besoin d'un environnement spécialisé capable d'exécuter le code, de gérer ses dépendances et de la diffuser auprès des utilisateurs. C'est là qu'intervient l'hébergement Python : un service qui fournit l'infrastructure de serveur et la pile logicielle nécessaires, configurées spécifiquement pour exécuter des applications créées avec le langage de programmation Python. Contrairement à l'hébergement Web générique, l'hébergement Python est conçu pour répondre aux exigences uniques du langage, telles que la prise en charge de frameworks, de bibliothèques et de normes de déploiement spécifiques.

Principales caractéristiques de l'hébergement Python

Lors de l'évaluation des options d'hébergement pour une application Python, les développeurs d'entreprise doivent rechercher un ensemble spécifique de fonctionnalités garantissant flexibilité, contrôle et performances. Un environnement d'hébergement Python robuste offre généralement les avantages suivants :

  • Prise en charge de plusieurs versions de Python : possibilité de sélectionner la version spécifique de l'interpréteur Python (par exemple, 3.13, 3.12, 3.11) dont votre application a besoin.
  • Compatibilité avec les environnements virtuels : indispensable pour la gestion des dépendances, l'hébergement doit permettre l'utilisation d'outils tels que venv ou virtualenv afin de créer des environnements isolés pour chaque projet.
  • Compatibilité avec les serveurs ASGI et WSGI : ASGI est généralement privilégié pour les applications modernes et asynchrones qui nécessitent une simultanéité élevée et une communication en temps réel, tandis que WSGI reste adapté aux applications Web synchrones plus simples. Un bon hébergement permet d'installer et de configurer ces deux serveurs.
  • Accès à la gestion des packages : un accès au shell ou via SSH peut être nécessaire pour installer des packages à partir de l'index des packages Python (PyPI). Si l'approche traditionnelle consistait à utiliser pip et un fichier requirements.txt, les projets Python modernes utilisent de plus en plus pyproject.toml pour la gestion des dépendances, ainsi que des outils plus récents comme uv pour une résolution et une installation des packages plus rapides et plus efficaces.
  • Prise en charge des bases de données : intégration facile avec les bases de données couramment utilisées dans les applications Python, telles que PostgreSQL et MySQL.
  • Évolutivité : capacité à faire évoluer facilement les ressources de serveur (CPU, RAM) à la hausse ou à la baisse en fonction de l'évolution du trafic et des besoins de traitement de votre application.
  • Intégration à Git : possibilité de déployer du code directement à partir d'un dépôt Git pour simplifier le pipeline CI/CD.

Types d'hébergements Python

Les solutions d'hébergement Python vont des options simples et peu coûteuses aux environnements puissants et hautement évolutifs. Le choix approprié dépend de la complexité de l'application, des exigences de performances et du besoin de contrôle du développeur.

Type d'hébergement

Cas d'utilisation pour les développeurs

Exemple de problème que vous tentez de résoudre

Hébergement partagé

Un développeur qui crée un blog personnel, un site portfolio simple avec un framework léger comme Flask ou un petit projet.

"J'ai besoin d'un moyen simple et très économique de mettre mon projet personnel en ligne. Je n'ai pas besoin de configurations spéciales, et le trafic sera faible."

Hébergement VPS (serveur privé virtuel)


Un développeur qui lance un système de gestion de contenu ou un site d'e-commerce nécessitant des packages système spécifiques.

"Je dois installer un serveur de mise en cache comme Redis et gérer un trafic modéré et prévisible pour le site Web d'un client, mais un serveur dédié complet est trop cher."

Hébergement cloud/PaaS (Platform as a Service)


Un développeur d'entreprise qui crée une API Web ou un microservice évolutif, et doit gérer le trafic imprévisible pour le lancement d'un nouveau produit.

"Je veux que mon application évolue automatiquement si elle est mise en avant dans les médias, et je veux me concentrer sur mon code, et non sur la gestion des serveurs."

Hébergement de serveurs dédiés


Une équipe de développement exécutant une application de traitement de données gourmande en ressources ou une plate-forme de services financiers soumise à des règles de conformité strictes.

"Mon application traite de grands ensembles de données et nécessite un accès maximal et exclusif au CPU et à la RAM. J'ai également besoin d'un contrôle total sur le matériel pour les audits de sécurité."

Type d'hébergement

Cas d'utilisation pour les développeurs

Exemple de problème que vous tentez de résoudre

Hébergement partagé

Un développeur qui crée un blog personnel, un site portfolio simple avec un framework léger comme Flask ou un petit projet.

"J'ai besoin d'un moyen simple et très économique de mettre mon projet personnel en ligne. Je n'ai pas besoin de configurations spéciales, et le trafic sera faible."

Hébergement VPS (serveur privé virtuel)


Un développeur qui lance un système de gestion de contenu ou un site d'e-commerce nécessitant des packages système spécifiques.

"Je dois installer un serveur de mise en cache comme Redis et gérer un trafic modéré et prévisible pour le site Web d'un client, mais un serveur dédié complet est trop cher."

Hébergement cloud/PaaS (Platform as a Service)


Un développeur d'entreprise qui crée une API Web ou un microservice évolutif, et doit gérer le trafic imprévisible pour le lancement d'un nouveau produit.

"Je veux que mon application évolue automatiquement si elle est mise en avant dans les médias, et je veux me concentrer sur mon code, et non sur la gestion des serveurs."

Hébergement de serveurs dédiés


Une équipe de développement exécutant une application de traitement de données gourmande en ressources ou une plate-forme de services financiers soumise à des règles de conformité strictes.

"Mon application traite de grands ensembles de données et nécessite un accès maximal et exclusif au CPU et à la RAM. J'ai également besoin d'un contrôle total sur le matériel pour les audits de sécurité."

Étapes de déploiement d'une application Python par type d'hébergement

Bien que les étapes de déploiement de base soient similaires, le niveau d'effort manuel et de contrôle varie considérablement selon les types d'hébergements.

Étape de déploiement

Points à prendre en compte par type d'hébergement

Préparer l'application

Universel : assurez-vous que toutes les dépendances sont listées dans un fichier pyproject.toml ou un fichier requirements.txt.

Choisir un fournisseur d'hébergement

Universel  : choisissez l'option la plus adaptée en fonction des besoins de votre application en termes de contrôle, d'évolutivité et de budget.

Configurer l'environnement

Partagé : options limitées, souvent contrôlées via un panneau de configuration.

VPS/Dédié : accès racine complet. Vous installez Python, venv et les bibliothèques système manuellement. 

Cloud/PaaS : souvent géré automatiquement par la plate-forme. Il vous suffit parfois de spécifier une version de Python dans un fichier de configuration.

Importer le code


Partagé  : généralement via FTP ou un gestionnaire de fichiers Web.

VPS/Dédié : Git est à privilégier (par exemple, git pull). 

Cloud/PaaS : s'intègre généralement directement à Git pour les déploiements automatisés (par exemple, gcloud run deploy).

Configurer l'application


Partagé  : options de configuration limitées. 

VPS/Dédié : contrôle total sur les variables d'environnement et les configurations de serveurs. 

Cloud/PaaS : géré à l'aide de fichiers de configuration de service (par exemple, service.yaml) ou d'une console Web.

Installer des dépendances

Partagé : peut être limité. 

VPS/Dédié : pip install -r requirements.txt via SSH.

Cloud/PaaS : les dépendances sont généralement installées automatiquement par la plate-forme pendant le processus de compilation, en fonction du fichier requirements.txt.

Exécuter des migrations (le cas échéant)

Partagé : nécessite souvent un outil spécifique dans le panneau de configuration. 

VPS/Dédié : exécutez les commandes de migration directement via SSH. 

Cloud/PaaS : peut être configuré dans le cadre d'un script post-déploiement ou exécuté en tant que job distinct.

Démarrer le serveur d'application


Partagé : généralement préconfiguré et géré par l'hôte. 

VPS/Dédié : vous installez, configurez et exécutez manuellement un serveur WSGI comme Gunicorn. 

Cloud/PaaS : la plate-forme gère automatiquement le serveur d'application.

Configurer le domaine (facultatif)


Universel  : pointez les enregistrements DNS de votre domaine personnalisé vers l'adresse IP ou le nom d'hôte fourni par le service d'hébergement.

Étape de déploiement

Points à prendre en compte par type d'hébergement

Préparer l'application

Universel : assurez-vous que toutes les dépendances sont listées dans un fichier pyproject.toml ou un fichier requirements.txt.

Choisir un fournisseur d'hébergement

Universel  : choisissez l'option la plus adaptée en fonction des besoins de votre application en termes de contrôle, d'évolutivité et de budget.

Configurer l'environnement

Partagé : options limitées, souvent contrôlées via un panneau de configuration.

VPS/Dédié : accès racine complet. Vous installez Python, venv et les bibliothèques système manuellement. 

Cloud/PaaS : souvent géré automatiquement par la plate-forme. Il vous suffit parfois de spécifier une version de Python dans un fichier de configuration.

Importer le code


Partagé  : généralement via FTP ou un gestionnaire de fichiers Web.

VPS/Dédié : Git est à privilégier (par exemple, git pull). 

Cloud/PaaS : s'intègre généralement directement à Git pour les déploiements automatisés (par exemple, gcloud run deploy).

Configurer l'application


Partagé  : options de configuration limitées. 

VPS/Dédié : contrôle total sur les variables d'environnement et les configurations de serveurs. 

Cloud/PaaS : géré à l'aide de fichiers de configuration de service (par exemple, service.yaml) ou d'une console Web.

Installer des dépendances

Partagé : peut être limité. 

VPS/Dédié : pip install -r requirements.txt via SSH.

Cloud/PaaS : les dépendances sont généralement installées automatiquement par la plate-forme pendant le processus de compilation, en fonction du fichier requirements.txt.

Exécuter des migrations (le cas échéant)

Partagé : nécessite souvent un outil spécifique dans le panneau de configuration. 

VPS/Dédié : exécutez les commandes de migration directement via SSH. 

Cloud/PaaS : peut être configuré dans le cadre d'un script post-déploiement ou exécuté en tant que job distinct.

Démarrer le serveur d'application


Partagé : généralement préconfiguré et géré par l'hôte. 

VPS/Dédié : vous installez, configurez et exécutez manuellement un serveur WSGI comme Gunicorn. 

Cloud/PaaS : la plate-forme gère automatiquement le serveur d'application.

Configurer le domaine (facultatif)


Universel  : pointez les enregistrements DNS de votre domaine personnalisé vers l'adresse IP ou le nom d'hôte fourni par le service d'hébergement.

Exemple de projet : formulaire Web Python interactif

Cette section présente deux exemples de création d'applications Web interactives avec Python, illustrant différentes approches et technologies.

Flask et Gunicorn (approche traditionnelle)

Ce guide par étapes vous explique comment créer une application Web simple et interactive à l'aide du framework Flask. Cette application présentera un formulaire à l'utilisateur, traitera ses entrées et affichera une réponse personnalisée. Il s'agit d'un modèle fondamental pour de nombreux services Web et outils internes.

Étape 1 : Configurez votre répertoire de projet en local

Commencez par créer un dossier de projet et accédez-y. Il est nécessaire de créer un environnement virtuel pour isoler les dépendances de votre projet et éviter les conflits.

mkdir python-form-app && cd python-form-app

python3 -m venv venv

source venv/bin/activate

mkdir python-form-app && cd python-form-app

python3 -m venv venv

source venv/bin/activate

Étape 2 : Installez les dépendances et créez le fichier d'application

Installez la bibliothèque Flask pour le framework Web et Gunicorn, qui est un serveur WSGI de niveau production permettant de diffuser l'application.

pip install Flask gunicorn

pip install Flask gunicorn

Créez ensuite un fichier nommé "main.py". Ce code configure deux routes : l'une pour afficher le formulaire HTML (demande GET) et l'autre pour gérer l'envoi du formulaire (requête POST).

import os

from flask import Flask, request, render_template_string

app = Flask(__name__)

# Définissez le modèle HTML de votre formulaire directement dans le code par souci de simplicité

FORM_TEMPLATE = """

<!DOCTYPE html>

<html>

<head>

    <title>Formulaire simple</title>

</head>

<body>

    <h1>Veuillez saisir votre nom</h1>

    <form action="/greet" method="post">

        <label for="name">Name:</label>

        <input type="text" id="name" name="name" required>

        <button type="submit">Envoyer</button>

    </form>

</body>

</html>

"""

# Cette route affiche le formulaire

@app.route("/", methods=['GET'])

def show_form():

    return render_template_string(FORM_TEMPLATE)

# Cette route traite l'envoi du formulaire

@app.route("/greet", methods=['POST'])

def greet_user():

    user_name = request.form['name']

    if not user_name:

        user_name = "World"

    return f"<h1>Bonjour {user_name} !</h1>"

if __name__ == "__main__":

    app.run(debug=True, host="0.0.0.0", port=int(os.environ.get("PORT", 8080)))

import os

from flask import Flask, request, render_template_string

app = Flask(__name__)

# Définissez le modèle HTML de votre formulaire directement dans le code par souci de simplicité

FORM_TEMPLATE = """

<!DOCTYPE html>

<html>

<head>

    <title>Formulaire simple</title>

</head>

<body>

    <h1>Veuillez saisir votre nom</h1>

    <form action="/greet" method="post">

        <label for="name">Name:</label>

        <input type="text" id="name" name="name" required>

        <button type="submit">Envoyer</button>

    </form>

</body>

</html>

"""

# Cette route affiche le formulaire

@app.route("/", methods=['GET'])

def show_form():

    return render_template_string(FORM_TEMPLATE)

# Cette route traite l'envoi du formulaire

@app.route("/greet", methods=['POST'])

def greet_user():

    user_name = request.form['name']

    if not user_name:

        user_name = "World"

    return f"<h1>Bonjour {user_name} !</h1>"

if __name__ == "__main__":

    app.run(debug=True, host="0.0.0.0", port=int(os.environ.get("PORT", 8080)))

Étape 3 : Créez un fichier des dépendances

Créez un fichier requirements.txt pour lister les dépendances de votre projet. Ce fichier est essentiel pour le déploiement dans n'importe quel environnement d'hébergement, car il indique au serveur les packages à installer.

pip freeze > requirements.txt

pip freeze > requirements.txt

Étape 4 : Testez l'application sur le serveur Python d'un hôte local

Exécutez l'application en local pour vous assurer que l'affichage du formulaire et la logique d'envoi fonctionnent correctement.

python main.py

python main.py

Ouvrez maintenant votre navigateur Web et accédez à http://localhost:8080. Une page Web simple contenant un formulaire vous demandant votre nom doit s'afficher. Saisissez votre nom, puis cliquez sur le bouton "Envoyer". La page doit s'actualiser et afficher un message de bienvenue personnalisé, confirmant que votre application fonctionne comme prévu.

Étape 5 : Préparez-vous pour la production

Pour un déploiement en production, vous devez utiliser un serveur WSGI robuste comme Gunicorn au lieu du serveur de développement intégré de Flask. Vous pouvez tester cette interaction en local à l'aide de la commande suivante :

gunicorn --bind 0.0.0.0:8080 main:app

gunicorn --bind 0.0.0.0:8080 main:app

Cette application interactive est désormais structurée correctement et validée. Elle est donc prête à être déployée chez un fournisseur d'hébergement de serveurs Python professionnel.

FastAPI et Uvicorn (approche moderne et asynchrone)

Cet exemple montre comment créer le même formulaire Web interactif à l'aide de FastAPI, un framework Web moderne et rapide (hautes performances) permettant de créer des API avec Python 3.7 ou version ultérieure, basé sur les indicateurs de types Python standards. Uvicorn sera utilisé comme serveur ASGI. Cette approche convient aux applications asynchrones qui nécessitent une simultanéité élevée.

Étape 1 : Configurez votre répertoire de projet en local et installez les dépendances

Commencez par créer un répertoire de projet et configurer l'environnement virtuel. Ici, nous utilisons uv, un nouvel outil permettant de réduire considérablement le nombre d'étapes par rapport aux anciens outils. Uv est jusqu'à 100 fois plus rapide :

mkdir fastapi-form-app && cd fastapi-form-app

uv venv .venv

source .venv/bin/activate #for linux or mac

.venv\Scripts\activate #for windows

mkdir fastapi-form-app && cd fastapi-form-app

uv venv .venv

source .venv/bin/activate #for linux or mac

.venv\Scripts\activate #for windows

Installez les bibliothèques en une seule étape :

uv pip install fastapi uvicorn Jinja2

uv pip install fastapi uvicorn Jinja2

Étape 2 : Créez le fichier de l'application

Créez un fichier nommé main.py avec le contenu suivant :

from fastapi import FastAPI, Form, Request

from fastapi.responses import HTMLResponse

from fastapi.templating import Jinja2Templates

import os

app = FastAPI()

templates = Jinja2Templates(directory="templates")

@app.get("/", response_class=HTMLResponse)

async def show_form(request: Request):

    return templates.TemplateResponse("form.html", {"request": request})

@app.post("/greet", response_class=HTMLResponse)

async def greet_user(request: Request, name: str = Form(...)):

    if not name:

        name = "World"

    return templates.TemplateResponse("greeting.html", {"request": request, "name": name})

from fastapi import FastAPI, Form, Request

from fastapi.responses import HTMLResponse

from fastapi.templating import Jinja2Templates

import os

app = FastAPI()

templates = Jinja2Templates(directory="templates")

@app.get("/", response_class=HTMLResponse)

async def show_form(request: Request):

    return templates.TemplateResponse("form.html", {"request": request})

@app.post("/greet", response_class=HTMLResponse)

async def greet_user(request: Request, name: str = Form(...)):

    if not name:

        name = "World"

    return templates.TemplateResponse("greeting.html", {"request": request, "name": name})

Étape 3 : Créez les modèles HTML

Créez un répertoire nommé "templates" et ajoutez-y les fichiers suivants :

templates/form.html :

<!DOCTYPE html>

<html>

<head>

    <title>Formulaire simple</title>

</head>

<body>

    <h1>Veuillez saisir votre nom</h1>

    <form action="/greet" method="post">

        <label for="name">Nom :</label>

        <input type="text" id="name" name="name" required>

        <button type="submit">Envoyer</button>

    </form>

</body>

</html>

<!DOCTYPE html>

<html>

<head>

    <title>Formulaire simple</title>

</head>

<body>

    <h1>Veuillez saisir votre nom</h1>

    <form action="/greet" method="post">

        <label for="name">Nom :</label>

        <input type="text" id="name" name="name" required>

        <button type="submit">Envoyer</button>

    </form>

</body>

</html>

templates/greeting.html :

<!DOCTYPE html>

<html>

<head>

    <title>Message d'accueil</title>

</head>

<body>

    <h1>Bonjour {{ name }} !</h1>

</body>

</html>

<!DOCTYPE html>

<html>

<head>

    <title>Message d'accueil</title>

</head>

<body>

    <h1>Bonjour {{ name }} !</h1>

</body>

</html>

Étape 4 : Testez l'application en local

Exécutez l'application à l'aide d'Uvicorn :

uvicorn main:app --reload

uvicorn main:app --reload

Ouvrez votre navigateur Web et accédez à http://localhost:8000. Le formulaire doit s'afficher. Saisissez votre nom et envoyez-le pour afficher le message de bienvenue personnalisé. L'option --reload permet de recharger automatiquement l'application en cas de modification du code, ce qui accélère le processus de test.

Étape 5 : Préparez-vous pour la production

Pour le déploiement, assurez-vous de disposer d'un fichier pyproject.toml spécifiant vos dépendances. Bien que des outils comme uv puissent simplifier davantage ce processus, voici un exemple de base :

[project]

name = "fastapi-form-app"

version = "0.1.0"

description = "Application simple de création de formulaires avec FastAPI"

dependencies = [

    "fastapi",

    "uvicorn",

    "Jinja2"

]

[project]

name = "fastapi-form-app"

version = "0.1.0"

description = "Application simple de création de formulaires avec FastAPI"

dependencies = [

    "fastapi",

    "uvicorn",

    "Jinja2"

]

Il peut ensuite être déployé facilement en pointant vers un environnement.

Questions fréquentes

Questions fréquentes sur l'hébergement Python

Alors que l'hébergement Web standard est principalement optimisé pour les fichiers statiques (HTML, CSS) et les systèmes basés sur PHP comme WordPress, l'hébergement Python est spécifiquement configuré pour prendre en charge l'environnement d'exécution Python et son écosystème. Cela inclut l'accès à différentes versions de Python, la prise en charge des serveurs d'applications WSGI (comme Gunicorn), ainsi que des outils de gestion des packages Python via pip et requirements.txt. L'hébergement standard peut ne pas disposer de ces composants critiques ou ne pas y donner accès.

Pour de nombreux types d'hébergements Python, en particulier les VPS et les serveurs dédiés, l'accès SSH (Secure Shell) est essentiel. Il vous permet de vous connecter à la ligne de commande du serveur pour installer des packages, exécuter des migrations de bases de données, configurer votre serveur WSGI et gérer directement les fichiers de votre application. Bien que certaines solutions PaaS (Platform as a Service) gérées en fassent abstraction, l'accès SSH offre le plus haut niveau de contrôle et de flexibilité.

Oui. Bien que l'hébergement Python soit souvent abordé dans le contexte des applications Web, les mêmes environnements peuvent être utilisés pour exécuter d'autres types de scripts Python. Par exemple, vous pouvez utiliser un VPS ou une VM Compute Engine pour exécuter un nœud de calcul d'arrière-plan de longue durée dédié au traitement des données, une tâche planifiée à l'aide de cron ou un serveur d'inférence de modèles de machine learning. L'essentiel est de disposer d'un environnement de serveur dans lequel vous pouvez installer Python et ses dépendances.

Un serveur WSGI (Web Server Gateway Interface, interface passerelle de serveur Web), tel que Gunicorn ou uWSGI, est un élément essentiel d'une configuration d'hébergement Web Python en production. Les serveurs de développement fournis avec des frameworks comme Flask et Django ne conviennent pas au trafic de production. Le serveur WSGI sert d'intermédiaire. Il reçoit les requêtes HTTP d'un serveur Web frontal robuste (comme NGINX) et les traduit dans un format standardisé que le framework de votre application Python peut comprendre. Il gère plusieurs processus de nœud de calcul, et est conçu pour offrir des performances et une stabilité optimales en cas de charge.

L'exécution de votre application Python sur l'hôte local consiste à la tester sur votre propre ordinateur. Il s'agit d'une première étape essentielle pour s'assurer que votre code fonctionne comme prévu dans un environnement contrôlé. L'hébergement Python en production consiste à prendre cette application fonctionnelle et à la déployer sur un serveur connecté à Internet, la rendant ainsi accessible aux utilisateurs du monde entier. L'objectif d'un bon processus de déploiement est de faire en sorte que l'environnement de production reflète le plus fidèlement possible votre environnement de test sur l'hôte local afin d'éviter les mauvaises surprises. C'est l'un des principaux avantages des technologies comme la conteneurisation.

Avantages de l'hébergement Python

Performances optimisées

Les environnements d'hébergement spécifiquement configurés pour Python peuvent offrir de meilleures performances en utilisant des configurations de serveur et des technologies appropriées, comme WSGI.

Gestion simplifiée des dépendances

La prise en charge des environnements virtuels et de pip facilite la gestion des dépendances d'un projet sans conflits.

Évolutivité pour la croissance

Un hébergement Python de qualité, en particulier un hébergement Python dans le cloud, permet de faire évoluer facilement les ressources de votre application à mesure que votre base d'utilisateurs et votre trafic augmentent.

Des développeurs plus productifs

En bénéficiant d'un environnement prêt à l'emploi avec les bons outils, les développeurs peuvent consacrer moins de temps à l'administration des serveurs et plus de temps à la création de fonctionnalités d'application.

Compatibilité avec de nombreux frameworks

Ces plates-formes d'hébergement sont conçues pour être compatibles avec le vaste écosystème de frameworks Web Python, de Django à Flask, en passant par FastAPI.

Relevez vos plus grands défis avec Google Cloud

Les nouveaux clients bénéficient de 300 $ de crédits à dépenser sur Google Cloud.

Points à noter concernant la sécurité pour l'hébergement Python

  • Gestion des dépendances : auditez et mettez à jour régulièrement les dépendances listées dans requirements.txt pour corriger les failles connues. Utilisez des outils pour détecter les problèmes de sécurité dans vos packages.
  • Gestion des codes secrets : ne codez jamais en dur les clés API, les identifiants de base de données ou d'autres codes secrets directement dans votre code source. Utilisez des variables d'environnement ou un service dédié à la gestion des codes secrets.
  • Désactivation du mode débogage : assurez-vous que le mode débogage de votre framework Web est désactivé en production. Le mode débogage peut exposer des informations sensibles sur la configuration de votre application.
  • Utilisation d'environnements virtuels : utilisez toujours des environnements virtuels pour isoler les dépendances de votre application. Cela évite les conflits entre packages globaux, et offre un environnement plus propre et plus sécurisé.
  • Configuration du serveur Web : configurez votre serveur Web et votre serveur WSGI de manière sécurisée. Limitez les autorisations et assurez-vous que seuls les ports nécessaires sont exposés à Internet.
Quel problème essayez-vous de résoudre ?
What you'll get:
Guide par étapes
Architecture de référence
Solutions pré-intégrées disponibles
Ce service a été créé avec Vertex AI. Vous devez avoir au moins 18 ans pour l'utiliser. Ne saisissez pas d'informations sensibles, confidentielles ni personnelles.

En savoir plus

Découvrez comment utiliser Python avec Cloud Run pour déployer des applications conteneurisées et évolutives.

Passez à l'étape suivante

Profitez de 300 $ de crédits gratuits et de plus de 20 produits Always Free pour commencer à créer des applications sur Google Cloud.

  • Faites des économies grâce à notre approche transparente concernant la tarification
  • Le paiement à l'usage de Google Cloud permet de réaliser des économies automatiques basées sur votre utilisation mensuelle et des tarifs réduits pour les ressources prépayées. Contactez-nous dès aujourd'hui afin d'obtenir un devis.
Google Cloud