Partage
  • Partager sur Facebook
  • Partager sur Twitter

Lire beaucoup d'images BLOB en HTML

Sujet résolu
    9 septembre 2019 à 15:24:54

    Bonjour,
    Je développe un site web qui contient ma liste de films, jeux vidéo, ... Pour les jaquettes des films, je les enregistre dans une DB Mysql en format BLOB.
    Le problème c'est que lorsque je lance ma page avec toute la liste des films, cela prend beaucoup de temps à charger ... Je pense que c'est à cause des images. 
    Pour récupérer les images de la DB, je les convertis de BLOB en base64 pour les lire en JS. 
    Donc je me demandai si c'était la bonne méthode pour lire beaucoup de fichiers image en DB ou si le mieux est de stocker les img dans un dossier ? Peut-être que ça ira plus vite ?
    Comment font les sites hébergeur de vidéos avec beaucoup d'image ?
    Merci d'avance pour votre aide :) 
    • Partager sur Facebook
    • Partager sur Twitter
      9 septembre 2019 à 15:44:14

      Bonjour,

      Je n'ai pas d'expérience dans le stockage de fichiers à grande échelle en base de données. Cela dit, faire transiter les données binaires entre le serveur web et le serveur de base de données est en effet gourmand, cela fait de grosses tailles de variables à traiter côté serveur web, beaucoup plus que de faire simplement transiter une chaîne de caractères représentant le chemin vers le fichier sur le serveur web ... d'autant plus que les fichiers sont gros.

      Chaque solution a ses avantages et ses inconvénients :

       AvantagesInconvénients
      Stockage sur serveur de fichiers

      Naturellement dédié au stockage de fichiers

      Fichiers directement disponibles pour le serveur web

      Faible volume des échanges Appli/BDD

      Programmation simple

      Fichiers facilement accessibles de l'extérieur si aucune gestion particulière de droits du serveur

      Un fichier peut être supprimé/déplacé sans informer la BDD

      Stockage dans BDD

      Maintien de la cohérence des données (fichier ajouté/modifié/supprimé de façon unique)

      Contenu des fichiers plus difficilement accessible de l'extérieur

      Gros volume des échanges Appli/BDD

      Programmation plus poussée (encodage, conversion)

      Dump volumineux

      -
      Edité par Benzouye 9 septembre 2019 à 18:15:12

      • Partager sur Facebook
      • Partager sur Twitter
      Seul on va plus vite, ensemble on va plus loin ... A maîtriser : Conception BDD, MySQL, PHP/MySQL
        9 septembre 2019 à 18:01:16

        Bonjour,

        C'est quoi ta volumétrie ? 100 ... 1000 ... 10.000 ...

        Pour ma part, j'ai ce genre de modules et bien-sûr je mets en base uniquement le chemin du dossier qui contient les images.

        D'une manière générale il n'est pas recommandé de mettre des images en base de données.

        En corollaire mettre les images dans un répertoire nécessite de sauvegarder régulièrement le répertoire et d'avoir une gestion des droits sur le répertoire.

        A+

        • Partager sur Facebook
        • Partager sur Twitter
          9 septembre 2019 à 19:27:31

          Merci beaucoup pour vos messages vraiment détaillés et qui m'ont clarifié les choses. Pour l'instant il n'y a que 200 images à charger et ça prend quand même du temps et avec le temps ça va augmenter. Donc après avoir lus vos messages, le meilleur choix et de stocker les images sur le serveur dans un dossier.

          Par contre j'ai encore une question, peut-on créer le dossier en dehors du dossier contenant le site web ? Je m'explique, j'ai un NAS Synology et j'ai un répertoire avec mon site web et je pensais mettre les images avec les fichiers vidéos (les vidéos sont stockées dans un dossier à la racine du site web) dans un autre dossier ?

          Pour l'instant le film est dans : \\NAS\web\Movies\assets\Video\Film1\monfilm.mkv et la jaquette sera dans : \\NAS\web\Movies\assets\Video\Film1\cover.png

          Le répertoire Movies est celui du site web.

          Et j'aimerais que ce soit après : \\NAS\Films\Film1\monfilm.mkv et \\NAS\Films\Film1\cover.png

          Pour uploader les fichiers je peux le faire en FTP mais pour lire la vidéo et voir la jaquette, je ne sais pas comment je pourrais faire ...

          • Partager sur Facebook
          • Partager sur Twitter
            9 septembre 2019 à 20:01:12

            Oui bien-sûr on peut !

            Moi , j'ai un serveur web PC et mes images sont sur un Nas Netgear dans le même réseau local.

            Je monte la partition du Nas sur ma machine (Linux Fedora) et ensuite je fais un lien symbolique pour dans l'espace du serveur web pointé sur la partition du Nas.

            A+

            • Partager sur Facebook
            • Partager sur Twitter
              9 septembre 2019 à 20:34:44

              Dsl de paraître idiot mais tu sais me dire comment tu vas chercher tes images ou vidéos en HTML avec la balise vidéo en utilisant le lien symbolique ? 

              Car je sais y accéder via le windows mais en HTML je n'y arrive vraiment pas. 

              Ou alors j'ai mal compris et en réalité tu créer une sorte de dossier dans le dossier du site Web qui renvoie le contenu du dossier qui se situe dans ton Nas netgear ? Et après tu vas rechercher le chemin comme si les images était directement dans le dossier du site web 

              C'est bien ça ? Si oui comment tu fais ton lien symbolique ? 

              -
              Edité par ODylanO 9 septembre 2019 à 20:40:41

              • Partager sur Facebook
              • Partager sur Twitter
                10 septembre 2019 à 5:47:30

                Effectivement la fin de ton propos est juste : grâce au lien symbolique dans l'espace du serveur web qui pointe sur l'espace réel physique du Nas tu accèdes au répertoire du Nas qui contient les images. Ensuite avec le classique tag html <img> et le src désignant le lien symbolique + l'image tu désignes l'image que tu veux afficher.

                Pour créer un lien symbolique sous Linux c'est la commande ln -s : http://www.linux-france.org/article/man-fr/man1/ln-1.html

                Sous Windows que je pratique pas je crois qu'il y a l'équivalent avec : https://www.it-connect.fr/comment-creer-un-lien-symbolique-sous-windows/

                A+

                • Partager sur Facebook
                • Partager sur Twitter
                  10 septembre 2019 à 8:07:00

                  Un grand merci pour ton aide. Ça va m'être vraiment utile ! Merci à toi :)
                  • Partager sur Facebook
                  • Partager sur Twitter
                    10 septembre 2019 à 8:38:40

                    Pas de quoi le forum est fait pour cela. Mais c'est vrai que cela est toujours agréable d'avoir un remerciement ... ce qui n'est pas si courant.

                    Passe en résolu.

                    Bye

                    • Partager sur Facebook
                    • Partager sur Twitter

                    Lire beaucoup d'images BLOB en HTML

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown