DNC

De Wiki IRC
Sauter à la navigation Sauter à la recherche
Le 22/09/2020: Cloud BNC change de nom et devient DNC (nom plus court et plus facile à retenir).

DNC (ou Discussionner Bouncer ou encore Discussionner BNC ou même BNC) est le nom de projet qui consiste à garder un chatteur sous mobile en ligne même s'il est déconnecté (tchat mis en arrière-plan, ou écran éteint...).


DNC : A quoi ça sert ?

Lorsqu'un utilisateur non-enregistré est sous mobile et qu'il utilise Discussionner, il sera connecté classiquement au tchat sans aucun DNC.

Il pourra s'inscrire en devenant utilisateur enregistré, une fois identifié avec son mobile sur Discussionner, il sera connecté au tchat sous DNC. Cela permet de le garder connecté au tchat dés que celui-ci est mis en arrière-plan, ou écran éteint etc...
Par défaut, il restera connecté pendant 3h sur le tchat s'il ne clique pas sur "Moteur > Se déconnecter" avant de partir. S'il ne part pas ou même s'il part, à son retour il obtiendra la suite des messages en salons et en PVs.
Plus d'infos en lisant la suite de cette page.

Pourquoi il y a des déconnexions intempestives en étant utilisateur non-enregistré ?

En étant non-enregistré, le chatteur sur le tchat n'utilise pas notre DNC, il se déconnectera du tchat très souvent pour l'une des causes suivantes:

  • Économie d'énergie ou batterie activé sur son appareil ;
  • Mode avion activé par moment ;
  • Mode 4g qui coupe à certaines endroits de la route et la reconnexion reprend quelques minutes après dés que la connexion mobile se reconnecte sur Internet ;
  • Si vous avez tout désactivé, votre appareil se déconnectera quand même du tchat pour ces causes: l'écran est éteint depuis longtemps, chrome ou safari ou l'appli est mise en arrière plan depuis longtemps.

Pour éviter tout ça, veuillez vous inscrire sur https://discussionner.com/register ou si vous êtes déjà utilisateur enregistré, alors connectez-vous ici avec votre pseudo de connexion: https://discussionner.com/login



Informations

Nom du projet: DNC (à partir du 22/09/2020)

Ancien nom du projet: Cloud BNC (du 28/07/2020 jusqu'au 21/09/2020)

Les utilisateurs visés: tous les utilisateurs enregistrés, sous mobiles et tablettes du tchat Discussionner.

Statut actuel: actif / version 1.0.0-beta2

Première mise en ligne: 28/07/2020 à partir de 11h00

Dernière mise à jour: 04/10/2020 à 03:00

Date des premiers tests en version alpha 
Date Description
28/07/2020 de 11h00 à 21h00 (ou 15h53 pour cause de crash) (d82bb97725)
28/07/2020 de 22h45 jusqu'à 00h22 (heure du crash) (14e5b4a)
29/07/2020 de 1h17 jusqu'au 30/07/2020 à 5h22 (heure du crash)
30/07/2020 de 9h00 jusqu'à 14h35 (pour mise en place de la connexion sécurisée SSL/TLS)
30/07/2020 redémarrage en ssl/tls de 14h35 jusqu'au 31/07 16h45 (pour problème SSL/TLS)
31/07/2020 redémarrage en ssl/tls de 16h45 jusqu'au 01/08 (pour changement du système d'IPs)
01/08/2020 jusqu'au 02/08/2020 10h00 (pour amélioration du système d'ip)
02/08/2020 à 10h35 jusqu'à 21h55 (pour passer le mot de passe de 8 [défaut] à 6 caractères minimum, pour cause qu'il y avait de nombreux problèmes de connexions pour ceux qui ont un mot de passe de 6 ou 7 caractères.)
02/08/2020 redémarrage à 21h55
03/08/2020 redémarrage à 8h00
05/08/2020 redémarrage à 12h35 avec une limitation sur les 1500 dernières lignes (privmsg, notice, raws...).
19/08/2020 à 12:50 : fin de la version alpha.


Date des premiers tests en version bêta 
Date Description
19/08/2020 démarrage à 12h50 en version 1.0.0-beta1 (crash à 13h36 et redémarrage auto)
23/08/2020 redémarrage à 14h45 (30f5bc1)
... quelques mises à jour
11/09/2020 redémarrage en version beta2
12/09/2020 redémarrage (nouveauté: notifications pour la reconnexion/déconnexion et autres optimisations)
04/10/2020 redémarrage (d46125d)


Date des premiers tests en version stable
  • à définir dés qu'il n'y aura plus d'erreurs majeures.
Le vhost de chaque utilisateur 
  • galaxy-90.54.xx.xx.cloud-0046xxxx.irccity.com
    "0046xxxx" indique le login crypté
    "90.54.xx.xx" indique la toute première IP de la toute première connexion
IP officielle de chaque utilisateur 
  • 90.54.xx.xx (sa propre IP de sa toute première connexion)

Ident officiel de chaque utilisateur: numéro du compte membre

Déconnexion automatique du bouncer si pas reconnecté (ou si l'utilisateur ne clique pas sur "Se déconnecter"): atteindre les 3h et l'utilisateur quittera le tchat automatiquement (il devra redémarrer le tchat s'il veut revenir).

Premier record de connectés simultanément (les premiers 10 jours de DNC): Le 08/08/2020 à 18h00 (90 connectés).

Fonctionne sous: Node.JS

Signaler un problème ou demander une amélioration


Problème courant sur nos smartphones

Dans notre smartphone (Android ou iOS etc...), dés que nous allumons une application qui doit rester en ligne 24h sur 24, pendant qu'elle est en arrière-plan (exemples: Instagram, Snapchat, Messenger ...), en réalité elle ne reste pas en ligne 24h sur 24, elle fera des coupures (timeout) dans de nombreux moments mais de façon très discrète. Il suffit qu'on rallume notre téléphone ou qu'on re-clique sur l'application, et aussitôt l’application se reconnecte au socket du service à la vitesse de la lumière.

Les notifications, elles, sont en temps réel mais c'est géré par un autre service. Ce système n'est compatible qu'avec les notifications.

Voici un exemple de scénario réel avec l'application Snapchat (ou Messenger...) :

  1. On démarre l'application, on ouvre une conversation, et on discute avec une personne
  2. Ensuite on répond à quelqu'un par SMS ou on s'absente et l'écran du téléphone s'éteint
    • quelques minutes après, très discrètement, l'application se déconnecte du socket (l'utilisateur n'est plus connecté).
  3. Ensuite nous revenons sur notre application en l'ouvrant à nouveau
    • l'application se reconnecte très discrètement au socket (de retour en ligne), tout est fait à la vitesse de la lumière ou presque.
  4. On voit la suite des messages.

Cette fausse faille existe sur tous les mobiles. Il faut noter qu'en réalité ce n'est pas une faille, c'est une technique qui se déconnecte du socket afin d'éviter de consommer la batterie du téléphone mobile pour rien à cause du socket inactif.

Sur IRC il existe la même fausse faille mais elle est plus sale, la voici :

  1. On démarre l'application tchat (sur Chrome par exemple), on ouvre une conversation, et on discute avec une personne
  2. On répond à quelqu'un par SMS ou on s'absente et l'écran du téléphone s'éteint
    • quelques minutes après (pas discret du tout), l'application se déconnecte du socket, donc de l'IRC (l'utilisateur n'est plus connecté).
  3. Ensuite nous revenons sur notre application en l'ouvrant à nouveau
    • l'application se reconnecte au socket (de retour en ligne sur IRC) mais pas du tout discret, rien n'est fait à la vitesse de la lumière car une reconnexion à l'IRC met quelques secondes pour se faire.
  4. On ne voit pas la suite des messages car il s'était déconnecté.


Le but du nouveau système "DNC" sur Discussionner

L'applet Discussionner utilise ce serveur DNC afin que le tchat fonctionne comme ceci :

  1. On démarre l'application de tchat (sur Chrome par exemple), on ouvre une conversation, et on discute avec une personne
  2. On répond à quelqu'un par SMS ou on s'absente et l'écran du téléphone s'éteint
    • quelques minutes après, très discrètement, l'application se déconnecte du socket DNC (l'utilisateur n'est plus connecté à Dnc) mais il est toujours sur le tchat IRC
  3. Ensuite nous revenons sur notre application en l'ouvrant à nouveau
    • l'application se reconnecte très discrètement au socket DNC (de retour en ligne), tout est fait à la vitesse de la lumière ou presque.
  4. On voit la suite des messages.


Liste des bugs sur DNC

N° du bug Description du bug / le symptôme Progression/résolu à...
#1 La reconnexion sur IRC n'est pas toujours au point car pas assez rapide. La récupération des messages à la reconnexion n'est pas assez rapide, surtout pour les très nombreuses lignes 20%
#2 La reconnexion n'est pas toujours au point par moment (doublons des lignes...). Dés que ce problème apparait, il suffit de relancer le tchat. 25%
#3 Problème à cause des erreurs de type "undefined", cela arrive très rarement, en moyenne à un utilisateur tous les 15 jours. 80%
#4 Les ghosts sont lisibles par moment (il doit y avoir un problème entre le serveur de l'applet et serveur DNC). Réparé temporairement par kill auto de Sysop au bout de 2min.
#5 Déconnexion de tous les utilisateurs du BNC (crash) en cas d'erreur causée par un seul utilisateur. résolu dans la version beta2
#6 Ne prévient pas la déconnexion au cas où le serveur DNC est en maintenance et qu'il vient de se couper, quand cela arrive il suffit de relancer le tchat. résolu dans la version beta2