Document's Title: PHP FREE CHAT - Chat gratuit en PHP + AJAX php Free Chat logo bulle This page in english[1] Cette page en français[2] [3] phpMyVisites * Général * o Nouvelles[4] o Présentation[5] o Démonstration[6] o Captures d'écrans[7] o Télécharger[8] o Qui l'utilise ?[9] o FAQ[10] o Contactez nous[11] o Partenaires[12] o Forum [en][13] * Documentation * o Installation[14] o Paramétrage[15] o Configuration recommandée[16] * Développeurs * o Feuille de route[17] o Liste de bug[18] o Historique[19] o Contributions[20] logo big[21] HotScripts.com[22] Si vous aimez ce script, votez! Excellent! <> Installation Vous avez besoin de : * Un serveur Web (apache, IIS ...) avec le module php (4 ou 5) * Un acces en écriture sur ce serveur Web (ssh, FTP ou autre) Par défaut, vous n'avez pas besoin d'une base de donnée Mysql car des simples fichiers sont utilisés pour stoquer les informations. * En avant! * Configuration avancée En avant! Pour les feignants: 1. Téléchargez le script d'installation auto-extractible : phpfreechat-x.x-setup.php[23] (la dernière version de préférence) 2. Uploadez le script dans un répertoire accessible par votre navigateur (répertoire publique) 3. Lancez votre navigateur et exécutez le script d'installation que vous venez d'uploader, ceci devrait lancer une interface d'installation, suivez alors les étapes ! Astuce : supprimez le scripte d'installation une fois terminé pour des raisons de sécurité. Pour les utilisateurs avancés ou pour ceux qui n'ont pas gzip installé sur leur serveur: 1. Téléchargez l'archive zip (ou tag.gz pour les utilisateurs linux) : phpfreechat-x.x.zip[24] (la dernière version de préférence) 2. Décompressez l'archive localement et uploadez le résultat sur votre serveur dans un répertoire accessible par votre navigateur. Astuce: si vous avez un accès SSH, je vous conseil d'uploader l'archive tar.gz puis de la décompresser directement sur le serveur avec la commande tar xzf phpfreechat-x.x.tar.gz 3. Donnez les droits en écriture aux répertoires phpfreechat-x.x/data/public et phpfreechat-x.x/data/private Si vous utilisez FTP, voici les commandes: CHMOD 777 phpfreechat-x.x/data/private CHMOD 777 phpfreechat-x.x/data/public Si vous utilisez SSH, voici les commandes: chmod a+w phpfreechat-x.x/data/* 4. Pour terminer : lancez votre navigateur et ouvrez le répertoire phpfreechat-x.x sur votre serveur ! Vous désirez certainement paramétrer votre propre chat, pour cela prenez exemple sur les scriptes du répertoire phpfreechat-x.x/demo. Voila le script minimum pour que le chat fonctionne (inspiré de demo1) : phpFreeChat demo printJavascript(); ?> printStyle(); ?> printChat(); ?> Configuration avancée Le chat fonctionne très bien en laissant les paramètres par défaut mais de nombreuses options peuvent être réglées. Par exemple, pour changer le temps de rafraichissement à 2 secondes (par défaut c'est 5 secondes), voila ce qu'il faut faire : [... copiez/coller le code HTML vu plus haut ...] Un autre exemple: vous souhaitez que vos utilisateur n'entrent pas de pseudonymes à leur arrivé sur le chat et qu'un pseudo "invité" leur oit assigné automatiquement (ceci est très utile pour integrer le chat dans un forum, un portail ou tout autre système où l'utilisateur est déja authentifié), voila ce qu'il faut faire : [... copiez/coller le code HTML vu plus haut ...] Maintenant voyons la liste exaustive des paramètres : serverid C'est leur seule paramètre obligatoire. C'est l'identifiant du chat, "son IP" (comparable à l'adresse (host) d'un serveur IRC) utilisé pour différencer ce chat d'un autre. Deux chats doivent avoir des serverid différents. Si vous ne savez pas quoi mettre, ceci fonctionnera dans la majorité des cas : $params["serverid"] = md5(__FILE__); nick Ce paramètre est très utile si vous connaissez à l'avance les pseudonymes des utilisateurs, par exemple si vous souhaitez intégrer le chat à un forum ou a un portail qui possède déjà un système d'authentification. Il suffit de renseigner le pseudonyme de l'utilisateur concerné dans cette option et l'utilisateur sera alors automatiquement connecté avec son pseudonyme, il n'aura pas à choisir son pseudo lors de la première connexion. Attention : Les pseudonymes doivent être encodés en UTF-8. Si par exemple vos pseudo viennent d'une base de donnée où ils sont encodés en ISO-8859-1, vous devez les convertir : $params["nick"] = iconv("ISO-8859-1", "UTF-8", $bdd_nickname); (bien sur changez la variable $bdd_nickname à votre convenance) Remarque : Cette option peut-être utilisée conjointement à l'option frozen_nick pour empêcher l'utilisateur de changer de nom. ("" par défaut, signifie que les utilisateurs doivent choisir leur pseudonymes quand ils se connectent) title Permet de changer le titre du chat, c'est à dire le texte qui s'affiche en haut. ("My phpFreeChat" est la valeur par défaut) channel Permet de créer un salon. Techniquement, ce paramètre permet de choisir où vont être stockés les messages et les pseudonymes du chat. Pour une explication plus détaillées voyez le paragraphe suivant[25] dans la FAQ. (par défaut, il est calculé automatiquement à partir du title) frozen_nick Mettre cette option à true va tout simplement empêcher les utilisateurs de changer leur pseudonymes. Cela sous entends que le pseudonyme à été automatiquement assigné (voir l'option nick) (false par défaut) max_nick_len C'est la longeur maximale que peut avoir un pseudonyme (15de caractères par défaut) max_text_len C'est la longeur maximale que peut avoir un message. ( 250 caractères par défaut) refresh_delay Ceci est le temps à attendre entre chaque rafrechissements. Un rafrechissement correspond à une requete HTTP demandant au serveur si il y a quelque chose de nouveau à afficher ou pas. S'il n'y a rien de nouveau alors la réponse HTTP est vide. ( 5000ms = 5s par défaut) timeout Ceci est le temps d'inactivité à attendre avant de déconnecter un utilisateur (en millisecondes). ( 20000ms = 20s par défaut) max_msg Ceci est la taille de l'historique, c'est à dire le nombre de messages gardés en mémoire. Quand un utilisateur se connect, il voit automatiquement les messages de l'historique. Le nombre de messages qu'il voit est définit par ce paramètre (20 lignes par défaut) quit_on_closedwindow Mettre ce paramètre à true permet d'envoyer une commande /quit lorsque l'utilisateur ferme sa fenêtre (ne fonctionne pas sour Firefox). Ce paramètre n'est pas a true par défaut car sous IE, Safari et Konqueror : lorsque l'utilisateur recharge sa fenêtre le même évenement est envoyé ce qui surcharge de messages le chat. (false par défaut) focus_on_connect Mettre ce parametre à true permet de placer le curseur directement dans la zone de saisie du chat après la connexion. Il peut être intéressant de passer ce paramètre à false lorsque l'on intégre le chat dans un site Web car lorsque le focus change, la vue de l'utilisateur dans la fenêtre change aussi, elle suit le focus. Lorsque la page est grande la bar de scroll peut alors se déplacer de façon involontaire. (true par défaut) connect_at_startup Mettre cette option à false obligera les utilisateurs à cliquer sur l'icone de connexion pour tchater. (true par défaut, signifie que les utilisateurs sont automatiquement connectés lorsque la page du chat est ouverte) start_minimized Mettre cette option à true minimizera le chat au premier chargement de la page. (false par défaut) height Hauteur de la zone de chat (440px par défaut) width Largeur de la zone de chat ("" par défaut, signifie que la valeur est assignées dans les CSS) shownotice Trois valeurs sont possibles : 0 pour ne rien afficher (ni les notices de connexion/deconnexion, ni les changements de pseudo), 1 pour afficher les changements de pseudo, 2 pour afficher les connexions/deconnexions, 3 (1+2) pour afficher les changements de pseudo et les connexions/deconnexions. (3 par défaut) nickmarker Mettre cette option à false désactivera la colorisation des pseudonymes. (true par défaut) clock Mettre cette option à false désactivera l'affichage de la date et de l'heure. (true par défaut) openlinknewwindow Mettre cette option à true permettra d'ouvrire les liens des convertations dans une nouvelle fenêtre. Techniquement cela rajoute l'attribut target="_blank" dans la balise du lien. (true par défaut) showwhosonline Permet de cacher/montrer la liste des utilisateurs connectés lors du premier affichage du chat. Utilisez btn_sh_whosonline pour désactiver complètement la possibilité de voir la liste des pseudonymes. (true par défaut) showsmileys Permet de cacher/montrer la liste des smileys lors du premier affichage du chat. Utilisez btn_sh_smileys pour désactiver complètement la possibilité de voir la liste des smileys. (true par défaut) btn_sh_whosonline Permet de cacher ou montrer le bouton showwhosonline (celui qui permet de cacher/montrer la liste des pseudonymes) (true par défaut) btn_sh_smileys Permet de cacher ou montrer le bouton showsmileys (celui qui permet de cacher/montrer la liste des smileys) (true par défaut) themeurl Permet de spécifier l'url à utiliser pour acceder aux themes (très utile pour la réécriture d'url) (ce paramètre est automatiquement calculé en fonction de themepath themepath Le chemin vers les themes. Les sous répertoires sont les différents thems disponibles. (dirname(__FILE__)."/../themes" par défaut) theme Ce peramètre permet de spécifier quelle theme utiliser. La liste des themes possible sont les nom des sous répertoires de themepath. ("default" par défaut) language Permet d'afficher le chat dans une langue donnée. Les valeurs possibles sont les nom des sous répertoires de i18n. (par défaut la langue est celle du serveur qui héberge le chat) output_encoding Permet de spécifier l'encodage à utiliser pour afficher les labels. Concretement ce paramètre doit correspondre à l'encodage de la page Web contenant le chat. (par défaut UTF-8, c'est à dire aucun transcodage car les messages sont stoqués en UTF-8 par défaut) container_type Permet de spéficier le conteneur à utiliser. Pour le moment, seul le conteneur File (système de fichier) est disponible mais dans le future de nombreux conteneurs existerons surrement (mysql, irc, msn, jabber...). ("File" par défaut) server_script_path et server_script_url Ces paramètres permettent de spécifier un script externe qui sera chargé des communication client/serveur du chat. Ce paramètre est très utile lorsque le script du chat (client) consomme beaucoup de ressources (voyez la demo3 pour un exemple concret). Le premier paramètre spécifie l'endroit du fichier lui même, le second paramètre indique l'url où est situé le fichier (utile pour la réécriture d'url) (par défaut on utilise le même scripte que le script client pour les communications) client_script_path et client_script_url Ces paramètres sont utilisés pour spécifier le chemin du script qui va afficher le chat (script client). Ces options peuvent être utile lorsque la configuration du serveur est peu commune. Le premier paramètre spécifie l'endroit du fichier lui même, le second paramètre indique l'url où est situé le fichier (utile pour la réécriture d'url) (par défaut pfc va essayer d'auto-detecter le script client en fonction des variables globales du serveur) useie7 Mettre ce paramètre à false désactivera l'ajout des scripts IE7[26] permettant un meilleur affichage dans Internet Explorer. (true par défaut) ie7path Spécifie le répertoire vers la librairie IE7. Ce paramètre est utile si vous avez déjà installé une librairie smarty et que vous voulez économiser des octets sur votre serveur. (dirname(__FILE__)."/../lib/IE7_0_9" par défaut) jspath Spécifie le répertoire vers les librairies javascript (md5, cookie ...). (dirname(__FILE__)."/../lib/javascript" par défaut) usecsstidy Mettre ce paramètre à false désactivera l'utilisation de la librairie CSSTidy utilisée pour optimiser (en taille) la génération des CSS. (false par défaut car sur certains serveur la librarie CSSTidy pose des problèmes) csstidypath Spécifie le répertoire vers la librairie CSS Tidy[27]. Ce paramètre est utile si vous avez déjà installé une librairie csstidy et que vous voulez économiser des octets sur votre serveur. (dirname(__FILE__)."/../lib/csstidy-1.1" par défaut) xajaxpath Spécifie le répertoire vers la librairie xajax[28]. Ce paramètre est utile si vous avez déjà installé une librairie xajax et que vous voulez économiser des octets sur votre serveur. (dirname(__FILE__)."/../lib/xajax_0.2_stable" par défaut) data_private_path Ce répertoire est utilisé pour stoqué les données du chat ainsi que les templates compilés de smarty. Astuce: vous pouvez optimisez les performances coté serveur en spécifiant un répertoire en mémoire vive (RAM disk, tmpfs), voyez cette section dans la FAQ[29]. (dirname(__FILE__)."/../data/private" par défaut) data_public_path et data_public_url Ce répertoire doit être impérativement accessible par votre serveur Web. Les scripts IE7 et xajax necessaires au chat y seront stockés. Le premier paramètre indique le répertoire absolue au niveau système de fichier, et le second indique l'url pour y acceder depuis le navigateur (utile pour la réécritude d'url) (dirname(__FILE__)."/../data/public" par défaut, data_public_url lui est calculé automatiquement) debug Cette option est très utile pour les développeurs. La mettre à true va activer les messages de log et la console de debug. (false par défaut) debugxajax Cette option est très utile pour découvrire les bug cachés (warning php lors d'une requete xajax par exemple) . Mettre cette option à true va activer les popup javascript de xajax pour tracer la communication client/serveur. (false par défaut) prefix Ce prefix est utilisé pour chaques fonctions javascript, chaque id CSS et chaques classes CSS de façon à éviter les recouvrements de variables entre phpfreechat et votre site web. ("phpfreechat_" par défaut) RSS[30] Valid XHTML 1.0![31] Valid CSS![32] Created with Amaya[33] ©2006 phpFreeChat -------------------------------------------------------------- List of References Document's URL: http://www.phpfreechat.net/install.fr.html style/generic.cssstyle/header.cssstyle/footer.cssstyle/menu.cssstyle/content.cssstyle/install.css [1] install.en.html [2] install.fr.html [3] install.ar.html [4] news.fr.html [5] overview.fr.html [6] demo.fr.php [7] screenshot.fr.html [8] download.fr.html [9] whouses.en.html [10] faq.fr.html [11] contact.fr.html [12] partners.fr.html [13] forum/ [14] install.fr.html [15] customize.fr.html [16] requiredconfig.fr.html [17] roadmap.fr.html [18] buglist.fr.html [19] changelog.fr.html [20] contributions.fr.html [21] http://www.phpfreechat.net [22] http://www.hotscripts.com/?RID=N452772 [23] download.en.html [24] download.en.html [25] faq.fr.html#multiple-channels [26] http://dean.edwards.name/IE7/ [27] http://csstidy.sourceforge.net/index.php [28] http://www.xajaxproject.org/ [29] faq.fr.html#tmpfs [30] forum/extern.php?action=active&type=RSS&fid=7 [31] http://validator.w3.org/check?uri=referer [32] http://jigsaw.w3.org/css-validator/check/referer [33] http://www.w3.org/Amaya