dazibao/README.md

54 lines
3.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 大字报
> Dàzì bào
![Photo d'un atelier de Dazi bao en RPC](header.jpg)
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
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,
- `make` >= 4.3
- `gcc` >= 9.3.0
- `libssl-dev` et `libssl`.
- Lancez la commande `make`
- 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`.
## Utilisation
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.
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.
## Contribution
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.
## Notes
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).
## Licence
Dàzì bào - p2p gossip social network.
Copyright (C) 2020 Felipe G.A. & Nelson P.
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/>.