Bonjour à tous !
Contexte :
j'ai un problème avec node.js.
Je dois faire un formulaire qui marche à la manière d'un powerpoint slide by slide.
Mon formulaire est decrit dans un JSON lorsque qu'un utilisateur se connecte je charge le json et je sers la première question à l'utilisateur. Lorsque l'utilisateur clique sur "next" je lui sers logiquement le deuxieme slide.
Jusque là tout fonctionne.
Le problème apparait quand j'ai 2 utilisateurs connectés sur l'application : je me suis rendu compte qu'ils partageaient la même variable et donc lorsque l'utilisateur 2 se connecte dans l'exemple si dessus la question 3 lui sera demandé au lieu de la question 1.
Fin contexte
Un peu de code pour bien comprendre :
la partie qui va nous intéresser dans app.js
la partie qui va nous intéresser dans form.js
Pistes que j'ai trouvé pour résoudre mon problème :
gérer un tableau de form avec comme indice l'id de la session utilisateur
Mais je trouve ça lourd et je pense qu'il y a une meilleur solution pour gérer ce problème; je m'en remets donc à vous !
Contexte :
j'ai un problème avec node.js.
Je dois faire un formulaire qui marche à la manière d'un powerpoint slide by slide.
Mon formulaire est decrit dans un JSON lorsque qu'un utilisateur se connecte je charge le json et je sers la première question à l'utilisateur. Lorsque l'utilisateur clique sur "next" je lui sers logiquement le deuxieme slide.
Jusque là tout fonctionne.
Le problème apparait quand j'ai 2 utilisateurs connectés sur l'application : je me suis rendu compte qu'ils partageaient la même variable et donc lorsque l'utilisateur 2 se connecte dans l'exemple si dessus la question 3 lui sera demandé au lieu de la question 1.
Fin contexte
Un peu de code pour bien comprendre :
la partie qui va nous intéresser dans app.js
io.sockets.on('connection', function(socket) {
var form = require('./controllers/form');
form.init();
socket.on('next', function(data) {
socket.emit('next', form.next());
});
});
la partie qui va nous intéresser dans form.js
var formController = {
'form': [],
'lookup_part_iterator': 0,
'lookup_diapo': {},
'lookup_diapo_iterator': 0,
'init': function() {/*stuff*/},
'next': function() {/*stuff*/},
'end': function() {/*stuff*/},
'get_next_slide': function() {/*stuff*/},
'iterate_slide': function() {/*stuff*/},
'iterate_part': function() {/*stuff*/},
}
Pistes que j'ai trouvé pour résoudre mon problème :
gérer un tableau de form avec comme indice l'id de la session utilisateur
Mais je trouve ça lourd et je pense qu'il y a une meilleur solution pour gérer ce problème; je m'en remets donc à vous !