compte " chargé d'éetude" sur un site web

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : compte " chargé d'éetude" sur un site web

Re: compte " chargé d'éetude" sur un site web

par chapt0011 » 20 mai 2014, 13:46

L'idéal pour les notifications et fichier joints serait tout simplement d'ajouter à ta base la table:
Notification:
  • idNotification: tinyint c'est l'identifiant qui permet de différentier les notifications
  • typeDemande: varchar(40) permet de mettre un titre à la notification
  • message: text enregistre le message lié
  • lu : tinyint permet de savoir si la notification a été lue par le chargé d'étude ou non en mettant 0 ou 1 suivant le cas par exemple
Ainsi un post de demande de credit enregistre dans la base une nouvelle notification, et crée par ailleurs un dossier unique sur le disque à une adresse qui pourrait être http://tonsite/piecejointes/notificationX avec X l'identifiant de la notification, et upload bien sur les fichiers liés à la notification dans ce répertoire, tout cela se fait très simplement (enfin pour un utilisateur averti) en PHP.
Ainsi quand un chargé d'étude lit sa notification non lue, le champ lu se place à la valeur 1, pour ne pas faire réapparaitre systématiquement la notification. De plus tu peux accéder à tous les fichiers puisque tu connais l'adresse du dossier contenant tous les fichiers joints grâce à l'identifiant de la notification. Pour finir PHP te permet bien entendu de lister tous les fichiers d'un répertoire et évidemment de créer dynamiquement un lien vers ceux ci. Tu n'a plus qu'à injecter le lien dans l'affichage de la notification, et le chargé d'étude aura un accès aux fichiers...
Si tu préfères stocker les fichiers dans la base de donnée, c'est faisable également en utilisant un champ de type blob dans une table piece_jointe, avec une relation 0-n mémorisant une clé étrangère: l'identifiant notification, et en faisant une jointure en SQL tu dois pouvoir récupérer ton/tes fichiers joints, cependant, cette utilisation risque de surcharger ta base car stocker un fichier est très lourd et du coup ca risque de bien faire galérer ton serveur aussi je ne peux que te conseiller la première solution!
Bon courage ++

Re: compte " chargé d'éetude" sur un site web

par turkish15 » 19 mai 2014, 02:39

bonsoir, et merci pour la réponse,
en faite, mes connaissance en php sont limitées, la table pour les groupes est une bonne idée, avec le nom du groupe et une clé étrangère dans la table utilisateur ( oui je veux imposer la connexion pour faire la demande).
par contre, comment faire pour la notification que doit recevoir le chargé d'étude ?
et pour le stockage des documents joints, comment je fait ? est ce que je les stockes dans la bdd, si oui, comment je peux afficher par exmeple une image dans une bdd, comment y acceder ? sinon sur le disque dur ? je ne sais pas comment ça marche.

Re: compte " chargé d'éetude" sur un site web

par moogli » 18 mai 2014, 20:15

Salut,

Il te faut gère les droits des utilisateurs.
Soit en partant sur quelque chose équivalent aux droits UNIX (lecture / écriture sur une ou plusieurs pages).
Soit avec accès oui / non.

Dans les deux cas il te faut savoir sur la page si l'utilisateur connecté peux faire quelque chose sur la page.

Le plus simple, je pense c'est le second cas avec des groupes d'utilisateurs (admin. etc ) et sur la page tester le groupe de l'utilisateur (si != admin ou autre groupe page d'erreur).

Pour cela une table avec les noms des groupes et une clefs étrangères pour le groupe dans la table utilisateur.

Pour ce qui est des autres tables, oui avec une clef étrangère dans la table demande vers la table utilisateur si tu impose la connexion pour faire la demande.
Il te faut aussi une autre table pour gérer les pièces jointes des demandes (pk, fk demande, type de document, emplacement du fichier sur le disque, document validé ou pas).

Le type de document peux être une table ou une énumération.

Cela va te permettre de gérer le document de façon simple et sans problème (et de façon "optimisée" niveau base, c'est a dire pas de champs vide, ps de limitation en nombre de document etc).

Je te déconseille les champs binaire (blob) qui pourrais contenir les documents simplement parce que l'on est généralement plus rapidement limité en taille disque de base de données qu'en taille disque pour les fichiers.
C'est aussi plus simple a gérer et tu va éviter les possible problème de corruption lors des différentes manipulations des fichiers.

@+

compte " chargé d'éetude" sur un site web

par turkish15 » 18 mai 2014, 10:23

Bonjour, voilà, je voudrais creer deux comptes pour mon site web, une sorte d'espace membre, un pour l'administrateur et un autre pour un chargé d'étude par exemple.

Pour être plus précis, ce que je veux faire c'est que si par exemple dans un site pour une banque, un utilisateur fait une pré-demande de crédit, il renseigne les informations nécessaires et joints les documents requis éventuellement, ensuite, et c'est là que ça m’intéresse, c'est que je voudrais que quand ce chargé d’étude se connecte sur son compte dans le site, il reçoit un message ou une notification lui signalant qu'il y a une nouvelle demande de crédit, avec les informations du demandeur et les documents joints.

Genre les informations et les documents joints (images numérisées...) soient stockés dans une table d'une bdd, disant demande_credit, et que sur le compte "chargé d'étude", on récupère les enregistrements de ladite table.

donc au final j'aurais besoins d'une table user, d'une table type_de_credit et une autre demande_credit ?

pour l'admin et le chargé d'étude, est ce que je dois leur créer des tables séparément, et pour l'admin et pour le chargé d'étude, ou bien je les mets dans la table users ( avec les membres du site ).

je sais pas si c'est possible comme concept, mais j'aimerais bien que vous m’aidiez à réaliser ceci.

si vous avez d'autre suggestions, n'hésitez pas.

Merci d'avance.