Creer un messenger libre sur son site

Ancien Utilisateur
Invité n'ayant pas de compte PHPfrance

12 janv. 2017, 09:32

Bonjour,

Je recherche a faire un systeme de messenger comme facebook pour mon site web.

Hors je ne trouve que des codes payants dépassants les 50€ et ce ne sera pas pour une utilisation pro.

Je n'ai pas besoin de conference webcam et de toutes les options fournies pas ces services payants.

Je souhaite juste une liste de contact et qu'ils puissent converser dans une petite chatbox.

Merci de bien vouloir m'aiguiller.

Cordialement.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

12 janv. 2017, 11:02

salut,

cherche des tuto de "t'chat" en php sans base de données (si tu ne souhaites pas d'historisation, si tu le souhaites il faut juste ajouter une insertion en base lorsque l'on envoi un message
il faut trois table tables
- conversation : id_conversation, id_membre (le membre qui débute la conversation)
- participants : id_conversation,id_membre c'est la clef primaire : cela permet de retrouver tout les gens qui participe à une conversation simplement (l'autre c'est un select distinct sur la troisième table, les deux sont jouable)
- messages : id_message, id_conversation, id_membre, date_message, le_message
l'id du membre c'est l'id de celui qui créé le message cela permette, par exemple, un code couleur, un affichage droite / gauche etc.

il existe en gros deux façon faire.
dans les deux il faut une table avec les gens / membres / utilisateurs (qui sert aussi à l'authentification tant qu'a faire ;) )
une table avec les relations entres membres "les amis" (deux colonne toutes deux clefs étrangères de la table des membres (qui forment la clef primaire de cette table).

pour afficher la liste des copains il 'suffit' de faire une requête sur la seconde table avec jointure(s) sur la table membre (avec un where pour avoir que ses amis a sois).
ensuite tu clic sur membre pour ouvrir une fenêtre et lancer une discutions.

petit problème, comment savoir que l'on reçois un message ?
deux solutions :
une requête JS régulière pour voir si on a de nouveau(x) message(s) (pas instantané)
les websockets ("instantané")

dans tout les cas il faut du javascript, un framework devrait te simplifier la vie.

y a pas mal de piste de recherche :)

@+
Il en faut peu pour être heureux ......

Ancien Utilisateur
Invité n'ayant pas de compte PHPfrance

12 janv. 2017, 13:00

Bonjour à toi moogli.
J'ai déjà une bonne base au final, je ne suis pas loin pour le faire moi même mais un framework est plus ce que je recherche.

Mais vu que j'ai tout codé sur mon site autant que j'essaie aussi de faire ceci, ce n'est pas sorcier mais je galère vraiment avec la logique des tables :/