Bonjour,
Je suis en train de developper une application permettant de gérer des listes de médias (musique ou vidéo). Pour simplifier, nous pouvons assimiler son fonctionnement à un forum (vu qu'on retrouve le principe). J'ai un système permettant aux internautes de s'enregistrer. Mon problème se pose au niveau de la gestion des sessions.
En effet, plusieurs cas se proposent à moi :
1. Utiliser les sessions implantées directement par PHP. C'est la solution qui semble la plus simple à implanter, mais qui posent certains problèmes aussi. D'une part, il y a des problème de sécurité (car les sessions sont souvement sauvegardé dans un dossier temporaire, accessible à plusieurs personnes, sur un hebergement mutualisé). Et surtout, pas vraiment pratique pour afficher le nombre et la liste des personnes actuellement connectées...
2. Une autre solution serait d'utiliser les sessions implantée par PHP, et de rajouter un fichier listant les personnes actuellement connectées (par exemple, un fichier contenant array avec les membres connectés). Mais, si ce fichier est modifié par plusieurs personnes en meme temps, il risque peut etre d'y avoir des conflits d'écriture... Et puis, cela ne résout pas le problème de "sécurité".
3. Une autre solution serait de passer par les bases de données... Beaucoup de forum utilisent ce principe après tout, mais ça reste un peu lourd quand même, je trouve... Et si on choisi d'utiliser une table de type HEAP, c'est beaucoup plus rapide, mais on se prive aussi de champ de type TEXT (pour sauvegarder des données en sessions, par exemple).
4. Enfin, une autre solution serait de réinventer la roue, et de créer mon propre système de session par fichier texte, comme je le veux. Mais là encore, il risque peut etre d'y avoir des conflits entre les fichiers si le site est beaucoup visité...
Je ne sais pas si cela expose très clairement le problème qui se pose, problème auquel je ne sais pas du tout répondre à l'heure actuelle... Avez vous une solution miracle, une piste, ou un lien pouvant m'aider ?
Je précise que cette application sera probablement redistribuée, donc je n'ai pas vraiment accès à la configuration du serveur qui va l'héberger.
Merci d'avance.
Partager