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

PostgreSQL Discussion :

stockage de photos dans base de données ou dans un répertoir


Sujet :

PostgreSQL

  1. #1
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Points : 331
    Points
    331
    Par défaut stockage de photos dans base de données ou dans un répertoir
    bonjour à tous,
    j'ai une question de modèle qui n'est pas forcément du à postgresql mais comme j'utilise ce SGBDR je la pose ici :

    j'ai une base qui contient des étudiants et je voudrais stocker leur photo d'identité.
    j'ai lu qu'il était préférable de les stocker dans un répertoire et de stocker le chemin dans la base de donnée.
    jusqu'ici tout va bien
    seulement mon serveur étant sous FreeBSD (bientot Debian) et mes clients sous windows, est ce que pour accéder à mes photos je suis obligé d'installer samba, de créer un utilisateur générique et de mapper des lecteurs réseaux sur tous mes postes clients ou alors est ce qu'il y a une autre solution ?

    Sinon par rapport au stockage directement dans la BDD via des BLOB est ce que ça ralentit énormément l'accès à la base de données.

    Merci d'avance
    L'héroïsme, c'est encore la meilleure façon de devenir célèbre quand on n'a pas de talent
    Pierre Desproges

  2. #2
    Membre averti

    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 338
    Points : 404
    Points
    404
    Par défaut
    Bonjour

    Moi je stockerais les fichiers en chemin relatif juste le nom de la photos ou /repertoire/photo_etudiant1.jpg puis via un paramètre (ou table de paramètre), je choisirais http://mon_intranet.fr/

    dans ton application coté windows tu la récupère via un socket TCP/IP sur le port 80 (HTTP).

    Quel langage utilise tu coté client ?
    Christophe Chauvet
    Consultant Odoo
    Python / PostgreSQL

  3. #3
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Points : 331
    Points
    331
    Par défaut
    merci,

    c'est une solution que j'avais aussi envisagé mais vu que je n'ai pas d'expérience de ce coté je cherche des retours d'expérience.
    Je pense que ton idée est celle que je vais utiliser mais je laisse le sujet ouvert au cas où.

    Je développe mon appli en C++
    L'héroïsme, c'est encore la meilleure façon de devenir célèbre quand on n'a pas de talent
    Pierre Desproges

  4. #4
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    pour du transfert de fichiers, je privilégierais FTP plutôt que HTTP. Tu ne devrais pas avoir de problème à trouver une librairie pour coder simplement un client FTP avec C++.

    La solution Samba me semble un peu lourde à déployer, et les BLOB peuvent être pénibles à manipuler pour une restitution graphique par code, ça dépend en grande partie de ta librairie graphique.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  5. #5
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Points : 331
    Points
    331
    Par défaut
    salut,

    tu es la 2nde personne (avec SQLPro) à me parler de rapatrier les fichiers en FTP seulement un truc m'échappe : si je la rapatrie en FTP je vais devoir la stocker sur le PC client alors que je veux juste la visionner.
    N'est ce pas du stockage inutile ??
    L'héroïsme, c'est encore la meilleure façon de devenir célèbre quand on n'a pas de talent
    Pierre Desproges

  6. #6
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Ce ne sera qu'un stockage temporaire dans le système de fichiers du client, juste le temps de la visualisation, le fichier sera supprimé ensuite. Sinon, tu as toujours la solution BLOB, mais personnellement je suis opposé au stockage d'objets binaires "inertes" en base s'il y a d'autres solutions.

    [EDIT] Pour éviter le problème de gachis de bande passante, tu peux mettre en place un système simple de cache : les fichiers images récupérés via FTP ne sont supprimés qu'à la fermeture du programme, et il vérifie que l'image n'est pas déjà présente en local avant d'ouvrir une session FTP.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  7. #7
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Points : 331
    Points
    331
    Par défaut
    oki merci.

    Je vois ce que tu veux dire. Je vais faire comme tu m'as dit : ça m'évitera de devoir mapper un lecteur réseau sur chacun de mes clients.
    Merci pour ces infos : ça m'a bien aidé car je ne savais pas vers quelle solution me tourner.

    A+
    L'héroïsme, c'est encore la meilleure façon de devenir célèbre quand on n'a pas de talent
    Pierre Desproges

  8. #8
    Membre averti

    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 338
    Points : 404
    Points
    404
    Par défaut
    Je prefere le HTTP pour son mode Asynchrone, on peut envoyer une requête pour recuperer une photo, sans bloquer l'appli jusqu'a la recupération complète de celle ci.
    Christophe Chauvet
    Consultant Odoo
    Python / PostgreSQL

  9. #9
    Membre averti
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Septembre 2003
    Messages
    302
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant ERP
    Secteur : Distribution

    Informations forums :
    Inscription : Septembre 2003
    Messages : 302
    Points : 331
    Points
    331
    Par défaut
    c'est pas bete comme réponse : du coup je sais plus quelle est la solution à adopter
    L'héroïsme, c'est encore la meilleure façon de devenir célèbre quand on n'a pas de talent
    Pierre Desproges

  10. #10
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    HTTP ou FTP, de toute façon il te faudra placer le code de récupération de l'image dans un thread si tu ne veux pas que l'application soit stoppée (du point de vue de l'utilisateur) durant le chargement. Maintenant, c'est un raffinement qui ne se justifie que si tu as des gros problèmes de bande passante sur ton réseau...

    Je pense que FTP est plus adapté à ce genre d'usage, notamment pour les questions de restriction d'accès : l'identification (identifiant, mot de passe) est obligatoire pour la connexion au serveur FTP, optionnelle pour le serveur HTTP.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Supression Données à faire dans base de donnée
    Par vandman dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 29/06/2015, 18h57
  2. Réponses: 1
    Dernier message: 16/10/2010, 11h48
  3. [MySQL] Introduire données XML dans base de données
    Par Interface dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 14/08/2009, 13h57
  4. [MySQL] Enregistrement lien photo dans base de données
    Par loic20h28 dans le forum PHP & Base de données
    Réponses: 20
    Dernier message: 22/12/2008, 12h51
  5. [MySQL] Insertion données formulaire dans base de données
    Par westlaux dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 21/06/2007, 20h17

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