Module de Chat
dragontribal
dragontribal

Module de Chat

dragontribal 19
15/12 16:57
#1
dragontribal 19
15/12 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.

Image redimensionnée
Image redimensionnée


Image redimensionnée
Image redimensionnée
Re : Module de Chat
Alain T
Alain T

Re : Module de Chat

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

Re : Module de Chat

dragontribal 19
15/12 17:24
#3
dragontribal 19
15/12 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 19
19/02 15:56
#4
dragontribal 19
19/02 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.