|
Trouver une ressource
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
PHPFREECHAT - UN SERVEUR DE CHAT GRATUIT EN PHP + AJAX
Information sur la source
Description
phpFreeChat est un chat simple à installer, gratuit, rapide, paramétrable et multi langues. Le chat permet de créer des salons (/join), de parler en privé, et de modérer les salons (/kick /ban). Par soucis de simplicité, des répertoires et fichiers sont utilisés pour stocker les pseudonymes et les messages. AJAX est utilisé pour mettre à jour sans clignotement la liste des messages et des pseudonymes. Le système de thèmes basé sur les feuilles de styles CSS permet de changer complètement l'apparence et le système de plugin permet d'écrire ses propres routines de stockage (ex: Mysql, IRC backends ...) et vos propres commandes de chat !
Source
- Voila un exemple de code permettant d'afficher un chat basique :
-
- <?php
-
- require_once "src/phpfreechat.class.php"; // pensez à ajuster le chemin
- $params['serverid'] = 'mon_premier_chat'; // identifiant interne de ce chat
- $params['channels'] = array('mon salon 1', 'mon salon 2'); // permet de rejoindre automatiquement plusieurs salons au démarrage
- $params['nick'] = 'invité'; // permet de forcer un pseudonyme plutôt que de le demander avec une boite de dialogue
- $chat = new phpFreeChat($params);
-
- ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html>
- <head>
- <title>phpFreeChat demo</title>
- </head>
- <body>
- <?php $chat->printChat(); ?>
- </body>
- </html>
Voila un exemple de code permettant d'afficher un chat basique :
<?php
require_once "src/phpfreechat.class.php"; // pensez à ajuster le chemin
$params['serverid'] = 'mon_premier_chat'; // identifiant interne de ce chat
$params['channels'] = array('mon salon 1', 'mon salon 2'); // permet de rejoindre automatiquement plusieurs salons au démarrage
$params['nick'] = 'invité'; // permet de forcer un pseudonyme plutôt que de le demander avec une boite de dialogue
$chat = new phpFreeChat($params);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>phpFreeChat demo</title>
</head>
<body>
<?php $chat->printChat(); ?>
</body>
</html>
Conclusion
pour une démonstration en ligne : http://www.phpfreechat.net/demo pour avoir la dernière version : http://www.phpfreechat.net
Historique
- 05 février 2006 00:11:10 :
- nouvelle version v0.5 le 04/02/2006:
* Colorisation des pseudonymes permettant une meilleur lisibilité. Les pseudonymes sont coloriés à partir d'une liste de couleurs prédéfinie (la même qu'utilise XChat). C'est également possible d'activer/désactiver la colorisation des pseudonymes en cliquant sur un bouton à deux états.
* Ajout d'un bouton permettant de montrer/cacher les dates et heures dans la liste des messages.
* Bug fix: Empêche le curseur de changer de forme (Wait-cursor) lorsque les messages du chat se mettent à jour.
* Bug fix: Résoud des problèmes liés aux pseudonymes UFT8 / UNICODE (pseudonymes arabes, russes ...) et au caractere '\'.
* Reorganisation du système d'installation des librairies internes (xajax, ie7, javascript-libs).
* Bug fix: Quand le dernier utilisateur quittait le chat, son pseudonyme n'était pas déconnecté tant qu'un autre utilisateur ne se connectait pas, il n'était donc pas possible de se connecter de nouveau et de prendre le même pseudonyme.
- 07 février 2006 11:35:58 :
- v0.6 le 07/02/2006
* Nouveau bouton permettant de minimiser et de maximiser la fenêtre de chat.
* Option connect_at_startup ajoutée à la configuration. Désactiver cette option aura pour effet d'éviter de connecter automatiquement les utilisateurs au premier chargement de la page.
* Option nickmarker ajoutée à la configuration. Désactiver cette option aura pour effet de ne pas colorier les pseudonymes.
* Option clock ajoutée à la configuration. Désactiver cette option aura pour effet de ne pas afficher les dates et heures dans les messages.
* Réordonne la liste des smileys et ajout des smileys tux et gnu (Merci beaucoup à Kaella pour ces 3 jolis smileys!)
* Bug fix : Quand le rootpath était vide, l'ensemble des path qui en dépendaient pointaient alors sur la racine du serveur ce qui était incorrect ! (Thanks to Kaella for reporting this bug)
* Bug fix : Lorsque deux chats étaient configurés avec les même options, il partagaient le même identifiant de cache.
* Bug fix : L'option active ne doit pas être utilisée pour connecter automatiquement les utilisateurs car lorsqu'un utilisateur quitte et revient il ne sera pas connecté automatiquement. L'option connect_at_startup la remplace.
* Bug fix : La liste des couleurs que l'on associe aux pseudonymes est limité à 15 couleurs. Lorsque le 16ème utilisateur se connecte aucune couleur ne lui est assigné. De plus, les utilisateurs listés dans l'historique des messages étaient coloriés alors qu'ils ne devrait pas l'être (seulement les utilisateurs connectés doivent l'être)
* Bug fix: Sur les serveurs où php est configuré en mode cgi, la variable SCRIPT_FILENAME ne pointe pas sur le fichier du script mais sur celui du cgi de php. Ceci posait donc problème pour calculer les paths relatifs dans phpfreechat. Maintenant la variable PATH_TRANSLATED est utilisée dans le cas d'une configuration cgi.
- 15 février 2006 11:25:28 :
- 0.7 le 15/02/2006
* Ajout d'un système d'internationnalisation (i18n) permettant de traduire les messages du chat dans toutes les langues. Pour le moment il existe les traductions en Français/Anglais de tous les messages (les contributions pour d'autres langues sont les bienvenues).
* Ajout de la traduction chinoise (merci à guoxianghao)
* Ajout de la traduction formelle et informelle allemande (merci à bsemf)
* Ajout de la traduction arabe (merci à sandra rizk)
* Bug fix : ajout de dirname(__FILE__) dans les require_once de la librairie xajax pour éviter les problèmes de path sur les serveurs ayant php mal configuré.
* Inversion des icônes minimize et maximize.
* Ajout d'un nouveau theme de smiley (phoenity) : Ces smiley ont été developpés par Lim Chee Aun et portés pour phpFreeChat par Robin Monks.
* Ajout d'un test d'existance des fonctions utilisées dans la phase d'initialisation. Le but étant de minimiser le risque que phpFreeChat se lance sur des serveur mal configurés où n'ayant pas les fonctions necessaires.
* Ajout d'un nouveau theme de smiley (famfamfam) basé sur les icones famfamfam et porté par Robin Monks pour phpfreechat.
* Ajout de la variable client_script qui permet de forcer l'endroit du script client. A utiliser lorsque le processus d'auto-detection échoue (pour les configurations spéciales non supportés par pfc).
* Bug fix : Le processus d'auto-detection du scripte client échouait pour le cas de PHP en mode CGI. (merci à Wendy Novianto pour le rapport)
* Quellques clarifications au niveau de l'interface des conteneurs (merci à Bernhard J. M. Grün pour le rapport)
* Ajout du paramètre $return aux méthodes print* qui permettent de retourner la chaîne plutôt que de l'afficher (Merci à Wendy Novianto pour la contribution).
* phpFreeChat utilise maintenant un système de template fait maison, simple et en php. Ceci permet de supprimer la dépendance avec Smarty et de gérer plus facilement l'internationnalisation.
* Bug fix: Lorsque l'on clique dans la zone de chat, le focus est rendu à la zone de saisie seulement si la souris n'a pas bougé entre les événements onmousedown et onmouseup.
* Utilisation de CSSTidy pour optimiser la feuille de style générée. (merci à Nemako pour sa contribution)
* Rend le repertoire des templates paramétrable (variables tplpath et tpltheme) en suivant le model des smiley. (merci à Wendy Novianto pour la sugestion)
* Bug fix : sur les serveurs windows, le path relatif était incorrect (merci à bsemf pour le patch)
* Ajoute une protection au niveau des paramètres passés au chat. Si un paramètre n'est pas reconnu alors on refuse de lancer le chat : ce paramètre est alors soit inconnu, soit obsolete, soit mal écrit. Ceci permettra d'éviter les erreurs d'étourderies.
* Ajoute l'attribut title sur les smileys pour prévisualiser le raccourci clavier (merci à BenXbox pour l'idée)
- 03 mars 2006 22:42:33 :
- Cette version propose une refonte du système de thèmes pour les rendre plus flexibles, rend possible de créer très facilement de nouvelle commandes (un bon exemple est cette commande pour lancer un dé), une refonte de tout le code javascript en se basant sur la librairies prototype, ajout de nombreuses tranductions : portuguese from brazilian, japanese, serbian/croatian, italian, spanish, indonesian, swedish, russian and portuguese from portugal, Trois nouveaux thèmes : phpbb2, cerutti et blune, support des BBCODE, un nouveau conteneur basé sur la mémoire partagée, des optimisations de la bande passante and de nombreux bugs résolus !
- 04 avril 2006 14:19:23 :
- Cette version résoud des problèmes de parsing (urls, couleurs ...), tente de résoudre denouveau le bug d'affichage sous IE et ajoute une nouvelle traduction: bosniac.
- 27 avril 2006 09:52:37 :
- Cette version résout des petits problèmes (Le bug d'affichage IE est maintenant proprement résolu) et ajoute deux nouvelles traductions : turque et greque.
- 30 avril 2006 10:24:15 :
- Cette version résout des petits problèmes (des chemins d'inclusions étaient mauvais, les longs pseudos s'affichaient sur plusieurs lignes sous IE, un popup génant s'affichait de temps en temps sous IE, ...) et ajoute une nouvelle traduction : Chinois traditionel.
- 14 juin 2006 17:51:25 :
- Cette version ajoute la possibilité de créer des salons multiples (avec la commande /join), de modérer (avec les commandes /kick et /ban), ainsi que de nombreuses autres fonctionnalitées. Attention, cette version est à l'état de beta, vous ne devez pas considérer le code comme stable.
- 17 juin 2006 23:41:14 :
- Cette version résoud des nombreux bug génants et optimise le CPU et la bande passante.
- 07 juillet 2006 13:16:42 :
- Cette version ajoute un nouveau proxy censor qui permet de filtrer les injures, une nouvelle commande /identify qui permet de s'identifier administrateur par login/mot de passe, une nouvelle API permettant de questionner le chat depuis un scripte externe (les utilisateurs en ligne, les N dernier messages postés) et résout de nombreux bug génants.
- 02 août 2006 11:51:45 :
- Cette version ajoute un nouveau proxy lock qui permet de bloquer le chat dynamiquement et de rediriger tous les utilisateurs vers une url donnée en paramètre. Elle résoud également de nombreux problèmes : les paramètres nick et frozen_nick ne fonctionnaient plus, les dépendances avec la librairie prototype ont été supprimées car cela rendait le chat incompatible avec d'autres librairies javascript, et de nombreux autres petits problèmes.
- 08 septembre 2006 22:03:20 :
- Cette version a été recodé en profondeur pour premettre :
* optimisation du poids de la page du chat (on est passé de 80ko à 30ko)
* simplification du processus d'initialisation, le chat devrait s'installer sur un plus large panel de configurations (ex: suexec ou suphp)
* simplification de la création des thèmes (terminé le php dans les css des themes)
Bien entendu, cette version résoud de nombreux bugs, ajoute de nouvelles traductions et améliore l'utilisation du chat.
- 23 septembre 2006 13:54:42 :
- Cette nouvelle version est un grand pas dans la vie de phpfreechat, elle résoud de nombreux bug et ajoute de nombreuses features indispensables. Voici un petit résumé :
* Fini les écrans blancs sur IE6!
* Le titre de la fenetre est prefixée par le nombre de nouveaux messages postés.
* Réécriture des containers, ceci rend facile l'écriture de nouveaux containers (seulement 3 méthodes sont à écrire : setMeta, getMeta et rmMeta)
* Optimisation du CPU et de l'espace disque (ceci gràce à la nouvelle architecture des containers)
* Deux nouvelles commandes /version et /help
- 01 novembre 2006 22:10:24 :
- Cette version résout de nombreux bug, permet d'associer des méta données aux pseudonymes ce qui rend possible la personnalisation de chaque utilisateurs coté client (ex: ajout d'une icône en forme de bouclier en or pour les administrateurs, ajout d'avatars...), et améliore l'apparence du thème par défaut.
- 18 décembre 2006 11:24:51 :
- Cette version ajoute la notification sonore, une nouvelle commande /invite, un nouveau conteneur mysql, et quatre nouvelles traductions (Esperanto, Roumaine, Arménienne, et Bengali). Quelques petites optimisations ont été faites au niveau du conteneur 'file' (attendez la prochaine version pour de grosses optimisations). Cette version règle également des problèmes comme : les droits des répertoire 777 qui posent problème sur certains serveurs (755 semble être mieux toléré), et le chat ne fonctionnait pas sur certains serveurs windows.
- 19 février 2007 14:48:14 :
- Cette version intègre une nouvelle façon de charger le chat : les styles et la structure html sont maintenant chargés par des routines ajax. Cette amélioration simplifie énormément l'intégration du chat car les méthodes printStyle() et printJavascript() ont été retiré, il ne reste plus que printChat() qu'il suffit de placer dans le corps de votre page html là où vous souhaitez que le chat s'affiche. Cette version intègre également de nombreuses optimisations, règle de nombreux problèmes et ajoute quelques nouvelles traductions.
- 28 mars 2007 14:17:43 :
- Cette version résoud surtout de nombreux bug. Un problème très génant de focus dans la boite DHTML du pseudonyme a été réglé. Quelques fois les pseudonymes dans la liste disparaissaient. Certaines URLs étaient mal parsées. De nombreux autre petit bug ont été résolus et de nouvelles traductions ont été mise à jour.
- 01 juillet 2007 19:11:08 :
- Nouvelle version fixant de nombreux bug, espérons que ce sera la dernière avant la 1.0-final. La principale nouveauté est la réécriture de la gestion des requêtes AJAX, la librairie prototype remplace xajax pour cette tâche. Ainsi le chargement du chat est légèrement plus rapide. Par ailleurs, de nombreux bugs ont été résolus dont : des déconnections fréquentes sur IE6, quelques fois le curseur était invisible sur la fenêtre de login sur FF... Quelques traductions ont également été mise à jour.
- 01 octobre 2007 09:18:44 :
- La version 1.0-final est enfin publiée! Cette date marque le commencement de la nouvelle branche stable 1.x et la fin du support de la branche 0.x. Cette version n'apporte pas beaucoup de nouvelles fonctionnalités mais se concentre surtout sur l'amélioration de la stabilité et de la sécurité en réglant plusieurs bugs critiques. J'aimerai remercier tous les contributeurs de phpfreechat et spécialement King Moonraiser pour son travail rigoureux ces dernières semaines. Nous lui devons la correction des problèmes de fichiers corrompus qui entraînait des blocages aléatoires du chat ainsi que plusieurs corrections au niveau de l'interface utilisateur.
- 01 octobre 2007 09:19:44 :
- La version 1.0-final est enfin publiée! Cette date marque le commencement de la nouvelle branche stable 1.x et la fin du support de la branche 0.x. Cette version n'apporte pas beaucoup de nouvelles fonctionnalités mais se concentre surtout sur l'amélioration de la stabilité et de la sécurité en réglant plusieurs bugs critiques. J'aimerai remercier tous les contributeurs de phpfreechat et spécialement King Moonraiser pour son travail rigoureux ces dernières semaines. Nous lui devons la correction des problèmes de fichiers corrompus qui entraînait des blocages aléatoires du chat ainsi que plusieurs corrections au niveau de l'interface utilisateur.
- 01 octobre 2007 09:21:20 :
- La version 1.0-final est enfin publiée! Cette date marque le commencement de la nouvelle branche stable 1.x et la fin du support de la branche 0.x. Cette version n'apporte pas beaucoup de nouvelles fonctionnalités mais se concentre surtout sur l'amélioration de la stabilité et de la sécurité en réglant plusieurs bugs critiques. J'aimerai remercier tous les contributeurs de phpfreechat et spécialement King Moonraiser pour son travail rigoureux ces dernières semaines. Nous lui devons la correction des problèmes de fichiers corrompus qui entraînait des blocages aléatoires du chat ainsi que plusieurs corrections au niveau de l'interface utilisateur.
- 25 mars 2008 09:26:51 :
- The nickmeta parameter now supports raw html, it will satisfy all the developers who want to quickly add complex data in the user profile box. A new dyn_params parameter makes possible to disable caching on the parameters you want. Finally the refresh_delay_steps parameter has been added to dynamically adjust the chat refresh speed depending on the chat activity: the more the chat is active, the more it is responsive. This version also fixes lot of bugs and adds new translations. My last words are : many thanks to all the contributors !
- 31 juillet 2008 08:42:38 :
- Résous une grosse faille de sécurité qui permettait à un utilisateur malveillant de prendre le contrôle des sessions des autres chatteurs.
Sources de la même categorie
Sources en rapport avec celle ci
Commentaires et avis
|