Module de Chat
dragontribal
dragontribal

Module de Chat

dragontribal 22
12/15 16:57
#1
dragontribal 22
12/15 16:57
Bonjour,

Je travaille actuellement sur un module de chat pour XOOPS et je voulais partager avec vous l’avancement ainsi que quelques images du chat en question. À ce stade, seule la section de chat privé entre utilisateurs est fonctionnelle.

Cependant, j’ai l’intention d’ajouter une section publique qui permettra d’interagir avec les utilisateurs en ligne connectés sur un site XOOPS.

Je ne suis pas certain de l’utilité générale d’un tel module, mais je n’ai pas trouvé de module de chat en temps réel déjà existant pour XOOPS. Si cela vous intéresse, je serais ravi d’avoir votre avis sur les fonctionnalités ou des suggestions d’amélioration.

Qu’en pensez-vous ?

1. Fonctionnalités principales :

Chat en temps réel :
Envoi et réception instantanée des messages via WebSocket.
Détection des utilisateurs en ligne, mise à jour dynamique de la liste d'amis connectés.
Indicateur d'activité "en train d'écrire", affiché en temps réel dans le chat de l'autre utilisateur.

Gestion des messages :
Support des messages texte, des smileys, et des fichiers images.
Les smileys sont intégrés via des codes comme :smiley_1:, automatiquement transformés en images.
Validation des messages avec une limite de 1000 caractères, bloquant l'écriture au-delà.
Sauvegarde des messages dans la base de données MySQL.

Interface utilisateur intuitive :
Fenêtres de chat détachables et redimensionnables.
Défilement automatique vers le dernier message à l'ouverture d'une discussion.
Gestion ergonomique des zones de texte et des boutons d'action.

2. Points techniques importants :

Architecture backend :
Serveur WebSocket basé sur Ratchet pour une communication bidirectionnelle en temps réel.
Gestion des connexions et des déconnexions avec mise à jour automatique des utilisateurs en ligne.
Diffusion ciblée des messages et des notifications ("en train d'écrire", "stop typing").

Frontend dynamique :
Utilisation de JavaScript pour ouvrir les fenêtres de chat, gérer les interactions utilisateur, et envoyer les données au serveur.
Intégration d'un observer pour garantir le défilement automatique des messages lorsque de nouveaux contenus sont ajoutés.

Base de données :
Les messages sont enregistrés avec les champs sender_id, receiver_id, message, et created_at.
Gestion des utilisateurs connectés via des données de session.

Resized Image
Resized Image


Resized Image
Resized Image
Re : Module de Chat
Alain T
Alain T

Re : Module de Chat

Alain T 770
12/15 17:16
#2
Alain T 770
12/15 17:16
Gestion des droits sur ton module ?
Re : Module de Chat
dragontribal
dragontribal

Re : Module de Chat

dragontribal 22
12/15 17:24
#3
dragontribal 22
12/15 17:24
sur la parie chat entre deux utilisateurs il n'y a pas de droit spécifique.
mais il va y avoir une partie de gestions des messages dans la partie Administration du site oui. Surtout pour la section publique.
Re : Module de Chat
dragontribal
dragontribal

Re : Module de Chat

dragontribal 22
2/19 15:56
#4
dragontribal 22
2/19 15:56
Bonjour à tous,

Je tiens à partager l'avancement du module de chat que je développe actuellement pour XOOPS. Voici les principales fonctionnalités déjà implémentées et les améliorations récentes :
Fonctionnalités principales :

Chat privé et salons publics :
Gestion des conversations privées entre utilisateurs.
Salons de discussion publics avec une liste des participants en ligne.
WebSocket en temps réel :
Envoi et réception instantanés des messages.
Affichage dynamique des nouveaux messages sans rechargement de la page.
Gestion des utilisateurs en ligne :
Affichage de la liste des utilisateurs en ligne dans les salons.
Mise à jour automatique des statuts de connexion.

Améliorations récentes :

Formatage des messages :
Conversion automatique des URLs en liens cliquables sous la forme de "Lien Web".
Affichage des smileys sous forme d'images.
Prise en charge des images envoyées avec un aperçu et un lien vers l’original.
Correction de bugs :
Problème de stockage et de récupération des pseudos dans les salons.
Correction des URLs stockées en brut dans la base de données.
Optimisation de l'enregistrement des messages contenant à la fois texte et images.
Amélioration de la gestion des fichiers :
Gestion des uploads d’images dans les salons avec stockage et affichage correct.
Création d’un système plus robuste pour éviter les doublons et erreurs de format.

Prochaines étapes :

Ajout d’une gestion avancée des salons (création de salons personnalisés, permissions, etc.).
Intégration d’un système de notifications pour informer les utilisateurs des nouveaux messages.
Amélioration du design et des interactions utilisateur.

Le module commence à être fonctionnel et stable, avec une expérience utilisateur fluide et un rafraîchissement en temps réel efficace.

Je suis preneur de vos retours, suggestions et idées d’amélioration.
Re : Module de Chat
Alain T
Alain T

Re : Module de Chat

Alain T 770
2/26 9:00
#5
Alain T 770
2/26 9:00
Salut,
as tu des infos sur les limitations, sur la charge ?

Faut-il un serveur dédié pour cela ?
Le serveur supporte t'il une charge de plus de 30 chateurs en temps réel, par exemple ?
Re : Module de Chat
dragontribal
dragontribal

Re : Module de Chat

dragontribal 22
3/10 12:41
#6
dragontribal 22
3/10 12:41
Salut Alain T,

Le module de chat que je développe sur XOOPS repose sur WebSockets, ce qui le rend bien plus performant que les solutions basées uniquement sur AJAX ou des requêtes fréquentes en HTTP.

Le module peut supporter plusieurs dizaines de chateurs en simultané sans problème (Voir + de 100), tant que le serveur est bien configuré.

Faut-il un serveur dédié ?

Pas forcément. Tout dépend des ressources du serveur. Un VPS bien configuré peut suffire.
Ratchet (mon serveur WebSocket) est optimisé pour une gestion fluide des connexions simultanées.

Comme je suis seul sur le développement et que je ne dispose que d'un serveur dédié, j'aurais besoin de testeurs pour identifier d’éventuels problèmes, repérer des bugs et proposer des améliorations. Mon objectif est de rendre le chat fonctionnel sur un maximum de serveurs possible.
Mais pour le moment je suis toujours sur la fin de création, et allège le script.
Avec son lot de bug par moment
Mon point faible reste le graphisme... Je suis vraiment nul en CSS !

Critères importants :

CPU : Un processeur performant (au moins 2 à 4 vCPU) est recommandé.
RAM : Minimum 2 à 4 Go de RAM pour 30+ utilisateurs actifs.
Bande passante : Essentielle pour un bon débit des messages en temps réel.
Re : Module de Chat
Alain T
Alain T

Re : Module de Chat

Alain T 770
3/10 13:54
#7
Alain T 770
3/10 13:54
Quote:

Mon point faible reste le graphisme... Je suis vraiment nul en CSS !
Hello,
pourtant, CSS ça ne veut pas dire :
Création Super Simple ?
Si tu as un lien public...
Ou sinon en MP le lien.
Re : Module de Chat
dragontribal
dragontribal

Re : Module de Chat

dragontribal 22
3/10 20:57
#8
dragontribal 22
3/10 20:57
Je vais modifier certains fichiers pour permettre à ceux qui le souhaitent, tout comme toi, d’installer le module sur leur propre serveur. Pour l’instant, il est configuré pour fonctionner uniquement en localhost sur mon serveur.

Je vais également ajouter un fichier de configuration à l’installation, car mainfile.php ne fonctionne pas bien avec WebSocket.

À noter que je suis encore en phase de développement, donc il peut y avoir des bugs et instabilités.

Actuellement, je travaille sur plusieurs aspects en même temps, notamment :
✔ Un système de monitoring dans la partie administrateur.
✔ L’amélioration de la section maintenance.php, notamment la gestion des utilisateurs fantômes.
✔ L’optimisation du chat privé et public, car à chaque correction de bug, de nouveaux problèmes apparaissent au fur et à mesure de l’avancement.

Il reste encore pas mal de boulot, mais j’avance progressivement !
Re : Module de Chat
dragontribal
dragontribal

Re : Module de Chat

dragontribal 22
3/10 21:47
#9
dragontribal 22
3/10 21:47
Resized Image
Re : Module de Chat
Alain T
Alain T

Re : Module de Chat

Alain T 770
Yesterday 9:26
#10
Alain T 770
Yesterday 9:26
Nous n'installerons pas de module de chat sur notre serveur.
L'une des raisons, mais ce n'est pas la seule, est la cible.

Je pense que pour un site sportif ou associatif où les gens se connaissent IRL (dans la vraie vie), cela peut apporter un peu de vie, de proximité mais ici non, nous ne souhaitons pas faire du support en live, si tu vois ce que je veux dire !