chat : SimpleXML ou SQLite? - SQL/NoSQL - Programmation
Marsh Posté le 29-10-2007 à 14:04:51
Zoltan32 a écrit : |
A 1er vue, j'aurais tendance a regardé les problèmes d'accès concurent car il va y avoir beaucoup lecture/d'écriture sur le même fichier vu que c'est un tchat. et aussi le temps d'accès.
Marsh Posté le 29-10-2007 à 17:15:11
Effectivement, d'après ce que j'ai lu, SQLite a l'air déjà plus préférable au XML pour l'usage que j'en ferais (d'autant qu'en XML c'est à chaque requête la totalité du fichier qui est ouvert).
On m'a suggérer IRC, du coup j'ai testé PJIRC, mais j'ai trouvé l'interface très austère. Mon chat doit servir pour un site de rencontre, il faut donc qu'il soit accueillant.
Il faut que je puisse customiser l'interface pour qu'elle s'accorde avec le reste du site. De plus, comme il s'agit d'un chat privé, il faut que le chat soit en étroite relation avec la base de donnée pour que les id des membres servent de filtre au conversation (qu'on ne puisse pas les conversations des autres personnes quoi), et qu'on n'ait pas à se logger une seconde fois (= une fois pour le site, une seconde fois pour accéder au chat). J'ai aussi une page de gestions des amis sur laquelle apparait le dernier texte dit avec chaque personne (parce que ça doit indifféremment servir de chat privé/mail privé), donc il faut que les conversations restent aisément accessibles.
Et d'après ce que j'ai lu sur d'autres forums à propos d'IRC, il faut bidouiller le Java de l'applet IRC pour pouvoir modifier quelque chose. Et comme je n'y connais rien en Java...
1and1 propose bien un module de chat, mais on ne peut rien modifier.
J'ai essayé de voir aussi pour un chat en Flash, mais toujours le même problème pour le stockage des conversations.
Après je ne suis pas obligé de conserver toutes les conversations depuis le début, je peux par exemple ne garder que les 100 derniers messages pour chaque personne, mais rien qu'avec 20 personnes ça fait déjà 2000 messages...
Et personne ne connaitrait sinon un hébergeur qui accepte l'utilisation du MySQL pour les services un peu "lourd" comme les chats? Parce que c'est bête là mon système marche très bien (en plus je m'étais galéré à le passer en asynchrone pour que ça fasse moins de charge serveur), c'est juste l'hébergeur qui pose problème...
Marsh Posté le 29-10-2007 à 13:50:22
Bonjour à tous.
J'ai créée un chat privé en PHP/MySQL/Javascript pour un site (ça c'est bon ça fonctionne ), seulement en voulant l'uploader sur mon hébergeur (1and1) j'ai vu la phrase suivante :
Une base de données MySQL ne doit en aucun cas être utilisée pour des évaluations de log, des clics publicitaires, des systèmes de chat, des systèmes de rotation de bannières, ou toute autre application qui pourrait encombrer votre base de données de charges trop importantes.
Génial...
Ne voulant pas me faire bannir de mon hébergement, j'ai alors cherché une nouvelle manière de gérer ma base de données pour sauvegarder les conversations :
1) Je suis premièrement tombé sur le SimpleXML.
J'ai compris le fonctionnement, mais j'ai par contre un problème avec l'encodage des caractères.
Tout au début de mon XML j'ai :
Au début de ma page PHP j'ai :
Malgré tout à chaque fois que je veux ajouter du contenu à mon XML, pour ne pas avoir de problèmes avec les accents, je dois ajouter les lignes suivantes :
Et pour la lecture du XML les lignes suivantes :
Avec ça, ça marche, mais vu comment ça n'est pas pratique, je me dis qu'il doit quand même y avoir un problème!
Quelqu'un a une solution?
2) Ce matin j'ai découvert SQLite.
Ca a l'air d'être une alternative intéressante, surtout que mon code MySQL est déjà fait et que ça y ressemble pas mal, mais j'ai lu que certaines fonctions MySQL n'étaient pas prises en compte par SQLite.
Voici les requêtes MySQL que j'utilise :
Je voudrais savoir si je ne risque pas d'avoir des problèmes pour le passage du MySQL au SQLite, et lequel, entre SimpleXML et SQLite, serait plus adapté à mes besoins (chat, donc il risque d'y avoir beaucoup de texte) ?
Merci pour vos réponses.
Message édité par Zoltan32 le 29-10-2007 à 13:51:55