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 ]
Aucune discussion
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 : |