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 :
Vous pouvez constater qu’il fonctionne très bien sur la « crème » des hébergeurs : Free !
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 :
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 :
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
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 :
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 :
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 ]
Discussions par date d’activité
33 discussions
reBonjour,
comment faire pour n’avoir que des salons prives avec des mots de passes ?
Je veux que seul l’admin puisse ouvrir un salon.
Deuxieme chose comment faire pour changer le mot de pass de l’admin ?
Merci
Répondre à ce message
Warning : file_get_contents(inc/ext/spip.php) [function.file-get-contents] : failed to open stream : No such file or directory in /home/www/43495c117f2bcce31340c1ffd8751a63/web/site/chaton/install.php on line 1546
Voici le message d’erreur que j’obtiens à l’etape 6. Et apres pas mal de cheveux arrache je ne parviens pas a trouver l’erreur et surtout comment la corriger. si quelqu’un a la solution merci de m’aider.
Qu’elle version de Chaton utilises-tu ? Qu’elle version de SPIP ?
Je n’ai jamais vu cette erreur...
Répondre à ce message
Bonjour
J’ai un SPIP avec session et le t’chat a du mal à fonctionner.
J’ai créer le fichier php3 et un second fichier php (au lieu de html comme dit dans l’aide). Le problème qui se passe c’est que quand je clique sur chat.php3, j’ai une page avec le nom de l’utilisateur SPIP en cours mais quand je clique pour me connecter au t’chat, il met ’Connexion interdite’ et je suis redirigé vers un autre page où on me demande de me réidentifier...
Je ne sais pas quoi faire pour que ça marche vu que je ne connais rien à spip et son langage ;..
Merci de m’aider !
Bonjour, comme dit dans le titre, j’ai le même problème que benjr...
Mais aussi j’ai remmarqué un truc, lors de l’installation, le dossier d’installation de SPIP n’est pas trouvé alors que le chemin est le bon. En me penchant dessus, j’ai vu le fichier install.php compare le chemin tapé à ecrire/data. Or dans SPIP 1.9 ce n’est plus ce dossier (il n’existe même plus), peut etre le problème de session vient de là je n’en sais trop rien, je débute en SPIP... Si un spécialiste pouvait nous renseigner ce serait sympa...
Chez moi la connexion via une page SPIP fonctionne, vous trouverez le squelette utilisé à l’adresse suivante http://xebiaut.free.fr/squelettes/chat.html.
bonjour,
Merci, merci tout plein de permettre à des nuls comme moi d’installer un chat aussi simplement qui de surcroit fonctionne aussi bien. En plus c’est un geste totalement désintéressé...
j’en culpabilise presque d’avoir à demander de l’aide. je n’arrive pas à me connecter en temps qu’administrateur afin de gérer le chat par autorisation refusée d’accès au fichier script : inc/commands/admin.php.
Est ce que je dois modifié directement un script et lequel ?
j’utilise la base de donnée mysql sur free en attente d’installation de la base de donnée spip.
J’ai dévalidé l’option de blocage des pop up de mozilla.
je suis dans le noir mais je n’ai pas peur du nouarrrrrrr.
Mais j’en ai marre de me cogner contre les muuuuurss..
Au secooooursss. Quelqu’un peut’il m’aider ?
je sais, je sais, je suis archi nul.
Et merci encore au créateur de chaton
Attention, tu ne peux pas lancer directement dans un navigateur la commande ’inc/commands/admin.php’.
Ce script est appele par la commande ’/admin’ a l’interieur du Chat. Il faut pour cela s’etre connecte en administrateur du chat.
Effectivement, dans SPIP 1.9.2, les dossiers ont changes...
C’est pourquoi je viens de resortir une version 1.6.3 qui prend en compte ce changement...
Bon courage !
Répondre à ce message
re,
est-il possible d’afficher séparément les messages d’un salon, dans une iframe en page d’accueil par exemple ? merci Pierre
Non ce n’est pas prévu, et ca me semble assez compliqué a faire au vu de la structure actuelle du moteur.
Desolé !
Répondre à ce message
Bonjour,
Tout d’abord bravo pour ce chat qui fonctionne très bien !!!
Je souhaitais juste savoir en plus s’il était possible d’afficher le nombre d’utilisateurs connectés sur la page d’accueil du site spip (qui appelle le squelette « sommaire.html ») et si oui avec quel code.
En effet, pour l’instant, on ne peut voir cette information qu’après avoir ouvert une nouvelle fenetre avec l’url « chat/index.php ».
Voir exemple : je souhaiterais afficher le nombre de connectés du chat sur http://www.findfarah.com/ et non pas uniquement sur la page http://www.findfarah.com/chat/index.php
Merci beaucoup par avance,
Romain
Bonjour,
Dans l’archive Chaton, sauf oubli de ma part, il y a un petit script « demo_nbu.php » qui affiche le nombre de connectés dans le chat. Il suffit juste d’habiller la page !
Hop
salut Gouarflg ! Bravo pour le boulot
un probleme de chemin incorrect dans le fichier inc/users.php
require_once( « inc/mysql.php ») ;
à remplacer par require_once( « mysql.php ») ;
Répondre à ce message
bonjour
tout d’abord félicitation pour le script.
Il y a t-il moyen de savoir depuis le site public ou privé (ou les 2) combien de personnes sont connectées ?
lorsque j’essaye de bannir ou éjecter quelqu’un, cela est pris en compte mais uniquement pour sa prochaine connection et il reste en ligne sur le chat et n’est pas éjecté de suite, quelqu’un a une idée ???
Bonjour,
L’utilisateur que tu souhaites éjecter est-il encore connecté ? Ou a t’il fermé la fenêtre de son navigateur ? L’ejection empêche un utilisateur de rafraichir la discussion et d’écrire, dès qu’il essaye de le faire il est automatiquement déconnecté. Mais tant qu’il n’essaie pas, rien ne se passe... puisqu’il n’est de toute façon plus là ! (et du coup il sera effacé par le détecteur d’inactivité)
Répondre à ce message
Bonjour,
Très bon add-on pour SPIP qui mériterait de devenir un plugins.
Toutefois, pour ceux qui souhaitent l’utiliser avec une version 1.9 et supérieur, on peut déplorer certains inconvénients notamment avec le passage du message d’erreur dans la ligne de paramêtre.
Il faut modifier la variable $url_erreur ? en $url_erreur& dans les fichiers :
- entree.php
- relogin.php
- inc/login.php
En effet depuis la version 1.9 de SPIP, le nom de la page à afficher est transmis via la ligne de paramêtre ce qui n’était pas le cas avant. Ce qui entraine une incompatibilité avec le chaton car il ne peut y avoir deux « ? » dans une même ligne de paramêtre.
Hormis cela qui s’est résolu très vite, j’ai un autre soucis encore irrésolu pour l’instant. Ce problème est simple je n’arrive pas à faire qu’un utilisateur athentifié par SPIP (j’utilise le plugins d’accès restreint) ne puisse pas de façon automatique, comme le propose le fichier article_chat.php, car je me retrouve avec un message d’erreur : Connexion interdite !.
Dans le même ordre d’idée, un utilisateur authentifié par le Tchat se voit déconnecter de la partie privée de SPIP dès qu’il sort du Tchat.
Alors si quelqu’un a la solution, je suis preneur. De mon coté, je vais explorer le source pour trouver la bonne piste.
Hormis cela, j’ai mis quelques explications plus fournies sur mes modifications du chaton sur mon site.
Sinon je teins a remercier Stéphane de l’association B@ch@nt, et à GoUaRfIg pour le très bon travail qu’il a fait.
Merci je suis flatté ; mais rendons a césar ce qui appartient a césar ; moi je ne suis qu’utilisateur...
Par contre Gouarfig encore merci..........
Salut les gars.
Désolé si je ne suis que très peu présent ces derniers temps, mais j’ai quelques bourres de travail, et je vais en changer bientôt. Je n’ai absolument pas le temps de m’en occuper. J’ai même dû fermer mon site perso parce que j’ai foiré la mise à jour de spip 1.9, que je n’ai rien compris, et que je n’ai absolument pas le temps de me pencher dessus.
Mais promis, je ne compte pas abandonner. Dès que j’aurai un horizon plus clément, je m’installerai un spip 1.9 bien proprement et je passerai le chat en plugin !
A bientôt, et Merci !
J’ai trouvé d’où venait le problème de la « connexion interdite ». Les fichiers de session SPIP ont changé dans la version 1.9. Chaton n’arrive pas à retrouver la session utilisateur. Logique. Je vais changer ca...
C’est maintenant corrigé dans la version 1.6.2 : vous pouvez utiliser les sessions SPIP 1.9. Par ailleurs j’ai eu un peu de temps pour regarder les plugins, ya du taf pour faire un truc propre et béton (configurer Chaton dans l’interface d’administration de SPIP par exemple), mais je dois pouvoir faire un pluging « light » rapidement.
Répondre à ce message
Propulsé par SPIP 1.9.1 [7502] sans aucun probléme...............
merci eet vivement le plugin...........
Répondre à ce message
Bonjour
SUPERRRRRRR
Mais comment fait on pour changer le mot de pass admin ?
Oui je sais, je ne suis pas doué ...
Merciiiiiii
Répondre à ce message
Fonctionne parfaitement sur le site soccuper.com.
Facile à installer et à configurer. Très bonne contrib. Bravo !
Merci...
Une tite info au passage, le chat fonctionne toujours avec SPIP 1.9 !
C00L !
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 :
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.
Suivre les commentaires : |