Se connecter

Informatique

Création de sites web

Sujet : Django ? Flask ? Sur quel type de serveur ?
1
Forum-Difforme
Niveau 6
08 octobre 2021 à 08:53:40

Bonjour, je débute en python et j'aimerais faire le back end d'un site en python (Flask ou Django)

Le site devrait avoir un système de paiement (paypal sans doute) et un moyen de vérifier celui-ci avant de :
-Ajouter une clé d'activation dans une base de données
-Envoyer un mail avec lien de téléchargement du logiciel et clé d'activation.

J'aimerais donc savoir, pour un débutant en python, ce qui serait, selon vous, le plus adapté, le plus simple et le plus rapide à mettre en place pour une seule personne. J'aimerais aussi savoir si il me faudra pour ça un type d'hébergement particulier. L'hébergement business de ovh (
https://www.ovh.com/fr/hebergement-web/) prend en charge les sites avec un back end en Python ?

Merci :ange:

Pseudo supprimé
Niveau 8
18 décembre 2021 à 18:07:24

heroku

mauricemoss
Niveau 16
23 décembre 2021 à 13:29:19

J'ai fait quelques site web en Python avec Flask, j'ai utilisé Heroku et OVH (avec un serveur privé virtuel, ce qu'il appelle un VPS).

Heroku permet d'avoir une solution d'hébergement gratuite, mais il faut connaître les bases de git et de la ligne de commande pour envoyer son code source sur la plateforme pour qu'il déploie ton site web. Ensuite tu as un nom de domaine type .herokuapp.com disponible et tu peux aussi utiliser un système de gestion de bases de données type PostgreSQL ou MySQL (pas besoin de carte de crédit pour PostgreSQL).
Sur Heroku, tant que tu ne dépasses pas un certain quota, c'est gratuit.

OVH avec le serveur privé virtuel (VPS) a l'avantage de te donner complètement la main sur le serveur. C'est un peu comme si tu avais installé un machine virtuelle avec le système d'exploitation de ton choix.
Le seul truc, c'est que c'est payant (quelques euros par mois), mais personnellement je trouve que la qualité est au rendez-vous.
J'ai suivi ces tutoriels pour déployer mon application Flask avec PostgreSQL sur mon VPS.
:d) https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-gunicorn-and-nginx-on-ubuntu-20-04-fr
:d) https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-11
:d) https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-debian-10
:d) https://www.digitalocean.com/community/tutorials/how-to-install-and-use-postgresql-on-ubuntu-20-04-fr
Pour le système d'exploitation, j'ai choisi Debian 11, les tutoriels sont parfois sur Debian 10 ou Ubuntu 20, mais c'est facile à adapter.

J'ai aussi payé pour avoir un nom de domaine avec OVH. Ce qui m'a permis d'avoir accès au service d'envoi et de réception d'email lié à mon nom de domaine.
Du coup, j'ai utilisé ça pour faire des envois d'email depuis mon application Flask avec le module smtplib de la bibliothèque
standard.
J'ai regardé la documentation d'OVH pour connaître les bons ports à utiliser et le nom de domaine à utiliser https://docs.ovh.com/fr/emails/creation-dune-adresse-e-mail/
C'est plus compliqué qu'avec Heroku, mais tu apprends vraiment comment déployer et administrer ton serveur à la main.
Au final, tu installes et configures le système de gestion de bases de données (PostgreSQL dans mon cas), le pare-feu (ufw), le "reverse proxy" (nginx), le serveur d'application WSGI HTTP (gunicorn), le certificat HTTPS (let's encrypt).
Idéalement, il faut bien connaître Linux (je ne sais pas si on peut aussi utiliser un VPS fonctionnant sur Windows, mais de manière générale, je ne pense pas que ce soit une bonne idée d'héberger ses sites web sur un serveur tournant sur Windows).
Je pense qu'il y a aussi moyen d'installer son propre serveur email en suivant ce genre de tutoriel https://www.tecmint.com/install-postfix-mail-server-with-webmail-in-debian/ mais c'était tellement fastidieux que je ne l'ai pas fait.

J'ai aussi entendu parlé de pythonanywhere, qui apparement permet d'héberger son site web fait en Python facilement, mais je n'ai jamais testé cette plateforme d'hébergement.

1
Sujet : Django ? Flask ? Sur quel type de serveur ?
   Retour haut de page
Consulter la version web de cette page