fixed markdown internal links

This commit is contained in:
Phuntsok Drak-pa
2018-02-26 12:56:21 +01:00
committed by GitHub
parent cebf82f2bd
commit 7e4d97d711
+50 -57
View File
@@ -1,27 +1,21 @@
[WARNING] Deprecated: markdown_github. Use gfm instead.
Proposition de protocole
========================
Proposition de protocole pour la communication inter-serveurs/clients
pour le projet de chat textuel.
Proposition de protocole pour la communication inter-serveurs/clients pour le projet de chat textuel.
Quelques règles pour assurer le bon fonctionnement du protocole :
Quelques règles pour assurer le bon fonctionnement du protocole :
- Chaque ligne se termine par les caractères `\r\n`.
- Un nom d’utilisateur ne peut contenir que des caractères
alphanumériques (a-z, A-Z, 0-9).
- Un nom d’utilisateur ne peut contenir que des caractères alphanumériques (a-z, A-Z, 0-9).
Connexion au serveur
--------------------
Gestion de l’arrivée des utilisateurs sur le serveur (choix du nom
d’utilisateur et notification des clients).
Gestion de l’arrivée des utilisateurs sur le serveur (choix du nom d’utilisateur et notification des clients).
### Requête 1.1
Connexion sans nom d’utilisateur fournit par le client, `<version>`
devant être remplacé par la version utilisée par le cliet (tel que `0.5`
ou `1.0`). Client vers serveur.
Connexion sans nom d’utilisateur fournit par le client, `<version>` devant être remplacé par la version utilisée par le client (tel que `0.5` ou `1.0`). Client vers serveur.
``` text
PROT <version> CONNECT NEW
@@ -35,15 +29,11 @@ Connexion au serveur mentionnant le nom d’utilisateur
PROT <version> CONNECT USER <username>
```
Selon si la connexion est établie avec ce nom d'utilisateur, la
[1.1.4](#*Requête 1.4) ou [1.1.5](#*Requête 1.5) sera renvoyée. Si la
requête [1.1.5](#*Requête 1.5) est renvoyée, la [1.1.2](#*Requête 1.2)
suivra immédiatement après.
Selon si la connexion est établie avec ce nom d'utilisateur, la [requête 1.4](#requête-14) ou la [requête 1.5](#requête-15) sera renvoyée. Si la requête [requête 1.5](#requête-15) est renvoyée, la [requête 1.2](#requête-12) suivra immédiatement après.
### Requête 1.3
Réponse à cette requête du serveur vers le client (serveur vers client),
requête du nom d'utilisateur.
Réponse à cette requête du serveur vers le client (serveur vers client), requête du nom d'utilisateur.
``` text
PROT <version> REQ NAME
@@ -51,8 +41,7 @@ PROT <version> REQ NAME
### Requête 1.4
Réponse à la requête du serveur (client vers serveur), envoi du nom
d’utilisateur.
Réponse à la requête du serveur (client vers serveur), envoi du nom d’utilisateur.
``` text
PROT <version> NAME <username>
@@ -60,8 +49,7 @@ PROT <version> NAME <username>
### Requête 1.5
Réponse du serveur si l'enregistrement du nom d'utilisateur s’est bien
déroulé (serveur vers client)
Réponse du serveur si l'enregistrement du nom d'utilisateur s’est bien déroulé (serveur vers client)
``` text
PROT <version> OK WELCOME
@@ -69,9 +57,7 @@ PROT <version> OK WELCOME
### Requête 1.6
Réponse du serveur si l'enregistrement du nom d'utilisateur a rencontré
une erreur (nom déjà utilisé,…) (serveur vers client). La
[1.1.2](#*Requête 1.2) est envoyée vers le client.
Réponse du serveur si l'enregistrement du nom d'utilisateur a rencontré une erreur (nom déjà utilisé,…) (serveur vers client). La [requête 1.2](#requête-12) est envoyée vers le client.
``` text
PROT <version> FAILURE
@@ -79,9 +65,7 @@ PROT <version> FAILURE
### Requête 1.7
Conjointement à la [1.1.4](#*Requête 1.4), cette requête sera envoyée à
tout autre client connecté pour les notifier de la connexion d’un nouvel
utilisateur.
Conjointement à la [requête 1.4](#requête-14), cette requête sera envoyée à tout autre client connecté pour les notifier de la connexion d’un nouvel utilisateur.
``` text
JOIN <username>
@@ -102,8 +86,7 @@ PROT <version> BYE
### Requête 2.2
Envoi du serveur vers chaque client de la notification de déconnexion
d'un client
Envoi du serveur vers chaque client de la notification de déconnexion d'un client
``` text
PROT <version> LOGOUT <username>
@@ -112,9 +95,7 @@ PROT <version> LOGOUT <username>
Ping
----
Vérification de la connexion des clients avec le serveur. Chaque minute,
la requête [1.3.1](#*Requête 3.1) est envoyée à chaque client qui ont
tous trois secondes pour répondre avec la [1.3.2](#*Requête 3.2).
Vérification de la connexion des clients avec le serveur. Chaque minute, la requête [requête 3.1](#requête-31) est envoyée à chaque client qui ont tous trois secondes pour répondre avec la [requête 3.2](##requête-32).
### Requête 3.1
@@ -126,49 +107,61 @@ PROT <version> PING
### Requête 3.2
Envoi de la réponse du client au serveur pour la [1.3.1](#*Requête 3.1)
Envoi de la réponse du client au serveur pour la [requête 3.1](#requête-31)
``` text
PROT <version> PONG
```
Échange de messages
-------------------
### Messages publics
## Échange de messages
### Échange de messages publics
#### Requête 4.1.1
Envoi depuis le client vers le serveur d’un message public
``` text
PROT <version> MSG <message>
```
Envoi depuis le client vers le serveur d’un message public
``` text
PROT <version> MSG <message>
```
#### Requête 4.1.2
Transmission d’un message d’un client vers les autres clients
Transmission d’un message d’un client vers les autres clients
``` text
PROT <version> FROM <username> MSG <message>
```
### Échange de messages privés
#### Requête 4.2.1
Transmission d’un message d’un client vers un autre client uniquement, spécifié par son nom d’utilisateur (client vers serveur)
``` text
PROT <version> PRIV TO <dest-username> MSG <msg>
```
#### Requête 4.2.2
Transmission d’un message d’un client vers un autre client uniquement, spécifié par son nom d’utilisateur (serveur vers client)
``` text
PROT <version> PRIV FROM <username> MSG <message>
```
``` text
PROT <version> FROM <username> MSH <message>
```
### Messages privés
#### Requête 4.2.1
Transmission d’un message d’un client vers un autre client
uniquement, spécifié par son nom d’utilisateur (client vers serveur)
Transmission d’un message d’un client vers un autre client uniquement, spécifié par son nom d’utilisateur (client vers serveur)
``` text
PROT <version> PRIV TO <dest-username> MSG <msg>
```
``` text
PROT <version> PRIV TO <dest-username> MSG <msg>
```
#### Requête 4.2.2
Transmission d’un message d’un client vers un autre client
uniquement, spécifié par son nom d’utilisateur (serveur vers client)
Transmission d’un message d’un client vers un autre client uniquement, spécifié par son nom d’utilisateur (serveur vers client)
``` text
PROT <version> PRIV FROM <username> MSG <message>
```
``` text
PROT <version> PRIV FROM <username> MSG <message>
```