dazibao/README.md

54 lines
3.2 KiB
Markdown
Raw Normal View History

2020-05-05 15:36:20 +02:00
# 大字报
> Dàzì bào
2020-03-04 11:10:57 +01:00
2020-05-06 13:49:24 +02:00
![Photo d'un atelier de Dazi bao en RPC](header.jpg)
2020-05-05 15:39:09 +02:00
2020-03-04 11:10:57 +01:00
Le but de ce projet est dimplémenter un dazibao (« journal à grandes lettres »), semblable à
un « mur » de réseau social, mais de façon complètement distribuée. Le protocole est basé sur un
2020-05-05 15:36:20 +02:00
algorithme non-fiable dinondation.
## Installation
_Ce logiciel est développé pour GNU/Linux, et n'a pas de support à l'heure actuelle pour macOS ou Windows._
- Téléchargez le code source, soit avec `git clone` depuis la branche master, ou en téléchargant une archive depuis la page web du projet.
- Rendez vous dans le dossier, une fois décompressé si nécessaire.
- Assurez vous d'avoir,
2020-05-06 13:49:24 +02:00
- `make` >= 4.3
- `gcc` >= 9.3.0
- `libssl-dev` et `libssl`.
2020-05-05 15:36:20 +02:00
- Lancez la commande `make`
2020-05-12 15:23:19 +02:00
- Si aucune erreur n'a lieu, tuto bene. Sinon, ouvrez un rapport de bug sur la page web du projet.
- Optionnel : vous pouvez installer Dazibao de façon permanente en copiant le fichier `dazibao` ainsi crée dans `/usr/bin`.
2020-05-05 15:36:20 +02:00
## Utilisation
2020-05-12 15:23:19 +02:00
Si vous connaissez l'adresse d'un pair, vous pouvez éxecuter le programme avec la commande `./dazibao <root peer> <port>`, en remplaçant `<root peer>` par l'URL où votre pair est disponible, et `<port>` par le port où le pair écoute.
2020-05-05 15:36:20 +02:00
2020-05-12 13:56:13 +02:00
Si vous voulez changer le niveau d'affichage, vous pouvez changer la valeur de la variable `DEBUG_LEVEL`, puis refaire la commande `make`.
Lorsque le niveau est >1, vous êtes en mode débug, et en appuyant sur **P** puis **Entrée**, vous pouvez afficher la liste des pairs connus.
En appuyant juste sur **Entrée** sans rien d'autre, vous pouvez afficher la liste des messages connus, classé par ID du pair.
Vous pouvez aussi lancer votre pair avec la commande `./dazibao <root peer> <port> >> dazibao.log`. Ainsi, vous aurez l'affichage de Dazibao dans le fichier susnommé, que vous pouvez lire avec `tail -f`, dans une autre fenêtre de terminal. De fait, cela rend l'écriture de nouveaux messages beaucoup plus simple.
2020-05-05 15:36:20 +02:00
## Contribution
2020-05-12 15:23:19 +02:00
Sentez vous libre de copier le code, le modifier et de nous renvoyer vos modifications tout en les décrivant avec le plus de détails possible. Vous pouvez ouvrir un _merge request_ depuis la page web du projet.
2020-05-05 15:36:20 +02:00
2020-05-05 15:39:09 +02:00
## Notes
2020-05-12 15:23:19 +02:00
Ce programme est un projet réalisé lors du deuxième semestre 2020, durant le confinement dû au coronavirus, dans le cadre de la licence d'informatique de Paris-Diderot, dont les consignes sont données dans le fichier [énoncé.pdf](énoncé.pdf).
2020-05-05 15:39:09 +02:00
2020-05-05 15:36:20 +02:00
## Licence
Dàzì bào - p2p gossip social network.
2020-05-08 16:24:30 +02:00
Copyright (C) 2020 Felipe G.A. & Nelson P.
2020-05-05 15:36:20 +02:00
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.