Un Chat pour SPIP

Un moteur de chat écrit en PHP et JavaScript qui fonctionne avec la base d’utilisateurs de SPIP

Introduction :

Voilà maintenant plus de 2 ans que j’ai écrit un moteur de Chat en PHP pour des besoins personnels. Je viens de le remettre au goût du jour parce que je trouvais un peu stupide que le code traine tout seul dans un coin sans être utilisé.

J’en ai profité pour l’associer à SPIP. En effet la base des utilisateurs de Chat peut être celle de SPIP.

Note :
L’article présenté ici se réfère à un SPIP 1.8. Pour la version SPIP 1.9, un plugin est en cours de préparation...

Pré-requis :

Les pré-requis concernant l’installation de Chaton sont quasiment les mêmes que pour l’installation de SPIP. Il nécessite un serveur web avec PHP 4.2 minimum (PHP 5 supporté), et un serveur de base de données MySQL 3.20 et supérieur.

Démonstration :

http://gouarfig.free.fr/chat/

Vous pouvez constater qu’il fonctionne très bien sur la « crème » des hébergeurs : Free !

Page d’entrée
Ecran principal
Ecran d’aide

Pour l’instant, il a été testé avec succès sur les navigateurs :

-  MSIE 4.01, 5.01, 5.5, 6.0 et 7.0 (Windows 98,2000,XP SP1 et SP2)
-  MacIE 5.23
-  Netscape 4.8 (Windows)
-  Mozilla 1.0 et +, Firefox inclus (Windows XP)
-  Mozilla 1.0 et +, Firefox inclus (Linux RedHat)
-  Opera 7 (Windows XP)
-  Safari 1.2.2 sous MacOS X 10.3.4
-  Konqueror 3.2

Sur IE et Windows XP SP2 il faut autoriser le domaine où est installé Chaton à envoyer des « popups » puisque certaines informations de Chaton s’affichent dans de nouvelles fenêtres. Idem pour Firefox.

Il ne fonctionne pas pour ces navigateurs :
-  Konqueror 3.0 (sur Linux RedHat 8.0) : le support JavaScript n’était pas encore au point...

Télécharger le logiciel de Chat

En attendant que je remette mon site perso d’aplomb, voici l’archive de Chaton 1.6.3 :

Chaton version 1.6.3
Fichier ZIP contenant le logiciel Chaton 1.6.3

Installer le logiciel de Chat

 [1]

Décompressez l’archive à la racine de votre serveur web, et renommez (par exemple) le dossier « chaton-1.6.3 » en « chat ».

Exécutez ensuite le script d’installation automatisé fourni install.php.
Par exemple :

http://mon-domaine.com/chat/install.php

Le script d’installation va vous demander si vous voulez utiliser la base d’utilisateurs de SPIP :

Cochez le second choix.

Vous aurez ensuite besoin de spécifier la base de données MySQL qu’utilisera Chaton pour ses données personnelles (Salles ouvertes, utilisateurs connectés, etc.). Vous pouvez sélectionner (par exemple) la base de données de SPIP si vous n’avez pas accès à plusieurs bases.

Vous devrez ensuite spécifier l’accès à la base de données de SPIP comme suivant :

Le choix de la table auteurs n’est utile que si vous avez donné un préfixe différent de « spip_ » à vos tables SPIP.

[ Voir aussi : Installation de Chaton ]

Utilisateurs de SPIP

Quand vous utilisez Chaton en mode SPIP, il ne créé pas de base d’utilisateurs. Il utilise la base des rédacteurs/visiteurs de SPIP.

-  Un visiteur devient un utilisateur standard du Chat
-  Un « nouveau » rédacteur (qui ne s’est jamais connecté sur SPIP) devient un utilisateur standard du Chat
-  Un rédacteur devient un animateur du Chat
-  Un administrateur restreint devient un opérateur du Chat
-  Un administrateur devient un administrateur du Chat

Modifier/supprimer des visiteurs avec SPIP répercute aussi les modifications sur le moteur de Chat.

Chaton n’écrit rien dans les tables de SPIP.

Note : Vous devez proposer l’enregistrement des visiteurs dans SPIP pour que vos utilisateurs puissent se connecter au Chat (en tant que visiteur)

L’enregistrement des utilisateurs est obligatoire à moins que vous n’activiez l’option qui permet à un utilisateur de rentrer SANS mot de passe, mais à condition que son nom d’utilisateur ne corresponde pas à un login qui existe dans la base. Cet utilisateur n’aura par ailleurs aucun droit (sur la création de salon par exemple)

Salon privés

Chaton peut gérer des salons privés (directive optionnelle) avec ou sans mot de passe.

Quand vous activez cette option, un visiteur qui créé un salon privé se verra attribuer quelques privilèges dans son salon uniquement :

-  Ejecter un utilisateur indésirable du salon
-  Limiter le nombre d’utilisateurs du salon
-  Mettre, enlever ou changer un mot de passe du salon

Entrée du chat ... façon article !

Vous pouvez mettre l’entrée du Chat dans un article. La seule condition est que vous n’aurez plus en temps réel le nombre de connectés affichés à côté de chaque salle, puisque l’article est mis en cache !

Commencez par installer cette contribution : Lancer un script PHP dans un article.

Une fois la contribution assimilée, créez un article qui contient :

#INCLURE( article_chat.php )

Installez le fichier article_chat.php dans votre arborescence SPIP :

Script pour entrer par un article

Ce fichier assume que vous ayez installé Chaton en sous-dossier du dossier racine de SPIP

Racine de SPIP :
 * CACHE
 * chat
 * ecrire
 * IMG
 - [...]
 - article_chat.php

[ Voir le résultat ici ]

Entrée du chat ... par session SPIP

Avec cette méthode, un visiteur ou un rédacteur déjà authentifié par SPIP n’a pas besoin de donner son pseudo et son mot de passe, puisque SPIP le connait déjà.

Chaton est en effet capable de récupérer les valeurs de la session SPIP.

Pour celà, l’entrée du chat doit se faire par une page SPIP spéciale, que nous nommerons chat.php3 par exemple.

Créez le fichier chat.php3 dans votre arborescence SPIP comme suivant :

<?php
$fond = "chat";
$delais = 2 * 3600;

include ("inc-public.php3");

?>

Créez maintenant dans le même dossier le fichier chat.html comme l’exemple suivant :

Page d’entrée par session SPIP

Cet exemple suppose que vous ayez installé Chaton dans le dossier chat à la racine de l’installation de SPIP.

Attention : Si vous installez Chaton en dehors du dossier de SPIP, il sera incapable de récupérer la session SPIP (pour des raisons techniques inhérentes aux cookies).

Et voici le résultat :

Démonstration de l’entrée par session

L’entrée ne demande plus le login ni le mot de passe, vous n’avez qu’à choisir la salle de discussion.

Rapidité

Pour information, il a tourné pendant 1 an avec 50 utilisateurs dessus (et un rafraîchissement de 8 secondes) sur un serveur (dédié) Linux Apache1.3/PHP4 Celeron 433 avec 256 Mo de RAM, couplé à un autre serveur de base de données MySQL (non dédié).

Je sais que ces tests commencent a dater un peu, mais je n’ai pas à l’heure actuelle de tests plus précis

Pour aller un peu plus loin :

Le site officiel [ Voir ici ]

Notes

[1Le nouveau script d’installation de Chaton 1.6.3 diffère un peu de celui présenté içi, mais les options de base restent les mêmes.

A partir de la version 1.6.2, Chaton est capable d’utiliser les sessions SPIP 1.9 (testé sur une 1.9.1). A partir de la version 1.6.3, Chaton est de nouveau capable d’utiliser les sessions de SPIP 1.9.2. Toutefois un plugin toujours est en cours de préparation !

Discussion

33 discussions

  • 1
    Arielle

    Je me réponds à moi mm (si cela peut aider d’autres users)

    A force de fouiller je me rend compte que lors d’une première installation (base vide) la table chaton_salle n’est pas créée en base. Il suffit donc que cette dernière soit créée en base pour pouvoir avoir accès au chat..

    modifier le fichier install.php à ligne 1011 (revoir le paramètre timestamp de cnx qui pose problème pour mysql 5.x..)

    • Bonjour,

      Comment doit-on le modifier ?
      Trop novice, je n’y comprends pas grand chose, où que doit-on inscrire pour implanter la table chaton_salle directement sur la base de données ?
      (à priori, je n’en ai besoin que d’une salle)

      Merci d’avance.

    Répondre à ce message

  • 6

    Je n’arrive pas à faire fonctionner chaton que j’adorais depuis la version 3 de spip, quelqu’un aurait-il une idée (les identifiants ne fonctionnent pas)
    Merci d’avance
    Yvan

    • Chaton 1.6.3
      Version spip 3.013 sarka spip 3.3 accès restreint...
      Je ne comprends pas pourquoi la réponse est toujours
      utilisateur ou mot de passe incorrect...

    • Personne ne rencontre ce souci avec spip 3.0.13 ?
      ou personne n’utilise chaton avec spip 3 ?

    • J’ai fait toute l’installation jusqu’au bout .. SANS problème
      MAIS
      je n’arrive PAS a me connecter dans le dernier écran
      avec le Id et Pwd parfaitement exact .. ID que je retrouve dans la table crée par Chaton

      SPIP3.0.13 Chaton 1.6.3

      DOMMAGE !

      je cherche mais je ne suis pas assez compétent !

    • Il n’y a donc personne qui a un chat sur son site sous spip 3 ?
      Mince alors... snif.
      Yvan qui cherche toujours cette fonctionnalité...

    • Arielle

      Bonjour,

      Si quelqu’un a trouvé la solution déjà énoncée par les membres nikon33 et Yvan je suis preneuse..

      impossible de se connecter au chat sous spip 3.0.13 (aarrrfff ça fait 2 semaine je m’arrache les cheveux sur le problème)

      http://localhost/chat/index.php?lang=fr&erreur=Connexion+au+salon+impossible+!

      D’avance merci

    • Arielle

      le problème est identique pour une installation classique sans spip...(je me demande si c’est pas le paquet qui pose problème)

    Répondre à ce message

  • merci beaucoup pour cette superbe contribution.

    Répondre à ce message

  • 5

    Bonjour,

    j’aurais voulu faire un chat room pour mes besoins professionnels.
    J’ai fais quelques testes et je me suis apercu que je recevais sur mes chats rooms (public ou prive) des messages ou des url.
    Voici un exemple de messages :

    11:17:24 - Contrepètrie belge : il fait beau et chaud.

    Donc ca fait pas tes serieux ...
    Ya un moyen d’empecher ca ?...
    Merci
    PS : Sinon bien class ce ptit chatton

    • bonjour,
      j’ai eu le même probleme avec des blagues M. Mme ont une fils....
      Le chat est installé à des fins pédagogiques sur des écoles, c’est assez embêtant...
      si une solution est donnée je suis preneur car là, je ne vois pas d’où ça vient car ces messages n’ont pas d’auteurs et dans la console d’admin, il n’y avait visibles que les participants et 0 invisibles...
      Merci de votre aide

    • Dans le dossier « templates » et sous-dossier de la template que vous utilisez, il y a un fichier « publicite.txt ». Supprimez-le !

      Tout simplement.

    • C’est super.
      Merci c’est reglé.

    • comment les avez-vous fait disparaitre ?

    • Il faut supprimer le fichier « publicite.txt »

    Répondre à ce message

  • Bonjour les gens et tout particulièrement l’auteur de cette contribution.
    Je vous expose mon problème : Bête et disciplinée j’ai suivi toutes les indications et lorsque je veux rentrer dans une room (en tant qu’administrateur de spip) on me dit que l’on ne peut pas faire de chat privé.. En effet j’ai décoché cette option, mais puisque j’ai crée 2 salons par défaut pourquoi ne m’y laisse-t’on par rentrer ?
    Version de spip 1.9.2d version de chaton téléchargée 1.6.3

    Répondre à ce message

  • 1

    Bonjour,

    Je suis sous Spip 1.9.2d et Chaton 1.6.3.
    Je n’arrive pas à utiliser la page chat.html proposant l’entrée dans le chat en utilisant les sessions. Cette page m’affiche le code non-interprété.
    Si je ne me trompe pas, le fichier chat.php3 c’est pour Spip avant la 1.9. non ? Que dois-je modifier pour utiliser la session SPIP en 1.9.2 ?

    Merci pour ton boulot et vivement le plugin !

    • Bonjour

      As tu résolu ce pb sous 1.9.2d ?
      En gros, est ce que ça marche quoi :) ?
      merci !

    Répondre à ce message

  • Bonjour,

    j’avais testé la semaine passée sur un site spip de test, mais là, alors que je veux l’installer sur mon site principal, ça ne marche plus.
    je suis en spip 1.9.2.c, j’ai la dernière version de chaton (1.6.3), j’ai mis le dossier /inc en 777, installé un dossier chat avec le contenu de l’archive à la racine.

    En fait, quand je renseigne les codes de base de donnée, ça me met une erreur :
    Connexion au serveur MySQL ... Erreur ! (Access denied for user ’xxxxxx’@’10.0.5.67’ (using password : YES))

    Avez vous une idée de là où cela peut venir ?

    Répondre à ce message

  • Salut,

    nous gérons un gros site collaboratif (150 membres actifs + 150’000 abonnés) en 1.9.2 pour lequel nous aimerions installer le Chat.

    Dans ce cas, autant patienter et utiliser le plugin, non ?

    Mais avez-vous une idée de sa date de sortie ?

    Merci et à bientot !
    Thomas

    Répondre à ce message

  • Mathieu 7-7

    Installation sur MGS peut corrompre des tables. je narrive plus à me logger comme administrateur sur mon site Liberté pour les Ours

    >Je pensais que ça venait de SpipBB mais visiblement ça pourrait être Chaton... Faiets bien vos sauvegardes avant d’installer ;o)

    Je vous dis dès que j’ai compris ce qui m’arrive...

    Mathieu

    Répondre à ce message

  • 2

    Ben surtout pour te féliciter et que tu te rendes compte que tu n’es pas seul dans l’univers ...
    Je code aussi, et parfois on se sent seul !

    Bravo encore

    • Merci !!

      Je me sens ... moins seul !

    • Félicitation pour ce Chat ... Je n’ai aucune critique ... Sauf que c’est exactement ce que je cherchait à rajouter sur mon site ... quelque chose de simple, de facile (d’utilisation et d’installation)...
      c’est grace à des gens comme toi, que des ignares comme moi (en language html, php, css, et tout le reste ... j’y pige rien) arrivent a faire des sites stables et avec plein de fonction dans tout les sens ... Merci à tout ceux qui contribu dans ce sens la (ce site spip-contrib est là pour ça) ...

      Merci de la part de gars comme moi ... lol ...

      A plus

      Gui

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom