Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.0 - Qt Creator : 4.3.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

Une appli de chat a plusieurs avec partage de ressources : ChatTabs

Bonjour

Je vais vous présenter une application que l'on a développé pour nos besoins internes : "ChatTabs"

On avait besoin d'une application qui nous permet de chatter ensemble et de s'echanger des documents, des images, des liens vers des sites web ...
De plus on était plusieurs sur le même "chat" mais pas forcement interessés par tout les sujets et donc on ne voulait pas être pollué par les messages qui nous interessaient pas.

L'application présentée ci dessous a été entièrement développée en Qml sous Zeecrowd.

On a donc un chat "normal" à plusieurs avec la possibilité de créer un "Tab" supplémentaire (nouveau sujet de discussion)

image

On peut ajouter un fichier qui se trouve sur son ordinateur, et tout les particpants peuvent le visualiser en cliquant dessus.

image

On peut aussi ajouter une Url et tout les participants peuvent la visualiser

image

Si dans son "clipboard" on a un contenu (image, texte, ...) : le bouton "Paste" les ajoute dans le "chat" en reconnaissant si c'est une image ou du texte : c'est comme cela que l'on s'échange des portions de log ou de captures d'écrans.

image

Beaucoup d'autres choses restent à faire (notamment le design :-)) mais on a déjà les bases d'une application de chat à plusieurs avec partage de ressources.
Nous avons investi très peu de temps pour faire ce premier jet (quelques jours)
On se pose actuellement la question de livrer les sources de cette application dans github et ainsi de la faire évoluer dans le monde libre :-)

Pensez vous que cela serait intéressant ?

Meilleurs Voeux

Réponses

  • IMPRESSIONNANT coté fonctionnalités mais par contre coté couleurs, heu, il y a encore un peu de travaille ;)

    Si tu le mets en open source, wahouuuu...
  • Bonjour et merci

    Bon effectivement on est pas trop des designers et pour les couleurs ça fait un peu sapin de noël ]:D . Si un designer se sent d'attaque pour contribuer c'est avec plaisir :-)
    Ce qui est important c'est que l'on a couvert pas mal des fonctionnalités de Line en quelques jours et une quinzaine de fichiers Qml.
    C'est aussi le but de Zeecrowd : écire les fonctionnalités de collaboration rapidement sans ce soucier des problèmes de messages, notifications, stockages ...

    On va surement passer le code de ChatTabs en open source mais je ne sais pas encore sous quelle forme ... (je ne suis pas familier de l'open source)
    Mais encore faudrait il que cela intéresse des développeurs alors j'attend un peu le retour de la communauté Qt.

    Sinon (pour des besoins de notre projet) on a codé en Qml sous Zeecrowd un équivalent à DropBox mais j'en parlerai dans un prochain Post.

    Dans l'attente de vos commentaires :-)
  • Bonjour,

    Vraiment sympa ce projet ! J'en développe un assez similaire mais il est encore beaucoup moins mature.
    Pour l'open source, la seule chose à faire est d'ajouter, au début de chaque fichier, un en-tête précisant quelle licence est choisie, la plus classique est GPL, mais il y en a d'autres plus ou moins restrictives comme la LGPL ou Creative Commons. Mon projet est en Creative Commons pour en interdire l'usage commercial, je ne sais pas si c'est une bonne idée avec du recul, cette question demande donc effectivement réflexion.

    Bon courage, je suis ce projet de près, n'hésite pas à poster un exécutable ou des sources comme d'autres projets sur ce forum.
  • Bonjour

    On va prendre la license GPL la plus classique je pense.

    En ce qui concerne l'executable il est déjà disponible sous Windows.
    Tu télécharges Zeecrowd a l'adresse suivante http://www.zeecrowd.com/
    Le GetStarted se trouve ici : http://www.zeecrowd.com/developers/

    Et pour finir dans ton crowd tu ajoutes ChatTabs depuis AppStore.

    Aprés quelque retours d'utilisateur je suis en train de réfléchir à intégrer Mumble ...

    PS : si quelqu'un a déjà créér un client Mumble pour windows je serai preneur de son experience sur le sujet :-)
  • January 2014 modifié
    Bonjour

    Ca y est les source de ChatTabs sont ici : https://github.com/zeecrowddev/ChatTabs
    Les sources sont sous license BSD alors c'est open :-)

    ils ont été posés tel quel alors un peu d'indulgence svp :-)
    Le code nécessite surement un grand refactoring et les API de ZcClient ne sont pas toute documentée sur snotre site (en cours).

    En revanche il est nécessaire de lire le premier Tutoriel "Hello world" avant de comprendre ChatTabs. Tout est en place pour créer
    le .rcc et .cfg nécessaire.

    N"hésitez pas à me poser des questions et à contribuer à l'amélioration de cette application.

    zeecrowddev
  • Bonjour,

    Voici un petit brouillon en PDF concernant ma vision de l'application, enfin surtout une petite base. http://forum.qtfr.org/img/members/146729/ChatTabs.pdf

    Je n'ai pas trop détaillé mais si ma vision de l'appli vous plait je prendrai le temps de définir chaque mécanisme(notamment l'encapsulation des canaux, les notifications et les flux audio/vidéo).

    Bonne journée :).
  • Bonjour

    Merci pour ces réflexions et voici quelques retours et précisions :

    La zone 4 existe déjà. Pour chaque activité dans Zeecrowd on voit déjà les particpants.
    Un menu contextuelle sous forme de tuile peut être associé à chaque participant en fonction de l'activité en cours
    (je détaillerai cela plus tard dans les API, le met dans la longue TODO :-))

    Les canaux de discussion c'est exactement ça. Ils sont nommés pour eviter de perdre le fil d'une discussion.
    A chaque fois qu'un sujet émerge on créé un canal de discussion sur ce sujet.
    En revanche je ne suis pas pour les canaux privés. Ce n'est pas le principe de base d'un crowd. Au sein d'un Crowd tout les membres ont ensemble accés aux mêmes informations.
    Il existe en revanche déjà au sein de Zeecrowd la possibilité de faire un chat privé un-un et je pense que cela suffit.
    Par contre il serait bien effectivement bien de pouvoir enlever un canal de discussion clôt, et même en temps que participant ne pas être notifié sur les discussions qui ne nous interresent pas.
    Donc j’enlèverai le type et la liste des utilisateurs de le définition d'un canal.
    Le clignotement du canal et sa couleur : ok. il vient en plus du système actuel qui indique déjà combien de messages on a raté.

    Comme tu le montres la zone d'édition doit être en effet plus grande et être plus riche en terme de possibilité d'ecriture. Il manque aussi les classiques emoicones.
    Le menu à sa droite est une très bonne idée.

    Le delegate associé a chaque message a besoin d'un sérieux relooking (comme tout le reste d'ailleurs) et oui effectivement une vision SMS au début serait plus visuel.


    Ca fait beaucoup de chose tout cela. Notre petite équipe est en mode agile. Cela veut dire entre autres que l'on ne s'embarque pas dans de gros tunnels de developpement.
    On code un truc rapidement mais qui a de la valeur (pas besoin de specs). On regarde ce que cela donne. Et on avance comme cela petit à petit.
    L'avantage c'est que l'on a à tout moment quelques qui marche et qui a de la valeur pour un utilisateur.

    Dans un premier temps je pense qu'il faudrait d'abords donner une âme à l'application avec un logo et revoire déja le look générale de l'application en gardant les mêmes fonctionnalités mais en plaçcant
    les élément dans leurs espace cible.

    En avançant petit à petit on va se rendre compte qu'il manque des API Zeecrowd et on va les exposer petit à petit.

    Je rappel que les sources sont ici : https://github.com/zeecrowddev/ChatTabs

    Et surtout ne vous privez pas de faire des modifications :-)

    Si le sens de l’application ChatTabs ne vous convient pas le fork est possible : tout est en License la plus libre possible ...

    Pour répondre à ta question : globalement ta vision de l'application me convient mais mieux vaut du code qu'une longue spécification ]:D
    Je reste à ta disposition si tu as des soucis pour faire tourner ChatTabs et le modifier sur les serveurs de TEST.

    Cordialement
  • February 2014 modifié
    Bonjour

    ChatTabs , un petit relooking et passage aux dernières interface de ZeeCrowd.
    Et toujours en Qml :-)
    Comme un bon schéma vaut mieux qu'un long discours :

    image

    Les sources sont toujours ici sous GitHub : https://github.com/zeecrowddev/ChatTabs

    Toute contribution est la bien venue :-)

    Bonne lecture.

    PS : je vous conseil aussi cette lecture pour se partager un modèle dans ZeeCrowd :
    http://www.zeecrowd.com/fr/developers/tutorial/400
  • Bonjour,

    De petites améliorations à l'application ChatTabs ont été ajoutées :

    - Ajout au niveau de la WebView associée au ChatTabs :

    [list=*]
    [*]Des boutons de navigation classiques Forward et Backward [/*]
    [*]De l'adresse de navigation courante[/*]
    [*]Possibilité de renvoyer l'adresse de navigation courante dans le "chat"[/*]
    [/list]


    image



    - Ajout des fonctionnalités suivantes sur le visualiseur des images du "chat" :


    [list=*]
    [*]"dowloader" l'image courante sur son disque local[/*]
    [*]Copie dans le presse-papier de l'image courante[/*]
    [/list]

    image



    La gestion du "clipboard" est assurée par l'objet QClipboard exporté en Qml
    En ce qui concerne la Webview, rien de magique tout existe déjà de base en Qml :-)
    Sinon le "download" est assuré par l'API de Zeccrowd ...

    Bonne soirée

    PS: les sources en Qml https://github.com/zeecrowddev/ChatTabs
  • Bonjour

    Je me suis essayé au GrabWindow ...
    Il est maintenant possible dans la WebView de sélectionner une portion de l'image écran.
    Une fois sélectionné , on peut en créer une image qui est automatiquement ajoutée au fil du chat.

    image

    Si cela intéresse quelqu'un je publierai le code du Grab (Exportation du GrabWindow c++ vers Qml)

    Sinon j'ai essayé aussi le générateur de site Web de gitHub. C'est pratique une fois "commité" la page Web se met automatiquement à jour.
    un petit essai naïf : http://zeecrowddev.github.io/ChatTabs/ ]:D

    Bonne soirée
  • Bonjour

    Ca y est le scroll automatique en fin à l'ajout d'un message fonctionne :-)

    Bon un petit retour quand même du problème :

    Pour une raison qui m'échappe j'avais le code suivant :

    ScrollView
    {
    ....
    Component.onCompleted:
    {
    chatTabs.flickableItem.contentY = height
    }
    ....
    }
    Mais depuis Qt 5.3 ScrollView.flickableItem est devenu "ReadOnly" ce qui soit dis en passant ne servait à rien dans mon programme ]:D
  • December 2015 modifié
    Bonjour,

    On a gardé toutes les même fonctionnalités mais le design a été revu pour s'adapter au mobile.
    Ah si une nouveauté quand même : toutes les ressources utilisée lors du chat sont supprimées dés que plus personne est sur le ChatTabs.
    C'est toujours que du Qml et les sources sont toujours sous github : https://github.com/zeecrowddev/ChatTabs

    image image image

    Bonne soirée
Connectez-vous ou Inscrivez-vous pour répondre.