Mallory Lehuault-Parc - FIPA SE 2023
SendApp est un application de messagerie instantannée qui permet d'entretenir des conversations chiffrées de bout en bout entre tous les utilisateurs.
Vous pourrez retrouver dans le répertoire doc toutes les informations et les recherches liées à ce projet. Dans le répertoire sendapp se trouve les codes faisant fonctionner la messagerie.
Le projet ce base sur Django qui est un framework web open source en Python. L'application utlise le protocole Websocket, le serveur fonctionne de paire avec Daphne qui est un serveur qui gère ce type de protocoles.
Copie des fichiers sources depuis Github :
git clone https://github.com/MalloryLP/sendapp.git
Le projet fonctionne avec Python et dépend de ces paquets :
- django
- channels
- django-sslserver
Mise en place de l'environnement virtuel Python sur Linux :
export PIPENV_VENV_IN_PROJECT=1
pipenv install -r requirements.txt
Lancement de l'environnement pipenv : pipenv shell
Mise en place de l'environnement virtuel Python sur Windows:
$env:PIPENV_VENV_IN_PROJECT=1
python -m pipenv install -r ./requirements.txt
Lancement de l'environnement pipenv : python -m pipenv shell
Sur Linux dans deux shells pipenv distincs :
cd sendapp
python manage.py migrate --run-syncdb
python manage.py runsslserver --certificate sendapp/certif.pem --key sendapp/code.pem 0.0.0.0:8000
cd sendapp
export DJANGO_SETTINGS_MODULE = 'sendapp.settings'
daphne -e ssl:8001:privateKey=sendapp/code.pem:certKey=sendapp/certif.pem sendapp.asgi:application
Sur windows dans deux shells pipenv distincs :
cd ./sendapp
python ./manage.py migrate --run-syncdb
python ./manage.py runsslserver --certificate ./sendapp/certif.pem --key ./sendapp/code.pem 0.0.0.0:8000
cd ./sendapp
$env:DJANGO_SETTINGS_MODULE = 'sendapp.settings'
daphne -e ssl:8001:privateKey=./sendapp/code.pem:certKey=./sendapp/certif.pem sendapp.asgi:application
Si vous rencontrez un problème lié aux modèles de données :
- Supprimez la base de données
db.sqlite3
- Lancez la commande :
python ./manage.py migrate --run-syncdb
Si vous avez besoin de créer un compte administrateur :
python ./manage.py createsuperuser
Allez à l'url suivante dans votre navigateur internet préféré sur smartphone :
https://[host_machine_ip]:8000/home
Connectez-vous ou créez un compte, discutez 😃