Déploiement d’une app Flask sur un serveur de production

Publié le 25 mars 2023 par Alexandre Meyer


Vous avez développé une app en python avec le framework Flask et vous souhaitez la publier sur votre serveur distant ?

Ce tutoriel étape par étape fait suite à mon cours de Python et de Flask avec le projet servant de démonstration. Il est uniquement à but pédagogique. Les étapes et processus que je décris plus bas ne sont qu’à titre d’exemple. Il est de la responsabilité du développeur de sécuriser au maximum son serveur et son projet (chose que je ne fais pas ici). Je vous montre une première trame qui fonctionne afin d’avoir un premier résultat pour son application en production.

✍️ Vous trouverez ici un tutoriel écrit qui montre étape par étape la procédure ⇒ https://docs.google.com/document/d/17h7nxAa5Ak3TQon4r5rdrmb1TOp5EIrhI_skXge5jK8/edit?usp=sharing

🎥 J’ai réalisé également un tutoriel vidéo, disponible sur Youtube, qui montre les manipulations sur le serveur de production ⇒ https://youtu.be/o8171Twkm_4

📜 Sommaire du tuto :

  1. Préparation du serveur
  2. Installer un serveur web
  3. Mettre en place son projet Flask
  4. Créer le fichier WSGI
  5. Configurer le serveur web
    • Partie A – Le moteur qui tourne
    • Partie B – Gestion des requêtes HTTP

Qu’est-ce qu’un framework web avec Python ?

➡️ Un framework est un ensemble d’outils (fonctions, fichiers déjà prêts, logiques de développement etc…) qui structure un projet informatique. Il nous fournit un cadre de travail strict pour travailler dans de bonnes conditions.

Un framework est plus qu’une librairie. Il intègre une gestion des fichiers, de la BDD, des données etc… On ne développe plus selon sa propre méthode mais selon des conventions. C’est ce qu’on appelle une bonne pratique de développement.

Plus besoin de réinventer la roue à chaque fois, nous allons gagner du temps et être plus efficace dans le développement de notre projet. Par ailleurs, le cadre étant connu, le projet sera plus simple à travailler dans une équipe.

Avec Python, nous avons plusieurs framework pour le web, dont Flask et Django. Nous allons découvrir Flask car :

  • Il permet de mettre en place rapidement une solution web (un MVP),
  • Il s’agit d’un micro-framework (plus léger que Django dans ses fonctionnalités et possibilités),
  • La prise en main est plus rapide et permet de découvrir un premier framework.

➡️ Le framework va nous servir à structurer notre projet. Mais comment ? Pour avoir un code bien organisé, nous allons séparer notre application en 3 parties. Cette séparation correspond à la mise en place du design pattern appelé MVT.

💡 Flask utilise le modèle MVT (inspiré du modèle MVC). Chaque partie a un rôle précis :

  • Modèle : comporte nos données structurées (notre base de données),
  • Vue : gère le traitement de nos données, le routage des liens, la connexion avec notre BDD (modèle),
  • Template : correspond au fichier HTML qui structure l’affichage à l’utilisateur et qui reçoit les données de la vue.
Procédure réalisée lorsqu’une page web s’affiche

CC BY-NC-SA 4.0





Commentaires

Pas encore de commentaires... Soyez le premier à commenter !


Donnez votre avis sur cet article