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

Python Discussion :

export base de données


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Décembre 2019
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement de composants

    Informations forums :
    Inscription : Décembre 2019
    Messages : 113
    Par défaut export base de données
    Bonjour,

    dans une de mes applications, j'ai besoin d'enregistrer une base de donnée.
    Actuellement, cette base de donnée correspond à un dataframe (pandas) que j'enregistre en CSV pour pouvoir la charger plus tard et la mettre à jour.

    est-ce qu'il y a des formats de sauvegardes spécifiques pour les bases de données?
    Le CSV me convient très bien mais cela reste un fichier qui est "ouvrable" par n'importe qui même lorsque l’application ne tourne pas... et ça m’ennuie de me dire que ce fichier "source" est ouvrable/accessible/modifiable par n'importe qui.

    c'est quoi les "bonnes pratiques" lorsqu'on souhaite enregistrer/sécuriser une base de données?
    Existe-t-il un moyen d'enregistrer un dataframe qui ne sera ouvrable/reconnaissable que par l'application python qui l'a créé?

    merci,
    cordialement

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 064
    Par défaut
    Bonjour,

    Pourquoi ne pas utiliser un moteur de bases de données comme SQLite, MySQL ou PostgreSQL ?

  3. #3
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 839
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par clement_74 Voir le message
    c'est quoi les "bonnes pratiques" lorsqu'on souhaite enregistrer/sécuriser une base de données?
    Passer par un vrai moteur bdd, lequel permet d'intégrer des accès sécurisés tel que utilisateur+mot de passe. En plus le truc possède des outils d'intégrité comme le mode "cascade" (on modifie une clef tous les éléments qui en dépendent sont automatiquement modifiés par le moteur). Mais le contenu de la bdd reste accessible à l'admin qui, lui, est un équivalent de root (il peut bypasser un mot de passe par exemple).

    Citation Envoyé par clement_74 Voir le message
    Existe-t-il un moyen d'enregistrer un dataframe qui ne sera ouvrable/reconnaissable que par l'application python qui l'a créé?
    Cela revient à poser la question "existe-t-il un moyen de faire un programme incrackable". Je me souviens, quand Assassin's Creed est sorti (vers 2004), les concepteurs ont annoncé ça comme "le jeu incrackable". Il a été craqué en une semaine (chrono) !!!
    Maintenant si c'est juste un truc pour être mis "en entreprise" avec des utilisateurs lambdas, styles secrétaires, comptables, etc alors tu peux chiffrer le fichier (module crypto) à l'écriture et le déchiffrer à la lecture...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement de composants
    Inscrit en
    Décembre 2019
    Messages
    113
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement de composants

    Informations forums :
    Inscription : Décembre 2019
    Messages : 113
    Par défaut
    merci pour vos réponses!

    à la question pourquoi pas SQLite, MySQL ou PostgreSQL?
    tout simplement parce que ces choses là me sont inconnues, je n'en ai jamais eu besoin et finalement, aujourd'hui je vais m'y pencher... et au moins je suis sure que ce sont des choses qui peuvent répondrent à mon besoin d'aujourd'hui.

    peut être que la seule utilisation de crypto suffira pour mon application mais bon, je vais quand même essayer une des 3 bibliothèque SQLite, MySQL ou PostgreSQL.

    encore merci!

  5. #5
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 839
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par clement_74 Voir le message
    peut être que la seule utilisation de crypto suffira pour mon application mais bon, je vais quand même essayer une des 3 bibliothèque SQLite, MySQL ou PostgreSQL.
    sqlite c'est une mini bdd ("mini" ne voulant pas forcément dire "avec moins de fonctionnalités" !!!). L'avantage c'est qu'elle est intégrée en natif dans Python. Son principal (et probablement unique) défaut c'est qu'elle n'accepte pas les accès concurrents (plusieurs utilisateurs à la fois) ni les accès réseau. Mais pour un simple petit projet qui se contente de lire des données, traiter des données et les réécrire à l'issue ça devrait convenir à merveille. Et en plus ça peut même s'associer au chiffrement puisque la bdd sqlite se présente comme un simple et unique gros fichier, on peut parfaitement le déchiffer au début de l'appli et le chiffrer à la fin.

    Pour les autres plus puissants mais fatalement plus complexes à installer et à administrer il faut installer des modules spécifiques (psycopg2 pour Postgres, MySQLdb pour mysql).

    Et (avis personnel), entre MySQL et Postgres je préfère de loin Postgres.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 754
    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 : 21 754
    Par défaut
    Salut,

    Citation Envoyé par clement_74 Voir le message
    c'est quoi les "bonnes pratiques" lorsqu'on souhaite enregistrer/sécuriser une base de données?
    Existe-t-il un moyen d'enregistrer un dataframe qui ne sera ouvrable/reconnaissable que par l'application python qui l'a créé?
    C'est d'abord une question de droit d'accès: est-ce que l'utilisateur lambda à le droit de lire ou pas le fichier X? Est-ce que je peux donner à une application un privilège particulier pour qu'elle puisse ouvrir ce fichier?
    Et ces questions dépendent de l'environnement système (tous savent le faire plus ou moins et la réalisation dépend de l'environnement).

    Après si vous voulez une sécurité plus "physique", vous pouvez rendre ces données accessible via un serveur qui permettra aux utilisateurs d'y accéder après identification.

    Une base de données étant construite suivant une architecture client serveur dispose en général de ce genre de mécanisme. Mais dans les deux cas, on se retrouve à fabriquer une médiation entre les utilisateurs et les données qui "filtre" les accès.

    Et dans tous les cas, ce n'est pas un sujet de programmation Python.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

Discussions similaires

  1. Exportation base de donnée et réutilisation
    Par dubidon dans le forum MS SQL Server
    Réponses: 29
    Dernier message: 15/06/2007, 14h31
  2. Exporter base de donnée
    Par Matmal11 dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 21/03/2007, 12h25
  3. exportation base de données
    Par yasinfo dans le forum Oracle
    Réponses: 3
    Dernier message: 29/01/2007, 09h21
  4. exporter Base de donnée sur pc client
    Par flatron dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 13/09/2006, 23h36
  5. Exporter base de données MySQL
    Par cedre22 dans le forum Administration
    Réponses: 2
    Dernier message: 15/12/2005, 17h26

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