kwak.io

le retour

L'auteur de ce sujet a trouvé une solution à son problème.
Staff
Auteur du sujet

Bonjour,

Je suis victor. 'nuff said.

Aujourd'hui, je suis ravi de vous présenter kwak.io. Oui, le nouveau kwak. Le kwak nouveau est arrivé. Oui, j'ai pivoté.

En savoir plus sur le projet

Genèse

Vous souvenez-vous de Caramail ? De Yahoo Chat! ? De la bonne époque aujourd'hui révolue des chatrooms, qui faisaient rage de 2000 à 2005 ?

Peut-être pas tous, vu le parfois jeune public du site, je m'en doute. Mais l'idée reste : à part IRC - et dieu sait qu'IRC est moribond de nos jours - il n'y a plus de chatrooms sur le net.

Pourquoi kwak ? Parce que c'est le bruit du canard en anglais.

Généralités et avancement

Généralités: kwak.io est une plateforme de chat. Il y a des canaux de discussion, qu'on peut créer à volée, et une liste des utilisateurs connectés sur un canal.

Avancement: kwak.io est en version beta. Une application Android et iOS ont déjà été développées et sont en attente de validation sur les différents app stores.

Objectifs

Mon objectif est de faire revivre les chatrooms.

Originalité

Vous pouvez vous exprimer librement car :

  • Les messages sont éphémères. Ils disparaissent après un certain temps
  • Les messages ne sont pas indexés par les principaux moteurs de recherche
  • Un pseudonyme et un mot de passe suffisent à vous inscrire

Vous pouvez vous exprimer créativement :

  • Avec des emojis
  • En insérant des tweets
  • En insérant des images

Vous pouvez vous intéresser et découvrir de nouvelles choses :

  • Les canaux fonctionnent sur le même principe que les hashtags de twitter

Vous pouvez aller vite :

  • En utilisant les différentes commandes à votre disposition (tapez /help)

Bref, assez causé. J'espère que cette description vous aura intrigué et j'espère que vous viendrez essayer kwak.io.

Édité par victor

Je parle de JavaScript et d'autres trucs sur mon blog : https://draft.li/blog

+3 -0

Je suivais la précédente version, je suivrais cette nouvelle version qui, faut bien le dire, est bien plus belle que la précédente.

Par contre, je suis un peu déçu que la coloration syntaxique ne soit plus disponible.

+0 -0
Staff
Auteur du sujet

Je vois pas la différence avec IRC en fait, à pars qu'on peut envoyer des emojis..

uriopass

IRC, il te faut un client et un serveur. Ici, c'est une application web. Il est clair que le public visé n'est pas les technophiles déjà acquis à la cause d'IRC.

A part que moi ça marche pas aussi…

Merci pour ce rapport de bug limpide. :-° Non sérieusement, qu'est-ce qui ne marche pas ? Quel navigateur et OS ? Comment reproduire ?

Je parle de JavaScript et d'autres trucs sur mon blog : https://draft.li/blog

+0 -0

Firefox 38, Archlinux. J'arrive en page d'accueil, j'ai une redirection vers kwak.io/channel/main. J'ai ça d'affiché :

#live

#ephemeral

#pseudonymous

#discussion

Et c'est tout.

La vie, c'est comme les mirabelles

+0 -0

Ghostery et AdBlock seulement, donc normalement tes scipts devraient pas être bloqués. Voilà ce que me donne ma console :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
Le site a spécifié un en-tête Strict-Transport-Security non valide.[En savoir plus] kwak.io
"You are running a browser with no localStorage or userData support. Logging in from one tab will not cause another tab to be logged in." cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:5747
mutating the [[Prototype]] of an object will cause your code to run very slowly; instead create the object with the correct initial [[Prototype]] value using Object.create cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:3343
"Exception in callback of async function: .action@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:269:1326
p@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:4026
e.bindEnvironment/<@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:6708
@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:269:353
c.prototype.addHook/u/<@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:11688
.withValue@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:6452
c.prototype.addHook/u@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:11656
p@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:4026
e.bindEnvironment/<@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:6708
C@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:4630
p@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:4026
e.bindEnvironment/<@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:6708
h/l@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:3470
p@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:3629
e.bindEnvironment/<@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:6708
.load@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:269:725
p@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:4026
e.bindEnvironment/<@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:6708
h@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:4131
b@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:4533
p@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:4026
e.bindEnvironment/<@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:6708
h@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:4131
h.prototype._runRoute@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:4938
y.prototype.dispatch@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:8224
y/i@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:6560
p@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:4026
e.bindEnvironment/<@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:6708
p@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:3681
e.bindEnvironment/<@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:6708
h@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:4131
h.prototype.dispatch/</<@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:3600
t.Computation.prototype._compute@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:15:2044
t.Computation@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:15:1274
t.autorun@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:15:3757
h.prototype.dispatch/<@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:3561
t.nonreactive@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:15:3938
h.prototype.dispatch@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:3536
c.prototype.dispatch@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:16144
r@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:16994
t.Computation.prototype._compute@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:15:2044
t.Computation.prototype._recompute@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:15:2279
t._runFlush@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:15:3242
e@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:2032
" cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:5747
"Exception in callback of async function: .action@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:269:1326
p@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:4026
e.bindEnvironment/<@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:6708
@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:269:353
c.prototype.addHook/u/<@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:11688
.withValue@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:6452
c.prototype.addHook/u@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:11656
p@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:4026
e.bindEnvironment/<@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:6708
C@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:4670
p@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:4026
e.bindEnvironment/<@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:6708
b@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:4558
p@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:4026
e.bindEnvironment/<@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:6708
h@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:4131
h.prototype._runRoute@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:4938
y.prototype.dispatch@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:8224
y/i@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:6560
p@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:4026
e.bindEnvironment/<@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:6708
p@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:3681
e.bindEnvironment/<@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:6708
h@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:88:4131
h.prototype.dispatch/</<@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:96:3600
t.Computation.prototype._compute@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:15:2044
t.Computation.prototype._recompute@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:15:2279
t._runFlush@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:15:3242
e@https://kwak.io/cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:2032
" cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:3:5747
"Route dispatch never rendered. Did you forget to call this.next() in an onBeforeAction?" cf9c93ffdd1766bfe32b832bcd71f2b1b925c30b.js:80:954
Ce site utilise un certificat SHA-1 ; il est recommandé d'utiliser des certificats possédant des algorithmes de signature ayant recours à des fonctions de hachage plus robustes que SHA-1.[En savoir plus] errors
Ce site utilise un certificat SHA-1 ; il est recommandé d'utiliser des certificats possédant des algorithmes de signature ayant recours à des fonctions de hachage plus robustes que SHA-1.[En savoir plus] sync

La vie, c'est comme les mirabelles

+0 -0
Staff
Auteur du sujet

« You are running a browser with no localStorage or userData support » Très étrange cette erreur. Et Google n'aide pas. Honnêtement, le site ayant besoin de localStorage, je ne sais pas trop ce que je peux faire. :(

J'ai pas envie d'utiliser de cookies.

Je parle de JavaScript et d'autres trucs sur mon blog : https://draft.li/blog

+0 -0

D'après les réglages firefox, ce doit être le contenu web et données utilisateur hors connexion. Et donc le seul réglage qu'il y a, c'est avertir l'utilisateur lorsqu'un site souhaite conserver des données. Et ça ne change rien.

La vie, c'est comme les mirabelles

+0 -0
Staff
Auteur du sujet

Oui et non, ce sont des exceptions levées dans le code de MeteorJS, pas dans le notre. Il y a fort à parier que si notre site ne fonctionne pas chez toi, d'autres sites MeteorJS ne fonctionneront pas non plus. ;)

Je parle de JavaScript et d'autres trucs sur mon blog : https://draft.li/blog

+0 -0

Gaffe avec le LocalStorage (si le problème vient bien de là) faut penser à dégrader comme il faut.

Y'a des browsers qui sont un peu pénibles avec ça, deux exemples de merde : les child browsers des mobiles (mais bon…) et Safari en navigation privée (notamment).

Donc tout petit conseil : fais le test en navigation privée avec les browsers civilisés quand même, ça vaut le coup.

Sinon c'est propre ouais :) bonne chance.

Happiness is a warm puppy

+0 -0

IRC, il te faut un client et un serveur. Ici, c'est une application web. Il est clair que le public visé n'est pas les technophiles déjà acquis à la cause d'IRC.

victor

Pourquoi ne pas se baser sur IRC et proposer le site en tant qu'interface utilisateur ?

« There was a kingdom that was falling so fast that people wouldn't help it, they wouldn't make it last » - Animal Kingdom, Beau

+2 -0

Bonjour,

C'est un projet intéressant et tu es bien libre de faire ce que tu souhaites, en revanche, je ne peux te laisser écrire n'importe quoi.

Vous pouvez vous exprimer librement car :

Les messages sont éphémères. Ils disparaissent après un certain temps Les messages ne sont pas indexés par les principaux moteurs de recherche Un pseudonyme et un mot de passe suffisent à vous inscrire

Tu ne peux empêcher un client de se constituer des logs. De plus, j'ai un gros doute lorsque tu proposes des backlogs qui s'étendent sur plusieurs heures (13heures ?). Ainsi tu permets à tous de visualiser une discutions à laquelle ils n'étaient pas présents.

Dès qu'on a un identifiant, on ne peut garantir un anonymat fort.

Sinon, je n'ai pas connaissance de beaucoup de chatroom dont les messages sont indexés par des moteurs de recherche, mais soit.

Je vois pas la différence avec IRC en fait, à pars qu'on peut envoyer des emojis.. IRC, il te faut un client et un serveur. Ici, c'est une application web. Ton chat se basant sur Shout, un des nombreux client IRC web, je ne vois pas en quoi avoir une "application web" serait une différence. Tu as toujours un serveur et toujours un client (web).

Parce que faire une surcouche à IRC qui propose ce que nous proposons est plus compliqué que faire ce qu'on fait : un serveur node et une interface simple. Je suis loin d'être convaincu.

En reprenant Shout, côté client il suffisait de modifier quelque peu l'interface (ce que vous avez fait) et d'ajouter une fonction appelée à l'ajout de chaque ligne dans le chat. Côté serveur, deux solutions :

  • supprimer/ajouter/modifier des commandes ;
  • inviter un bot op à chaque création de salon et y déporter toutes les commandes spécifique.

Ce qui me semble bien plus rapide et facile que de réinventer la roue et son propre protocole. Je ne parle pas du fait s'enfermer l'utilisateur dans l'utilisation d'un client particulier, de se priver d'un bon nombre d’extension/bots (ex. bots de jeux, ex. Clem du salon non-officiel) existants. Juste qu'en reprenant l'existant, on a une solution plus stable, pérenne, qui facilite interopérabilité et qui surtout à la plupart des fonctionnalités déjà implémentées…

C'est ton projet, tes choix et je les respecte. Mais respecte aussi ton lectorat. Tu proposes quelque chose de nouveau, tu dis des choses qui nous intrigue, c'est normal qu'on soit curieux et qu'on se pose des questions. Il se peut que sur certains points des avis divergents comme "Parce que faire une surcouche à IRC […] est plus compliqué que faire ce qu'on fait". Et c'est normal. On peut en discuter et échanger.

Par contre, lorsqu'on te pose des questions sur des choses que tu affirmes et que l'une de tes seules réponse est "tu es de mauvaise foi" pour ensuite le kicker hors de l'IRC… Ce qui est d'autant plus étrange lorsque tu promeus une chatroom sans modérateurs.

Juste un exemple :

IRC, il te faut un client et un serveur. Ici, c'est une application web.

Bon, c'est différent d'IRC, pas de client + serveur, juste une application web. Un nombre d'applications web IRC existant, et vu qu'on parle de différence avec IRC, on peut raisonnablement penser que tu n'as plus une architecture client-serveur mais une architecture P2P, composée uniquement de clients (décentralisation, toussa). Bon, hypothèse légitime en soit.

Lorsqu'on te pose la question, ta seule réponse fût "tu es de mauvaise foi". Pourquoi ? Pour ne pas dire que tu as menti et que tu n'as aucune différence avec IRC à ce niveau là contrairement à ce que tu affirmais ?

Je suis désolé pour tout cela. C'est un projet intéressant, je n'ai pas la prétention de te dire quoi faire, les choix, bons ou mauvais, t'appartiennes. Mais j'accepte mal qu'on nous mente de la sorte. Se tromper, faire des erreurs arrivent et on peut que t'accorder tout le bénéfice du doute (incompréhension, certains éléments non-présentés, …), en revanche, persister, c'est mentir délibérément.

Édité par Neckara

+0 -3
Staff
Auteur du sujet

Neckara, tu es sympa mais c'est extrêment difficile de répondre à tant de mauvaise foi et d'arguments fallacieux.

Tu ne peux empêcher un client de se constituer des logs. De plus, j'ai un gros doute lorsque tu proposes des backlogs qui s'étendent sur plusieurs heures (13heures ?). Ainsi tu permets à tous de visualiser une discutions à laquelle ils n'étaient pas présents.

Je n'ai pas prétendu empêcher un client de se constituer des logs. Homme de paille

Dès qu'on a un identifiant, on ne peut garantir un anonymat fort.

Tu es le premier à parler d'anonymat sur ce thread. Tu me reproches à nouveau de ne pas pouvoir tenir des promesses que je n'ai pas faites. Homme de paille².

Bon, c'est différent d'IRC, pas de client + serveur, juste une application web. Un nombre d'applications web IRC existant, et vu qu'on parle de différence avec IRC, on peut raisonnablement penser que tu n'as plus une architecture client-serveur mais une architecture P2P, composée uniquement de clients (décentralisation, toussa). Bon, hypothèse légitime en soit.

Si tu n'as pas compris qu'une application web nécessite un serveur et un client (ton navigateur web par exemple), tu es de mauvaise foi. C'est aussi simple que ça. Aussi, tu as très bien compris la différence entre installer un client spécifique pour une application spécifique et utiliser un client universel comme un navigateur web, ne viens pas dire le contraire.

Bref, tu viens me traiter de menteur, soit. Je suppose que tu fais référence aux promesses que je n'ai pas faites et que je n'ai pas tenues. Je te laisse donc à ta rhétorique et ne te répondrai plus, le dialogue me semblant impossible.

Je parle de JavaScript et d'autres trucs sur mon blog : https://draft.li/blog

+2 -1
Staff

Petite piqûre de rappel :

Zeste de Savoir est un lieu d'échange où le débat contradictoire est favorisé. Mais cela implique plusieurs choses :

  • de respecter l'interlocuteur
  • d'avoir aussi des arguments constructifs.

Il n'est pas acceptable d'avoir des procès d'intention.

Merci d'avance à l'ensemble des participants de ce sujet.

Édité par Arius

Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte