Sommaire:
Il s'agit d'un projet final de NF06 - Pratique de la programmation, unité d'enseignement de l'Université de Technologie de Troyes.
Ce logiciel consiste en un système de recommandation de film basé sur le degré de similitude d'avis entre les utilisateurs.
Vous souhaitez simplement tester le logiciel ? Effectuez les étapes suivantes:
En résumé:
git clone https://github.com/tuturd/movie-recommendation-system.git
cd movie-recommendation-system
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
py main.py
L'initialisation de la base de donnée sera effectuée directement lors de la première execution du logiciel.
Vous souhaitez ajouter des fonctionnalités ? Il est nécessaire d'effectuer toutes les étapes mentionnées dans ce README.
Installer le repository
git clone https://github.com/tuturd/movie-recommendation-system.git
Se placer à la racine du repository, branche dev
.
Le repository est organisé comme suit:
dev
: developpement de nouvelles fonctionnalitées, correctifsmaster
: version stable de l'application
Tout d'abord installer python3.10: téléchargeable ici
Configurer ensuite l'environnement virtuel Python
python -m venv .venv
Activer l'environnement virtuel
- Sur Linux/Mac :
source .venv/bin/activate
- Sur Windows :
.venv\Scripts\activate
Installer les librairies nécessaires
# Pour les modules Python
pip install -r requirements.txt
# Installation de Tkinter sous Linux
sudo apt install python3-tk
# Installation de Tkinter sous Windows
pip install tk
Pour mettre à jour le fichier requirements.txt
Warning
Il est nécessaire d'avoir activé l'environnement virtuel.
pip freeze > requirements.txt
Utilisation du module sqlite3
installée par défaut sur Python.
Lien vers la documentation : ici
Installation pour C
- Sur Linux :
sudo apt-get install libsqlite3-dev
- Sur Windows : Pas d'installation nécessaire, la librairie est directement dans src/c_extension/sqlite3
Se déplacer dans src/database
# Pour créer la db
python database.py seed
# Pour ajouter des données d'exemple
python database.py example_data
Modifier src/database/seed/seed.sql
Modifier les fichiers .sql (sauf seed.sql) dans le dossier src/database/seed
Utilisation du module ctypes
installé par défaut sur Python.
Lien vers la documentation : ici
Le code C est compilé en extensions Python .so et .dll via le compilateur gcc. Installation:
- Sur Linux :
sudo apt-get install gcc
- Sur Windows : disponible sur le site officiel MinGW-w64. Il s'agit d'une version compatible Windows de GCC.
En fonction du système d'exploitation utilisé lors du lancement de l'application, l'extension adéquate sera automatiquement utilisée (.so sur noyau Linux, .dll sous Windows). Il en va de même pour la compilation du code.
Tip
Lors de l'exécution de l'application, les librairies sont compilées automatiquement, si elles n'existent pas encore.
Compilation manuelle:
Note
Se déplacer dans src/c_extension
Un script de génération automatique peut être lancé via la commande suivante:
python extension.py build
Note
Se déplacer dans src/c_extension
Pour supprimer les librairies, fichiers de builds et dossiers d'anciennes compilation du code C, entrer la commande suivante:
python extension.py reset
Modifier le fichier /src/c_extension/utils/settings.json