Vos conseils

Vos conseils - PHP - Programmation

Marsh Posté le 20-05-2016 à 05:42:40    

Salut à tous,
Je voudrais des conseils je veux créer une table avec des champs qui contiennent des données signalétiques d’élevés d'un établissement scolaire  de plusieurs centaine d’élèves.
Ainsi chaque enregistrement que je vais effectuer va alimenter les colonnes de ma table  ''noms'' , ''Prénom'' , ''classe'', et enfin ''photo''. Maintenant c'est au niveau de cette dernière colonne ''photo'' que j'ai quelques soucis .
En effet vous conviendrez avec moi qu'une telle préoccupation pose le problème de l'enregistrement d'une image dans une table . D’après les quelques lectures que j'ai effectuées sur le net, c'est une initiative qu'il faudrait envisager avec beaucoup de précautions car des problèmes de performance de la base de données (risque de ralentissement de la base ) et de sécurité des photos (auxquelles on peut y accéder par simple URL) peuvent se poser selon que je choisi la méthode d'enregistrement par stockage des fichiers binaires ou par stockage des chemins d’accès des photos dans le champs ''photo'' de la table .
Maintenant je souhaiterais recueillir vos conseils par rapport au contexte de mon projet en tout cas moi je cherche une méthode parmi celles qui existent, celle qui allie performance de ma base et sécurité de mes données. Aussi si vous pouvez me proposer quelques liens de cours ou de tutoriels qui traitent ce sujet .  
Merci

Reply

Marsh Posté le 20-05-2016 à 05:42:40   

Reply

Marsh Posté le 20-05-2016 à 10:25:57    

Côté perfs, qq centaines d'élèves, ça va pas gêner le SGBD (MySQL, j'imagine) si tu mets les photos dans la BD.
Pour la protection des photos, impossible d'y accéder via une url si tu mets un fichier .htaccess qui limite les droits d'accès au répertoire où elles seront stockées. Tu feras un script, qui, en fonction soit du nom du fichier photo soit d'un hash stocké en BD enverra en téléchargement la photo à l'utilisateur.
 
Edit : pour le stockage en BD de fichiers, c'est un vieux débat. Y'a du pour et du contre. Perso, je suis contre.


Message édité par rufo le 20-05-2016 à 10:27:50

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 20-05-2016 à 10:29:14    

Tu peux stocker tes images dans un dossier non accessible de ton serveur (comme ça elles ne sont pas accessibles via url), stocker leur chemin d'accès dans ta base, et aller les récupérer et les afficher avec ce genre de script php :
 

Code :
  1. <?php
  2. function data_uri($file, $mime)
  3.   $contents = file_get_contents($file);
  4.   $base64   = base64_encode($contents);
  5.   return ('data:' . $mime . ';base64,' . $base64);
  6. }
  7. ?>
  8. <img src="<?php echo data_uri($imagePathFromDb,'image/png'); ?>" alt="une image" />


Message édité par zerist le 20-05-2016 à 10:31:10

---------------
https://www.flickr.com/photos/182924845@N04/
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed