IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau/Web Python Discussion :

Gestion des bases de données avec Flask


Sujet :

Réseau/Web Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    mars 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Bâtiment

    Informations forums :
    Inscription : mars 2020
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Gestion des bases de données avec Flask
    Bonjour à tous,

    Je suis actuellement en train de construire une application Web avec du Python/Flask. J'ai pour idée de créer une application Web qui permettrait, par navigation privée, à des clients d'accéder à des informations que j'aurais récupérer, de mon côté, avec d'autres programmes .py en insérant ses données dans des bases de données intermédiaires en local sur mon PC.
    Pour tout vous expliquer, j'ai construit des traitements qui viennent scrapper des sites internet afin de collecter de la données intéressantes. J'aimerais pouvoir rendre ses informations disponibles au travers d'un site internet et d'une navigation privée car je n'ai pas envie que ces données soient visibles pour n'importe qui.

    J'ai suivi des cours/formations pour faire du Flask sur Python. J'ai déjà commencé à créer mon site Web et à gérer la création de nouveaux utilisateurs et la gestion des connexions privées. Ces informations sont stockées sous une base de données SQLITE rattachée directement à mon projet Flask.

    Par contre, je ne sais pas comment gérer et stocker les informations qui proviennent des informations collectées par le scrapping de manière à les restituer dans mes pages internet.

    D'où mes interrogations :
    1. Est-ce que je peux utiliser cette base SQLITE pour stocker également les informations que je veux restituer ?
    2. Si oui, comment puis-je accéder à cette base SQLITE en dehors du projet Flask ? Par ex. en créant une connexion à la BDD SQLITE dans un nouveau programme .py et y faire des inserts.
    3. Si ce n'est pas possible, comment puis-je rattaché une nouvelle base de données à mon projet Flask ?

    Merci d'avance,

    Damien

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    juin 2008
    Messages
    17 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 17 719
    Points : 30 590
    Points
    30 590
    Par défaut
    Salut,

    Vous ne pouvez utilisez sqlite qu'en mono-utilisateur. Ce qui peut être possible, si le serveur Web est arrêté pendant que le scrapping met à jour la base de données.

    Sinon, il faut utiliser une base de données "multiutilisateurs" supportée par Flask.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Expert éminent

    Homme Profil pro
    Inscrit en
    octobre 2008
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : octobre 2008
    Messages : 4 184
    Points : 6 572
    Points
    6 572
    Par défaut
    Salut,

    Personnellement, j'ai eu l'occasion d'utiliser SQLAlchemy avec Flask et je me souviens que la prise en main était particulièrement aisée.
    https://flask-sqlalchemy.palletsprojects.com/en/2.x/

    On est pas obligé d'utiliser l'extension SQLAlchemy de Flask certains proposent de l'éviter d'ailleurs.
    https://towardsdatascience.com/use-f...y-5a64fafe22a4

  4. #4
    Candidat au Club
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    mars 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Bâtiment

    Informations forums :
    Inscription : mars 2020
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Merci pour vos réponses,

    Qu'est-ce que vous entendez par multi-utilisateurs ? Une gestion de plusieurs utilisateurs connectés simultanément ? Pourtant, quand j'ai fait ma formation avec Flask, par défaut la base de données installée est du SQLITE et c'est avec celle-ci que j'ai pu créer mon schéma de données avec des tables comme users/account par exemple qui gère l'accès au compte utilisateur. Et pourquoi, ce n'est pas techniquement pas possible ?

    Quelles sont les bases de données à privilégier dans ce cas pour gérer cela ? MySQL par exemple ?

    Et pour finir, quel est le rapport entre la gestion multi-utilisateurs et le fait de stocker des données autres dans mes bases ?

    Merci d'avance,

    Damien

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    juin 2008
    Messages
    17 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 17 719
    Points : 30 590
    Points
    30 590
    Par défaut
    Salut,

    Citation Envoyé par Dam_Leb Voir le message
    Et pourquoi, ce n'est pas techniquement pas possible ?
    Dans les bases de données "normales", il y a un serveur de base de données qui gère les requêtes des utilisateurs. Donc on on peut avoir un serveur Web qui discute avec le serveur de la base de données en même temps qu'un processus alimente la base.

    Si les programmes qui alimentent la base SQlite passent par le serveur Web, il peut faire office de serveur de base de donnée. Mais ce n'est pas ce que vous voulez et SQLite ne sait pas faire (c'est dans la documentation non?).

    Citation Envoyé par Dam_Leb Voir le message
    Quelles sont les bases de données à privilégier dans ce cas pour gérer cela ? MySQL par exemple ?
    Vous pouvez apprendre à utiliser sqlalchemy et choisir un des SQDB que sqlalchemy supporte (sauf sqlite).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    juin 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : juin 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    SQLite supporte le multi utilisateur : https://www.sqlite.org/faq.html#q5
    Ce n'est que lors d'écriture qu'un lock est mis sur toute la DB et est levé directement après pour permettre les accès en lecture.

    C'est donc assez bien adapté lorsque les accès sont principalement de la lecture.

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    juin 2008
    Messages
    17 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : juin 2008
    Messages : 17 719
    Points : 30 590
    Points
    30 590
    Par défaut
    Salut,

    Citation Envoyé par tefanos Voir le message
    SQLite supporte le multi utilisateur : https://www.sqlite.org/faq.html#q5
    Ce n'est que lors d'écriture qu'un lock est mis sur toute la DB et est levé directement après pour permettre les accès en lecture.
    Super! Pas besoin d'arrêter le serveur Web lors des mises à jour, il s'arrête tout seul.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Réponses: 0
    Dernier message: 19/11/2013, 07h57
  2. Gestion de base de donnée avec Wordpress
    Par mikesquake dans le forum Décisions SGBD
    Réponses: 0
    Dernier message: 29/06/2010, 11h54
  3. Gestion de base de données avec Eclipse
    Par Djobird dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 27/05/2008, 22h32
  4. Réponses: 5
    Dernier message: 06/05/2007, 14h33
  5. java et la gestion des bases de donnée access
    Par alita dans le forum JDBC
    Réponses: 1
    Dernier message: 24/03/2007, 18h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo