J'apprends le développement web et j'utilise Python (flask) ainsi que HTML et CSS avec des bouts de JavaScript. Je veux savoir comment je peux connecter une base de données (MySQL) à mon site web et où et comment elle sera stockée. Je souhaite savoir comment je peux intégrer MySQL à mon site web et aussi comment la base de données sera stockée et accessible sur Internet. Merci de partager vos connaissances.
Réponses
Trop de publicités?Je ne suis en aucun cas un expert du framework Flask, mais je pense pouvoir offrir quelques conseils sur la manière dont Flask et MySQL fonctionnent ensemble. Je ne suis pas sûr du système d'exploitation que vous utilisez pour votre site web, je vais donc utiliser linux comme exemple.
Pour simplifier à l'extrême, Flask est un micro-framework qui utilise Python pour abstraire et connecter votre front-end (HTML, CSS, JavaScript), votre base de données dorsale (MySQL), ainsi que pour servir votre site web en remplaçant le besoin d'un logiciel serveur traditionnel tel qu'Apache2.
Flask se charge de servir votre page web, vous n'avez donc pas besoin d'installer un logiciel distinct, mais Flask nécessite un logiciel de base de données traditionnel tel que MySQL. Jetez un coup d'œil à cette page pour des informations sur l'installation de MySQL sur Ubuntu.
Vous devrez d'abord configurer votre base de données et vos tables en utilisant la ligne de commande ou une application GUI pour accéder à MySQL qui fonctionne sur votre machine. Voici un exemple de MySQL aide-mémoire sur les lignes de commande . Si vous préférez interagir avec votre base de données en utilisant une application GUI, voici MySQL Workbench . Pour des informations sur la façon de connecter votre application Flask à votre base de données fraîchement installée, voici un tutoriel que vous pourriez trouver utile. En suivant ce tutoriel, votre logiciel de base de données et vos données seront exécutés et stockés sur la même machine qui exécutera votre code Python Flask.
Je ne suis pas tout à fait sûr de ce que vous voulez dire par " comment la base de données sera stockée et accessible sur Internet "mais voici quelques précisions qui pourraient vous être utiles. Les visiteurs de votre site Web interagissent avec votre code Python Flask qui, à son tour, interagit avec MySQL. C'est ainsi que votre site web peut accéder aux données stockées dans la base de données. Vous ne devez absolument pas no vous voulez que vos visiteurs puissent interagir directement avec le logiciel MySQL qui fonctionne sur votre serveur. Si vous vous voulez accéder à distance à MySQL à des fins d'administration, Voici comment le configurer .
J'espère que ces informations vous aideront !
Je souhaite savoir comment je peux intégrer MySQL à mon site web.
En bref, vous pouvez installer MySQL sur l'ordinateur de votre choix, comme n'importe quelle autre application, quel que soit le système d'exploitation utilisé par l'ordinateur. Cela signifie qu'un installateur MSI ou .zip
sous Windows, probablement une .dmg
sur MacOS et .deb
, .rpm
, tar.xz
etc. pour Linux et al.
Si vous le souhaitez, vous pouvez télécharger la version communautaire de MySQL ici . Notez que pour les systèmes non-Windows, il peut être plus facile/meilleur d'utiliser le gestionnaire de paquets de votre plateforme pour installer MySQL (si possible). Vous devrez probablement aussi installer le Connecteur MySQL pour Python o une autre option pour se connecter à MySQL de Python sur le même ordinateur que votre installation Python/Flask.
Une fois MySQL installé, vous devez vous assurer qu'il fonctionne en tant que service pour le système d'exploitation de l'ordinateur. Le port sur lequel ce service fonctionne généralement est 3306. Cela permet aux applications tierces ou aux scripts comme Python/Flask de faire des requêtes à MySQL sur ce port (c'est-à-dire envoyer des requêtes de base de données à MySQL et recevoir des réponses [données] en retour).
Cela signifie que vous serez très probablement :
-
Écrire du code dans Flask pour effectuer des requêtes à MySQL à partir de votre application Flask lorsqu'un visiteur se connecte à votre site (de lui-même ou au nom d'un visiteur).
-
Écrire plus de code pour traiter les résultats de ces demandes.
-
Écrire encore plus de code pour utiliser les données que vous avez traitées afin de renvoyer des informations à un visiteur en fonction des résultats de la demande.
Puisque vous utilisez Flask, vous pouvez jeter un coup d'oeil à Flask-SQLAlchemy . Je ne suis pas sûr à 100 %, mais cela pourrait rendre inutile l'utilisation d'autres connecteurs (ci-dessus).
MySQL vs. Python/Flask
Pour être clair, MySQL fonctionne de manière totalement indépendante de Python ou de Flask. Vous pouvez installer et exécuter MySQL sans même que Python/Flask ne soit présent sur le système. Bien qu'il n'y ait rien de mal à exécuter MySQL sur le même ordinateur que votre installation Python/Flask, MySQL peut également être exécuté sur un ordinateur séparé sur votre réseau local ou même en dehors de votre réseau (bien que cette dernière option ne soit pas excellente pour la sécurité). Tant que Python/Flask peut envoyer des requêtes à MySQL via, par exemple, le port 3306, l'endroit où MySQL est réellement installé n'a guère d'importance.
Configuration de MySQL
Sachez que MySQL nécessitera probablement une certaine configuration avant de fonctionner comme vous le souhaitez ou d'être disponible pour Python/Flask.
Sous Windows, le programme d'installation MSI vous guidera dans la configuration initiale de MySQL pendant l'installation. Jetez un coup d'œil à cette question si vous voulez des conseils de base sur ce qu'il faut éventuellement sélectionner dans l'assistant d'installation de Windows.
Si vous utilisez le .zip
sur Windows, utiliser une version non Windows ou vouloir apporter des modifications après l'installation initiale, vous devrez probablement modifier un fichier appelé mysql.ini
. Il s'agit d'un simple fichier texte mais il contient de nombreux paramètres que MySQL utilise pour fonctionner. Si vous apportez des modifications à ce fichier, vous devrez redémarrer le service MySQL pour que vos modifications soient prises en compte. Notez que l'emplacement de ce fichier dépend de votre système d'exploitation.
Une mise en garde mineure : MySQL peut initialement empêcher les connexions provenant d'une autre source que localhost. Cela peut poser un problème si vous avez installé MySQL sur un autre ordinateur ou une machine virtuelle. Cela dit, il est relativement simple d'autoriser des connexions autres que localhost selon vos besoins ou vos préférences.
Comment la base de données sera-t-elle stockée et accessible sur Internet ?
Les bases de données MySQL sont stockées sur le serveur sur lequel fonctionne MySQL. Pour rappel, pour des raisons de sécurité, vous voudrez que MySQL fonctionne sur un ordinateur de votre réseau local (qu'il soit ou non sur le même ordinateur que votre application Python/Flask).
Les visiteurs contacteront votre instance Flask par Internet et votre application Python/Flask fera une demande locale de données à MySQL. MySQL renverra les données à votre application Flask, qui les traitera et renverra ensuite les informations traitées au visiteur (souvent dans une page Web).