src | ||
.gitignore | ||
énoncé.pdf | ||
header.jpg | ||
LICENCE.md | ||
Makefile | ||
Notes.md | ||
RAPPORT.md | ||
README.md |
大字报
Dàzì bào
Le but de ce projet est d’implé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 d’inondation.
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.3gcc
>= 9.3.0libssl-dev
etlibssl
.
- Lancez la commande
make
- Si aucune erreure 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 permanante 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 remplacement <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étail possible. Vous pouvez ouvrir un merge request depuis la page web du projet.
Notes
Ce programme est une 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.
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/.