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

SQL Procédural MySQL Discussion :

Gestion multiutilisateurs et multiposte


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2005
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 101
    Par défaut Gestion multiutilisateurs et multiposte
    Bonjour,

    Je suis en train de creer un projet en XUL, AJAX, JAVA, MySQL.
    pour info XUL est un langage comme le HTML mais propre à Mozilla qui est plus riche en composant graphique et peut être insatllé sur le PC de l'utilisateur. La liaison entre le serveur et l'interface XUL se fait en AJAX. Ce projet est un logiciel de gestion multiutilisateurs et multiposte. Mon problème ne vient pas de la gestion multiutilisateurs mais multiposte.
    Exemple:
    2 utilisateurs se connecte sur le logiciel depuis 2 PC différents. Donc deux sessions sont enregistrer sur le serveur contenant les informations sur chaque utilisateurs. Jusque là tout est normal. L'utilisateur A visualise un enregistrement dans le but de le modifier. L'utilisateur B fait de même pour le même enregistrement. Et la je veux dire à l'utilisateur B que l'enregistrement est en lecture seule car l'utilisateur A est en train de le modifier. Donc j'ai penser pour toutes les tables indiquer si l'enregistrement est en cours de modification ou non (même si je trouve pas ca propre). Avec cette solution un problème survient. Imaginons que l'ordinateur de l'utilisateur A plante et quitte donc le logiciel anormalement. Mon enregistrement se trouvera alors toujours en mode modification.

    Y a t-il une méthode pour faire une application mutiplateforme.

    merci d'avance

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    130
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 130
    Par défaut
    Une solution est stocker le datetime du "pseudo lock" (et/ou un id de session si l'on gère soi même les sessions en base) et de gérer un "pseudo timeout" par l'application.

    L'utisateur selectionne un enregistrement locké mais c'est un lock datant de plus de x minutes donc on considère que ce lock est obsolète et on n'en tient pas compte (ou/et on le supprime). Il n' y a pas de solution miracle en déconnecté. Il convient avec ce système de vérifier avant de poster des modifications que le pseudo lock du record correspond bien à la session en cours (afin de pouvoir gérer l'utilsateur qui est parti déjeuner, qui avait obtenu le "lock", qui l'a cédé du fait du time out et qui, revenu de déjeuner veut valider son formulaire...) .

    Certains préfèrent un système à base de N° de version d'enregistrement, bon tout cela revient un peu au même (notamment vérifier avant de poster que l'enregistrement n'a pas été modifié entre temps). On cherche à éviter les conflits préventivement (mode pessimiste) mais on est également contraint de les résoudre lors de la validation (mode optimiste)

    Bon on peut aussi parfois s'appuyer sur les possibilités de lock record du SGBD (cf SELECT ... FOR UPDATE) mais il faut réserver cela aux transactions très courtes (incrémenter un compteur par exemple)

    S'il y a mieux cela m'intéresse aussi :-)

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

Discussions similaires

  1. Gestion MultiUtilisateur sur une Base de donnee
    Par AmauryLondon dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 11/06/2012, 09h18
  2. Gestion en vba des fichiers excel en mode multiutilisateurs
    Par kernel57 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/12/2005, 16h06

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