mar
03
2011

par Paul
chat

J’en avais marre de devoir lancé un client lourd pour pouvoir chatter avec mes amis, surtout que la plus part ne pouvaient pas car IRC était filtrer par le proxy de leur entreprise. J’ai donc développé mon propre chat pour le Web en utilisant les technos :


Pourquoi ces choix ?

CakePHP est un framework, assez simple à prendre en main. Beaucoup moins complexe que Symfony.

Pour jQuery j’utilisais avant prototype et script.aculo.us. J’ai changé juste pour essayer autre chose.

En ce qui concerne le choix de la base de données, je voulais utiliser absolument une base de données NoSQL, les choix étaient :

  • Cassandra : Pas compliqué, mais une installation lourde et un schema défini à l’avance.
  • MongoDB : Simple à installer, base de données document.

A l’époque c’étaient les BD NoSQL les plus avancées (ormis celle de Google, Amazon & co).

Résultat :

En arrivant pas d’inscription, juste un choix du pseudo :

Et pendant la session :

Le chat disponible et ouvert à tous est ici

Mes retours:

Depuis le lancement il y a déjà quelques mois, j’ai remarqué une forte augmentation de la charge sur ma pauvre petite Dedibox v1.
Charge qui augmentait en fonction du nombre d’utilisateurs et du nombre de Room ouverte.
J’étais sur le point de me séparer de MongoDB, mais suite à une mise à jour de mongo, il semblerait que le problème est était résolue.

Symfony ne gère pas encore les bases de données NoSQL, donc CakePHP reste encore un bon choix, malgré tous ses défauts.