« DNC » : différence entre les versions

186 octets ajoutés ,  22 septembre 2020 à 15:18
aucun résumé des modifications
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 71 : Ligne 71 :


== Problème courant sur nos smartphones==
== Problème courant sur nos smartphones==
Dans notre <strong>smartphone (Android ou iOS etc...)</strong>, 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 reclique sur l'application, et aussitôt l’application se reconnecte au socket du service à la vitesse de la lumière.
Dans notre <strong>smartphone (Android ou iOS etc...)</strong>, 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.
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 :===
===Voici un exemple de scénario réel avec l'application Snapchat (ou Messenger...) :===


#On démarre l'application, on ouvre une conversation, et on discute avec la personne
#On démarre l'application, on ouvre une conversation, et on discute avec une personne
#On répond à quelqu'un par SMS ou on s'absente et l'écran du téléphone s'éteint
#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é).
#*quelques minutes après, très discrètement, l'application se déconnecte du socket (l'utilisateur n'est plus connecté).
#Ensuite nous revenons sur notre application et nous voyons une notification d'une personne venant de Snapchat, on clique sur la notificaiton environ 2 fois pour ouvrir Snapchat.
#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.
#*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.
#On voit la suite des messages.
#On voit la suite des messages.


Cette <strong>faille</strong> 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 exprès pour que le socket arrête de consommer la batterie du téléphone mobile à cause du socket inactif.
Cette <strong>fausse faille</strong> 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 faille mais elle est plus sale, la voici : ===
===Sur IRC il existe la même fausse faille mais elle est plus sale, la voici : ===


#On démarre l'application (sur Chrome par exemple), on ouvre une conversation, et on discute avec la personne
#On démarre l'application tchat (sur Chrome par exemple), on ouvre une conversation, et on discute avec une personne
#On répond à quelqu'un par SMS ou on s'absente et l'écran du téléphone s'éteint
#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é).
#*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é).
#Ensuite nous revenons sur notre application
#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.
#*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.
#On ne voit pas la suite des messages car il s'était déconnecté.
#On ne voit pas la suite des messages car il s'était déconnecté.


Ligne 98 : Ligne 98 :
==Le but du nouveau système "DNC" sur Discussionner==
==Le but du nouveau système "DNC" sur Discussionner==


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


#On démarre l'application (sur Chrome par exemple), on ouvre une conversation, et on discute avec la personne
#On démarre l'application de tchat (sur Chrome par exemple), on ouvre une conversation, et on discute avec une personne
#On répond à quelqu'un par SMS ou on s'absente et l'écran du téléphone s'éteint
#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 BNC (l'utilisateur n'est plus connecté au bnc) mais il est toujours sur IRC
#*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
#Ensuite nous revenons sur notre application.
#Ensuite nous revenons sur notre application en l'ouvrant à nouveau
#*l'application se reconnecte très discrètement au socket BNC (de retour en ligne), tout est fait à la vitesse de la lumière ou presque.
#*l'application se reconnecte très discrètement au socket ZNC (de retour en ligne), tout est fait à la vitesse de la lumière ou presque.
#On voit la suite des messages.
#On voit la suite des messages.




== Les bugs les plus connus sur DNC ==
== Liste des bugs sur DNC ==
{| class="wikitable"
{| class="wikitable"
! N° du bug
! N° du bug
Ligne 123 : Ligne 123 :
|-
|-
| #3
| #3
| 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.
| Problème à cause des erreurs de type "undefined", cela arrive très rarement en moyenne, à un utilisateur tous les 15 jours.
| style="text-align:center; background:green;color:white;" | résolu dans la version beta2
| style="text-align:center; background:yellow;" | 80%
|-
|-
| #4
| #4
| Problème à cause des erreurs de type "undefined", cela arrive très rarement en moyenne à un utilisateur tous les 15 jours.
| Les ghosts sont lisibles par moment (il doit y avoir un problème entre le serveur de l'applet et serveur DNC).
| style="text-align:center; background:yellow;" | 80%
| style="text-align:center; background:yellow;" | 0%
|-
|-
| #5
| #5
| Déconnexion de tous les utilisateurs du BNC (crash) en cas d'erreur causée par un seul utilisateur.
| Déconnexion de tous les utilisateurs du BNC (crash) en cas d'erreur causée par un seul utilisateur.
| style="text-align:center; background:green;color:white;" | 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.
| style="text-align:center; background:green;color:white;" | résolu dans la version beta2
| style="text-align:center; background:green;color:white;" | résolu dans la version beta2
|}
|}