Contributeurs du projet : Karim CHAKROUN, Giovana LONGATTI BAPTISTA, Samy HAFFOUDHI, François MICHELON, Alexis DELAGE, Théodore RADU, Anass AL AMMIRI
Contact : [email protected].
Oraclex est un projet de gestion, d'analyse, et de prédiction de décisions de justice.
- Clonez le repo Github sur votre ordinateur et ouvrez-le dans Visual Studio Code à partir du logiciel Github Desktop
- Ouvrez un terminal Linux (de préférence dans VScode, ou ailleurs si vous voulez). Si vous utilisez la ligne de commande Windows ou macOS, référez-vous à la section dédiée ci-dessous. Sous Windows, nous vous recommendons de plutôt installer WSL pour pouvoir utiliser directement la ligne de commande Linux.
- Installez Python, pip3, et virtualenvwrapper (en cas de besoin, utilisez la documentation de MDN)
- Créez un environnement virtuel nommé oraclex_env avec la commande
mkvirtualenv oraclex_env. Vous devrez voir apparaître(oraclex_env)au début de vos lignes de commande ensuite (si ce n'est pas le cas, tapezworkon oraclex_env) - Placez-vous dans le dossier
oraclexavec la commandecdsi besoin - Installez les dépendances logicielles :
sudo apt-get install $(cat Aptfile) - Installez les dépendances Python :
pip3 install -r requirements.txt - Créez la base de données :
python3 manage.py migrate - Remplissez la BDD avec les données de base :
python3 manage.py shell >> from init_data import init_database >> init_database()
- Créez un compte super-utilisateur :
python3 manage.py createsuperuser
- Installer tesseract-OCR :
- Installer la package :
sudo port install tesseract- Installer le module pourle Français :
sudo port install tesseract-fra- Installer poppler :
- Vous devrez installer poppler pour Mac : http://macappstore.org/poppler/
- Python :
- Exécution de python : remplacez partout
python3parpy -3- En cas d'erreur de modules Python non importés : ajoutez le path d'accès avec la commande
export PYTHONPATH="${PYTHONPATH}:/path/to/your/project/"(set PYTHONPATH=%PYTHONPATH%;C:\path\to\your\project\ouset export PYTHONPATH="${PYTHONPATH}:/path/to/your/project/pour Windows) puis fermez le terminal et réessayez, ou bien faites un import absolu (en dehors de l'environnement virtuel)
- Pour installer Tesseract-OCR :
- Respirez profondément, il faudra un peu de patience ici.
- Installez tesseract à l'aide du programme d'installation Windows disponible à l'adresse suivante : https://github.com/UB-Mannheim/tesseract/wiki
- Notez le chemin d'accès à tesseract depuis l'installation. Le chemin d'installation par défaut généralement est :
C:\Users\USER\AppData\Local\Tesseract-OCRou bienC:\Program Files\Tesseract-OCRIl est possible qu'il change, veuillez donc vérifiez le chemin d'installation.- Ajouter le Path avec : Modifier les variables d'environnement système >> Variables d'environnement... >> Variable : Path >> Modifier >> Nouveau >> Ajouter le chemin d'accès et enregistrer.
Si cela n'a pas fonctionné, essayez l'une de ces solutions :
Chocolatey :
- Installez chocolatey avec powershell.exe :
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))- Puis utilisez la commande suivante :
choco install tesseract --pre- Le programme d'installation de Tesseract fourni par Chocolatey ne comprend actuellement que la langue anglaise. Pour installer la langue française, téléchargez le pack de langue correspondant (fichier fra.traineddata) à partir de https://github.com/tesseract-ocr/tessdata/ et placez-le dans
C:\Program Files\Tesseract-OCR\tessdata(ou à l'endroit où Tesseract OCR est installé).Anaconda :
- Installez Anaconda.
- Puis avec Anaconda prompt utilisez la commande suivante :
conda install -c conda-forge tesseractChanger le code :
- C'est la dernière solution, que nous ne recommandons pas vraiment, qui consiste à changer le code, cela ne fonctionnera pas pour le serveur, mais seulement dans le local.
- Après l'étape 4. Dans votre code, mettez le chemin de tesseract avant d'appeler image_to_string :
pytesseract.pytesseract.tesseract_cmd = r'C:\Users\USER\AppData\Local\Tesseract-OCR\tesseract.exe'(ou le chemin que vous aviez.)
- Pour installer Poppler sur Windows :
- Allez sur cette page : http://blog.alivate.com.au/poppler-windows/ et téléchargez le binaire de votre choix, ou bien utilisez ce lien direct : http://blog.alivate.com.au/wp-content/uploads/2018/10/poppler-0.68.0_x86.7z
- Extrayez le fichier d'archive
poppler-0.68.0_x86.7zdansC:\Program Files. Ainsi, la structure du répertoire devrait ressembler à ceci :C : └ Program Files └ poppler-0.68.0_x86 └ bin └ include └ lib └ share
- Ajoutez
C:\Program Files\poppler-0.68.0_x86\binà votre PATH système en procédant comme suit :
- Cliquez sur le bouton Démarrer de Windows, et recherchez Modifier les variables
- Modifier les variables d'environnement du système >> sur Variables d'environnement...>> PATH >> Nouveau >> puis ajoutez
C:\Users\Program Files\poppler-0.68.0_x86\bin,et enregistrez.Autres solutions plus simple :
- Chocolatey :
choco install poppler- Anaconda :
conda install -c conda-forge poppler
- À chaque fois que vous revenez sur le code, il faut relancer l'environnement virtuel avec la commande :
workon oraclex_env - Pour tester le site en local :
- Placez-vous dans le dossier
oraclexaveccdsi besoin - Vérifiez que l'environnement virtuel est activé
- Lancez le serveur :
python3 manage.py runserver - Dans un navigateur, connectez-vous à l'adresse http://localhost:8000
- Pour arrêter le serveur, tapez
CTRL+C
- Placez-vous dans le dossier
- Lorsque vous modifiez la structure de la base de donnée (fichiers
models.py) :- Vérifiez que le serveur est arrêté
- Créez un script de migration de l'ancienne bdd à la nouvelle :
python3 manage.py makemigrations - Appliquez les changements :
python3 manage.py migrate
Pour voir la documentation relative au projet, des schémas expliquant le fonctionnement des principales parties sont disponibles dans le dossier doc. Des commentaires sont aussi ajoutés dans le code afin de mieux suivre les différents choix faits.
Attention, avant de vous plonger dans le code, il est fortement conseillé de faire le tuto Django (mentionné en haut de cette page) auparavant.