SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

290 Plugins, 198 contribs sur SPIP-Zone, 94 visiteurs en ce moment

Accueil > Interactivité, échanges > Chat - tchat > Chatbox > Chatbox

Chatbox

4 novembre 2014 – par g0uZ – commentaires

7 votes

Ce plugin permet de mettre en place facilement une « chatbox » permettant à un visiteur authentifié de SPIP de laisser un message.

Principe

Une chatbox est une sorte de mini chat, avec deux différences majeures :

  • Les messages sont persistants (un nouveau venu peut voir votre message d’il y a 1h)
  • Il n’y a pas de liste des personnes connectées

Installation

Le plugin s’installe de manière classique.

Comment ça marche ?

Le plugin gère 1 table :

  • CHATBOX_MESSAGES : qui contient les messages enregistrés par visiteur, avec les champs suivant :
    • #ID_CHATBOX_MESSAGE : l’identifiant du message
    • #ID_AUTEUR : identifiant de l’auteur du message
    • #MESSAGE : le message
    • #DATE : la date d’enregistrement
    • #LANG : la langue du message
    • #STATUT : statut de publication du message

Vous pouvez afficher le contenu de cette table via les BOUCLEs de SPIP.

Mise en œuvre

Les éléments SPIP suivant sont disponibles pour mettre en œuvre votre « chatbox » sur votre site :

  • un formulaire CVT #FORMULAIRE_CHATBOX permettant d’enregistrer un message
  • un exemple de modèle permettant d’afficher la liste des messages enregistrés

Exemple d’utilisation

Afficher le formulaire permettant l’enregistrement d’un message :

  1. [(#SESSION{id_auteur}|oui)
  2.     <h1><:chatbox:chatbox:></h1>
  3.     <div class="ajax">[(#FORMULAIRE_CHATBOX)]</div>
  4. ]

Télécharger

NotaBene :
Ce formulaire peut être inclus dans une noisette utilisant le critère {ajax}.
Cette noisette peut être chargée avec la médiabox SPIP.

Afficher la liste des 5 derniers messages enregistrés :

  1. [(#CACHE{0})]
  2. <B_chat_box_archive>
  3.     [(#ANCRE_PAGINATION)]
  4.     <ul>
  5.         <BOUCLE_chat_box_archive(CHATBOX_MESSAGES){par id_chatbox_message}{pagination 4}{inverse}{0,20}{lang}>
  6.             <li>
  7.                 <span>[(#ID_AUTEUR|afficher_avatar{'',50})]</span>
  8.                 <span>
  9.                     [(#ID_AUTEUR|colore_user{#LANG})]<br/>
  10.                     [(#DATE|affdate)]&nbsp;<:a:>&nbsp;[(#DATE|affdate{"H:i"})]
  11.                 </span>
  12.                 <div class="clearfix"></div>
  13.                 <br/>
  14.                 <p>[(#MESSAGE|PtoBR|liens_ouvrants|lignes_longues{30})]</p>
  15.             </li>
  16.         </BOUCLE_chat_box_archive>
  17.     </ul>
  18.     [(#PAGINATION{precedent_suivant})]
  19. </B_chat_box_archive>

Télécharger

Édition dans l’espace privé

Lors de l’activation du plugin, une nouvelle entrée « chatbox messages » est créée dans le menu « Édition ». Elle permet notamment d’afficher la liste des messages enregistrés, gérer leur contenu et leur statut de publication.

Exemple d’utilisation

Un exemple d’utilisation est disponible à cette adresse (la chatbox est disponible dans le menu situé à droite) :
http://www.root-me.org/fr/Challenges/

Voir en ligne : http://plugins.spip.net/chatbox

Dernière modification de cette page le 30 novembre 2015

Retour en haut de la page

Vos commentaires

  • Le 18 juin 2015 à 23:50, par Beurt En réponse à : Chatbox

    Salut,

    J’aimerai bien reprendre ton plugin pour y rajouter une fonctionnalité : le chat avec une personne déterminée ou un par groupe (avec plusieurs interlocuteurs)

    Est-ce que tu vois un inconvénient que je fasses une branche sur la zone pour essayer de travailler à ça ? (bon c’est un projet... ça ne va pas être rapide)

    L’idée est de créer deux nouvelles colonnes dans la table : id_destination et type_destination qui désigne soit l’id_auteur de destination, soit l’id_groupe de destination (et donc le type sera auteur ou groupe), et d’ajouter une table groupe_chat qui sera « joiunturée » avec spip_auteurs_liens.

    Ça devrait rester compatible avec l’existant...

    • Le 19 juin 2015 à 11:32, par Beurt En réponse à : Chatbox

      En regardant mieux, je vois qu’en fait l’un des plugins-dist correspond plus à mon besoin : organiseur et sa messagerie interne. Ce plugin permet déjà les messages entre rédacteurs (un ou plusieurs). je vais donc repartir sur cette base plutôt que Chatbox que ça risque de complexifier pour rien !

    Répondre à ce message

  • Le 19 novembre 2014 à 14:24, par casp En réponse à : Chatbox

    Bonjour, je cherchais justement un outil pour faire des débat et conserver le contenu de celui ci en ligne. C’est parfait, merci pour le plugin.
    la seul chose qui est dommage c’est la nécessité d’être connecté, n’y aurait il pas moyen de donner un accès simplifier au visiteur de passage ?

    • Le 19 novembre 2014 à 14:32, par casp En réponse à : Chatbox

      Et une question subsidiaire, est ce qu’un visiteur lambda, vois la conversation en live apparaître comme dans un vrai chat ? Ou il doit rafraichir la page à chaque fois pour voir les nouveaux message ?

    • Le 8 décembre 2014 à 17:21, par g0uZ En réponse à : Chatbox

      Oui, mais ca dépend de l’implémentation que tu réalises. Le bloc listant les messages peut être rafraichi via AJAX une fois le message posté.

      Pour moi ce que tu souhaites s’appel simplement IRC ;-)

    Répondre à ce message

  • Le 19 novembre 2014 à 15:27, par g0uZ En réponse à : Chatbox

    Et une question subsidiaire, est ce qu’un visiteur lambda, vois la conversation en live apparaître comme dans un vrai chat ? Ou il doit rafraichir la page à chaque fois pour voir les nouveaux message ?

    Cela dépend de l’implémentation que tu en feras. Sur l’exemple d’utilisation donné il faut cliquer sur un lien/bouton pour rafraichir la conversation ; mais rien ne t’empêche d’utiliser un bout de javascript pour rafraichir la noisette qui affiche les messages toutes les X secondes.

    • Le 21 novembre 2014 à 17:01, par casp En réponse à : Chatbox

      Ok merci, je vais faire ainsi.

      Je me pose quand même une question alors ; si j’ajoute du javascript ainsi, quel différence y aurait il, si je faisait la même chose simplement sur une noisette forum avec modération à posteriori ?

      Est ce que je n’obtiendrais pas quasiment le même résultat, mais sans nécessité d’inscription cette fois ci ?

    • Le 21 novembre 2014 à 18:00, par g0uZ En réponse à : Chatbox

      C’est très juste, il reste le titre comme différence, mais tu dois pouvoir le remplir facilement avec du « garbage ». Un forum est également lié à un article et ne « possède pas » de gestion du multilinguisme.

    Répondre à ce message

Répondre à cet article

Qui êtes-vous ?

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Plugins Giseh

    26 novembre 2010 – 457 commentaires

    Les plugins correspondants aux fonctionnalités de Giseh, compatibles avec SPIP 3.2, SPIP 3.0 (et SPIP 2.1) et compatibles (sous SPIP 3.2) avec PHP 7.0 et 7.1, sont les suivants : le plugin « ciparam : Configurateur de squelettes » le plugin « cisquel  (...)

  • Saisies

    27 mars 2010 – 515 commentaires

    Introduction Créer un formulaire est une tâche toujours un peu répétitive : les champs ont souvent les mêmes propriétés, le même accompagnement (message d’erreur, explication, ...) et la même structure HTML. Ce plugin est un outil pour les développeurs (...)

  • Créer un modèle permettant de calculer l’âge automatiquement

    18 février 2015 – 22 commentaires

    Pouvoir calculer un âge et afficher le résultat automatiquement dans un article, un titre, une brève, etc. L’âge est mis à jour dynamiquement et automatiquement. Cet article vous explique pas à pas comment y arriver. Pré-requis : (conseillé) (...)

  • Tutoriel : créer une carte interactive avec GIS4

    19 octobre 2013 – 33 commentaires

    Utilisation de quelques fonctions javascript pour créer des interactions avec une carte GIS. L’objet de ce tutoriel est de produire une carte interactive. Effacer tous les points d’une carte La fonction javascript removeAllMarkers() permet (...)

  • Configurer Sparkpost

    25 avril 2016 – 27 commentaires

    N’hésitez pas à relire le préambule de cette rubrique avant de créer un compte sur une plateforme tierce . Présentation Sparkpost est une société d’envoi de mailing https://www.sparkpost.com/ Sur les petits volumes ( <100.000 emails / mois), (...)