Messageries instantanées

Suite à une annonce de la société de WhatsApp Inc.(propriété de Facebook), un grand nombre d'utilisateurs a migré vers d'autres applications.
Je veux profiter de cela pour redonner mon point de vue sur ces messageries instantanées inter-personnelles.

Dans le but de mener une réflexion sur les applications utilisables en abordant deux choses le mode de fonctionnement et les fonctionnalités.

Je ne parlerai pas des logiciels de travail de groupe comme **slack, matermost Teams** ou **rocket-chat**. Ni des tchats intégrées dans les applications comme *Facebook, Twitter, Nextcloud-Talk et autres*.

**De plus** : j'ai complètement laisser de coté
+ les outils de Google comme Hangout, Google Chat, Duo,
+ ainsi que WeeChat, ICQ.

**Rappel**

Ce sont ces applications que nous trouvons sous l'acronyme **IM**, abréviation de Instant Messenger.

Elles étaient, à l'origine des applications de dialogue de personne à personne.
Par opposition aux tchats qui eux se centrent sur les échanges de groupe.

Mais au fils de temps on retrouve dans ces aplication des fonctionnalités de discussion en groupe mais aussi de téléphonie, voir aussi de visioconférence.

Dans ce premier article j'aborderai deux choses :

1. une classification
1. un comparatif des fonctionnalités


## Une classification.
Le nombre d'applications **IM** est grand, aussi pour y voir plus claire je vais employer une classification,
 et comme toutes les classifications elle est en partie arbitraire.

 Et n'ayant pas de talent de graphiste je ne ferais pas d'aussi jolies illustrations. Mais juste une liste.

Voici celle de [FSF India](https://fsf.org.in/article/better-than-whatsapp/)
![Classification IM](im/Illustration1.jpg)

Et celle de [niboe.info](https://niboe.info/blog/whatsapp-compara-las-distintas-alternativas-de-mensajeria/)
![clssification2](im/illustration2.png)

La mienne classera les IM en 5 catégories:

+ Centralisée
  - avec identification.
  - anonyme
+ Fédérée
+ P2P
  - simple
  - crypto centrée.

### Lock-in vendor / Centralisation
On ne peut échanger qu'avec les contacts ayant l'application. Elles sont trés centralisé au sens logique. Mais il y a fort à penser quelles sont réparties sur de multiples serveurs.

#### Identifiant Téléphonique
Je ne parlerais que des 3 les plus à la mode.
+ WhatsApp propriétaire,
+ Telegram à moitié libre,
+ Signal libre...

On parle souvent de chiffrement mais on oublie les métadonnées.
Et si aujourd'hui on est averti que Pierre utilise Telegram c'est parce que ces applications scannent nos carnets de contacts.


#### Identifiant anonyme
J'en connais 3 aussi
 + [olvid](https://www.olvid.io/fr/),
 + [Threema](https://threema.ch/en),
 + [Sessions](https://getsession.org/)

Dans ces trois produits au setup de la connexion on ne s'identifie pas sur un serveur avec une metadonnées l'applicattion se débrouille pour vous attribuer un identifiant que l'on va échanger avec ses contacts...

### Fédération.
Le terme Fédération signifie que l'organisation n'est pas centralisée, il n'y a donc pas de Vendor Lock-in.
Toutefois on ne pourra pas communiquer en dehors de la fédération.

Sauf si des passerelles existent il y en a pour [XMPP](https://github.com/42wim/matterbridge) et pour [matrix](https://matrix.org/bridges/), elles existent mais combattues par les **Services IM propriétaires**.

j'en connais 4 ;-)

+ XMPP [libre](https://xmpp.org/about/technology-overview.html),
+ Matrix [libre](https://matrix.org/discover/)
+ Wire [libre](https://github.com/wireapp)
+ DeltaChat [libre](https://delta.chat/fr/)

Ces fédérations fonctionnent sur un mode assez proche, on s'identifie sur le serveur de son choix et on peut communiquer avec toutes personnes de la Fédération.

En ce qui concerne xmpp et Matrix, on choisi aussi son client.

Delta Chat est un peu particulier puisque l'application utilise les serveurs de messageries mais il n'y a pas le choix du client.

###  P2P simple

Une classe d'IM assez intéressante car ne reposant pas sur des serveurs, ni centralisés ni décentralisés, pour stocker les messages

####  Tox... Version 0.25.515 (15515)

Avec l'omniprésence des programmes gouvernementaux de surveillance d'internet, Tox vous procure une application facile à utiliser qui vous permet de discuter avec vos amis et votre famille sans être écouté par quelqu'un d'autre.

Application disponible sur Android, desktop Linux.

Ce qui fonctionne actuellement :

 - Messages d'utilisateur à utilisateur
 - Notifications
 - Transferts de fichiers

C'est pas très convivial comme ID.
Le mien : BAAC376BE2B8228B6AD27805216BFDA71CA75B273B778A9DA88F9D05162AD76C49FB96A25E10

Pas fonction de recherche par nom
   Comme dans Jami.
   Pas de fonction de mise en relation.

Ce qui ne fonctionne pas:

- Audio/Video
- Groupes

Encore une application secure qui autorise les screenshots. 😱🤔

#### Parlons de briar

Une application Android, pas de version PC, avec uniquement des messages texte.
Pas d'envoi  d'images de vidéo pas de localisation.

Des groupes

+ publiques nommés "forum".
+ privés

Une fonction mise en relation joliment conçue.   
Un lecteur de flux RSS...

Pas mal de paramétrage...
+ Bouton d'urgence entre autres.

Pas de screenshots.   
Pas de base de recherche de contacts comme dans Jami.  
Juste un échange d'identifiant.

briar://adtx43f2z236e53shvy22odbqourppghvmppyynmgn4raydtcqrt6

#### jami

Une application sur téléphone et PC portable.
L'application téléphone est de belle qualité.
Pas emballé par UX desktop

Côté fonction tout est là sauf les groupes
 + ni privé,
 + ni publique. 🤔

Est-ce un problème ?
Il y a "Les points de rendez-vous", est-ce une fonction groupe ? Oui

Sur l'application Android la création n'est pas possible, mais c'est possible sur le client desktop.

Voici une adresse RDV: 2767febdcb974bf274745f06148d584a2d14b9b8 :-(


J'ai pu tester la fonction voix. Difficile à mettre en route, même chose pour la vidéo.

Consernant l'utilisation sur deux appareils c'est quasiment impossible puisqu'il n'y a pas de synchronisation des messages entre appareils liés.

Mais on peut imaginer que la fonctionnalité sera implémentée un jour.

«Contactez-moi en utilisant 'boipisigre' sur la plateforme de communication distribuée https://jami.net»

Le message ci-dessus n'est pas clair.🤔
En fait il s'agit de saisir le nom du contact dans la fonction "ajouter une conversation".


### P2P liées à une blockchain.

Une autre classe de messagerie est apparue avec les blockchains. j'en ai trouvé au moins 4.
+ NXT,
+ ardor,
+ ignis
+ status

NXT, ardor, ignis sont des blockchains développées par [jelurida](https://www.jelurida.), ces trois plateformes proposent le même type de [messages](https://ardordocs.jelurida.com/Arbitrary_messages) de 1000 caracteres de longueur.
Elles ne revendiquent pas le status de IM.

Seul [status](https://status.im/fr/) le revendique comme IM , c'est un projet de la plateforme Ethereum.
Mais est-ce vraiement un IM !!!

## Que comparer
  1. Téléphonie.
  1. Vidéo.
  1. Discusion de groupe (privé / public)
  1. Inscription anonyme / couriel / N° de téléphone
  1. Transfert de fichier / photo
  1. localisation
  1. Capture d'écran / visibilité des messages.
  1. Application Desktop


**Comparer**

C'est trés trés compliqué car d'un logiciel à un autre les fonctions ne sont pas appelées de la même façon.

Et parfois les noms sont surprenants.

+ sous jami un groupe c'est une point de RDV.
+ Les groupes pubiques sont des salons, des forums , des groupes de discussions

Et certaines applications nécessitent de choisir son application cliente et aussi un serveur...

Et celles qui ne scannent pas votre carnet de contacts ne vous diront si votre collègue et joignable avec cette application.


### Un essai de comparaison ... .

  | Application| Téléphonie | Vidéo| Groupe | Inscription| Transfert | Localisation | Capture d'écran | AppDesk|
  | -- | -- | -- | -- | -- | -- | -- | -- | -- |
  | WhatsApp | Oui | Oui | Privé | N° Tel | Tout | Oui | Oui | non |
  | Signal | Oui | Oui | Privé | N° Tel | Tout | Oui | Oui | Oui|
  | Telegram | Oui | Oui | Public/privé | N° Tel | Tout | Oui | Oui | Oui|
  | Olvid | Oui($) | Vidéo | privé | ID | Tout | oui | Oui |Non|
  | Threema | Oui | Oui | privé | ID | Tout | Oui | oui | Non|
  | Session | Non | Non | Public/privé | ID | Tout | Non | Oui |Non |
  | xmpp | Oui... | ... | public/privé | ça dépend | Tout | Oui | Oui | Oui |
  | Matrix | Oui | Non | Public/privé | ça dépend | Tout | Non | Oui |Oui|
  | DeltaChat | Non | Non | Privé | email | Tout | Oui | Oui |Oui|
  | Wire | Oui | Oui | privé | email/N° Tel | tout | Oui | Oui | Oui|
  | Jami | Oui | Oui | privé | ID | Tout | Oui | Oui |Oui|
  | briar | Non | Non | public/privé | ID | rien | Non | Non |non|
  | tox | Oui | Oui | Non | ID | Tout | Non | Oui | Oui|
  | NXT | Non | Non | Non | ID | -- | -- | -- |Oui|
  | status | Non | Non | Public/privé | ID | Tout | Non | Oui | Oui|

## Conclusion

Que choisir comme application ...

Celle qui répond à votre besoin tout en préservant un minimum votre intimité.
Tout en restant simple pour vos contacts.

Je vous propose de procéder par éliminations.

  + pas de téléphone, pas d'email donc on élimine
    - WhatsApp
    - Telegram
    - Signal
    - DeltaChat
    - wire
  + Téléphonie donc on élimine
    - Status
    - briar
    - NXT
    - Session
  + Groupe privé donc on élimine
    - Tox
  + Application Desktop ou Web Tous OK

Il nous reste 2 applications centralisées payantes et 2 solutions fédérées une en p2p.

  + Olvid 5€ par mois pour pouvoir émettre des apppels
  + Threema 3 CHF une fois
  + xmpp ( conversation, pidgin, dino ...)
  + matrix ( éléments, riot ...)
  + jami  

Mon choix **Threema** parce que moins cher que Olvid
Mais je garderai  *Jami* et des clients XMPP comme **conversation** et **dino**.

## Références :

### Clients

+ [tox](https://tox.chat/)
+ XMPP :
  + [quicksy](https://quicksy.im)
  + [conversations](https://conversations.im/)
+ [jami](https://jami.net/)
+ [olvid](https://olvid.io/technology/fr)

### Protocole

+ [Matrix](https://matrix.org/)
+ [XMPP](https://xmpp.org/about/technology-overview.html
+ [Le réseau Status](https://status.im/fr/about/)

###  Articles de blog

+ [Better-than-whatsapp](https://fsf.org.in/article/better-than-whatsapp)
+ [Utiliser xmpp](https://www.echolib.space/utiliser-messagerie-chiffree-xmpp)
+ [Vie Privée](https://biblionumericus.fr/2021/01/13/whatsapp-signal-et-les-rabats-joie-de-la-protection-de-la-vie-privee/)
+ [Jabber en 5 Minutes](https://wiki.jabberfr.org/Jabber_en_5_minutes)
+ [Private messengers: what can they really see?](https://our.status.im/private-messengers-what-can-they-really-see/)