Salmon (protocole)
# Salmon (protocole)

Le Protocole Salmon est un protocole d'échange de messages par HTTP conçu pour décentraliser les commentaires et les annotations sur les fils d'actualité comme les articles de blog.

Il permet qu'un seul fil de discussion soit établi entre la source de l'article et n'importe quel lecteur de flux ou "agrégateur", qui s'abonne au contenu. Dit simplement, si un article apparaît sur 3 sites : A (la source), B et C (agrégateurs), les membres des 3 sites peuvent voir et contribuer à un même fil de conversation, indépendamment du site qu'ils utilisent.

## Exemple

La source de contenu doit fournir un endpoint (ou point de terminaison) - une URL dans les métadonnées d'un flux RSS/Atom, qui sera pris en compte par le site agrégateur. Si un membre de l'agrégateur fait un commentaire, l'agrégateur va construire un commentaire destiné à la source.

Le commentaire sera encodé en base64, signé numériquement, placés dans une enveloppe et posté à l'origine par le point de terminaison.

Le commentaire est mis alors à disposition par la source de contenu pour les sites agrégateurs, qui n'auront qu'à actualiser leurs données sur la conversation. Le protocole fournit la sécurité, de sorte que chaque agrégateur et chaque membre est identifié de manière unique afin que la source puisse utiliser des mesures d'interdiction ou de filtrage pour les sites malicieux, ou bien pour les membres si souhaité.

## Applications

Les réseaux sociaux fédérés tels que GNU Social et Diaspora utilisent Salmon tel que défini dans la spécification OStatus pour coordonner les discussions entre les membres appartenant à différents serveurs. Un membre d'un serveur peut publier un article qui est diffusé à d'autres utilisateurs sur le réseau via Salmon, qui à leur tour peuvent commenter de façon similaire.

