Bienvenue dans le projet la-dernière-bibliothèque, application web dynamique permettant de maintenir une base de connaissances sur les problèmes du réchauffement climatique, de la destruction de la biodiversité, de la société de (sur)consommation, etc.
Ce repo contient l'architecture python-django MVT (models, views, templates) nécessaire pour lancer l'interface, et ainsi ajouter des fonctionalités au site.
Ce README.md contient les commandes pour lancer une version locale du site https://la-derniere-bibliotheque.org/ sur votre localhost.
Pour commencer, vous devez récupérer les données et les modèles, trop volumineux pour le repo.
Une fois récupéré la base de données (db.sqlite3), les modèles de NLP (models/) et le settings.py, placez-les aux endroits suivants:
-
la-derniere-bibliotheque/db.sqlite3
-
la-derniere-bibliotheque/models/
-
la-derniere-bibliotheque/bddEnv/settings.py
Entrez ici les instructions pour bien débuter avec votre projet...
Dans un terminal, se placer à l'endroit du fichier manage.py et taper la commande suivante
python manage.py runserver
Pour un lancement depuis le serveur distant (ovh) avec accès depuis l'extérieur
python3 manage.py runserver 0.0.0.0:8000
Pour augmenter la verbosité des logs, fixer DEBUG=True
dans settings.py
Se rendre à l'url suivante : http://127.0.0.1:8000/
python manage.py shell
Ensuite, vous pouvez accéder à la bdd via python
from partage.models import Author, Source, Content
Author.objects.all()
Source.objects.all()
print(len(Content.objects.all()),'in the database')
# checking all the contents for a given source
src = "Climat, crises : Le plan de transformation de l'économie française"
for c in Content.objects.all():
if c.source.titre == src:
print()
print(c.text)
Django fournit des fonctions pour modifier les objets en base
element.save() # register in the db the new state of element object
element.delete() # delete this element from the db.
Dans le deuxième cas, les objets liés à element
seront aussi détruits. Donc, si vous détruisez une source, vous détruisez ses contenus.
Django fournit des fonctions pour lister les dépendances entre objets.
from django.contrib.admin.utils import NestedObjects
nested_object = NestedObjects("default")
nested_object.collect([element])
# If you want to delete multi item, you can use:
# nested_object.collect(Model.objects.filter(type="deleted"))
print(nested_object.nested())
Installation des packages :
pip install -r requirements.txt
Lancer python puis installer la ressource punkt de nltk :
>>> import nltk
>>> nltk.download('punkt')
Si vous souhaitez contribuer, contactez nous [email protected] pour obtenir les données et les modèles.
- GreenAI UPPA alias @GreenAI-UPPA
- Thomas Poupon étudiant CYTECH
Ce projet est sous Licence Creative Commons Attribution - Pas d'Utilisation Commerciale - Pas de Modification 4.0 International.