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
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

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 dutilisateur ne peut contenir que des caractères
alphanumériques (a-z, A-Z, 0-9).
- Un nom dutilisateur ne peut contenir que des caractères alphanumériques (a-z, A-Z, 0-9).
Connexion au serveur
--------------------
Gestion de larrivée des utilisateurs sur le serveur (choix du nom
dutilisateur et notification des clients).
Gestion de larrivée des utilisateurs sur le serveur (choix du nom dutilisateur et notification des clients).
### Requête 1.1
Connexion sans nom dutilisateur 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 dutilisateur 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 dutilisateur
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
dutilisateur.
Réponse à la requête du serveur (client vers serveur), envoi du nom dutilisateur.
``` 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 sest bien
déroulé (serveur vers client)
Réponse du serveur si l'enregistrement du nom d'utilisateur sest 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 dun 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 dun 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 dun message public
``` text
PROT <version> MSG <message>
```
Envoi depuis le client vers le serveur dun message public
``` text
PROT <version> MSG <message>
```
#### Requête 4.1.2
Transmission dun message dun client vers les autres clients
Transmission dun message dun client vers les autres clients
``` text
PROT <version> FROM <username> MSG <message>
```
### Échange de messages privés
#### Requête 4.2.1
Transmission dun message dun client vers un autre client uniquement, spécifié par son nom dutilisateur (client vers serveur)
``` text
PROT <version> PRIV TO <dest-username> MSG <msg>
```
#### Requête 4.2.2
Transmission dun message dun client vers un autre client uniquement, spécifié par son nom dutilisateur (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 dun message dun client vers un autre client
uniquement, spécifié par son nom dutilisateur (client vers serveur)
Transmission dun message dun client vers un autre client uniquement, spécifié par son nom dutilisateur (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 dun message dun client vers un autre client
uniquement, spécifié par son nom dutilisateur (serveur vers client)
Transmission dun message dun client vers un autre client uniquement, spécifié par son nom dutilisateur (serveur vers client)
``` text
PROT <version> PRIV FROM <username> MSG <message>
```
``` text
PROT <version> PRIV FROM <username> MSG <message>
```