Skip to content

obtic-sorbonne/Toolbox-site

Repository files navigation

Pandore : une boîte à outil pour les humanités numériques

English version of this README 🌍

Sommaire de ce README


Présentation du projet

Pandore est une boîte à outils conçue pour les chercheurs, les enseignants et les étudiants en sciences humaines et sociales, en particulier ceux qui n'ont pas de compétences techniques avancées en programmation. Elle permet aux utilisateurs de gérer efficacement leurs données grâce à des interfaces graphiques intuitives, leur permettant de collecter, préparer, convertir et analyser leurs données, d'extraire des informations pertinentes et de créer des visualisations interprétatives.

En s'appuyant sur les nombreux retours de la version bêta précédente, plusieurs améliorations ont été mises en œuvre, notamment la résolution de bugs identifiés et les améliorations de l'interface graphique pour améliorer l'expérience utilisateur. Des scripts Python interopérables et modulaires ont également été intégrés pour étendre les fonctionnalités de la plateforme. Des tutoriels ont été finalisés pour guider les utilisateurs dans la maîtrise des outils, et l'application a été déployée sur un serveur équipé d'un GPU pour optimiser les performances des tâches à forte intensité de calcul.

Ces avancées positionnent Pandore comme un outil polyvalent et efficace pour les chercheurs dans un large éventail de disciplines des sciences humaines et sociales.


Contenu du dépôt GitHub

  • static : Fichiers pour le bon affichage de l'instance (css, images, fonts, etc.)
  • swig : Package nécessaire pour le fonctionnement de l'instance
  • templates :
    • documentation, tutorial : dossier contenant les documentation/tutoriel par tâche
    • tasks : pages de navigation vers les outils
    • tools : outils par page
    • 413.html, 500.html, 500_custom.html, validation_contact.html, contact.html, code_source.html, copyright.html, projet.html : pages d'informations spécifiques
    • documentation.html, index.html, pandore.html, tutoriel.html : pages de navigation
  • translations : Traduction anglaise du contenu de l'instance
  • toolbox_app.py : Fichier de fonctionnement de l'instance (importation des libraires, déclaration des routes et des fonctions de l'application)
  • ner_camembert.py, ocr.py, tei_ner.py, txt_ner.py : Fonctions supplémentaires
  • requirements.txt, requirements_new.txt : Fichier de libraires pour l'installation locale
  • README.md, README_en.md : Présentation de la boîte à outils
  • cluster.py, environment.yml, forms.py, install.sh, nginx.conf, wsgi.py : TBD

Installation avec Docker (Linux / Mac / Windows)

Si vous n'avez jamais installé Python ou d'autres logiciels, Docker simplifie totalement l'installation. Pandore fonctionne dans un conteneur préconfiguré avec tous les paquets nécessaires.

Installation

1. Installer Docker

2. Récupérer le dépôt GitHub

  • Ouvrez le Terminal de l'application et lancez :
git clone https://github.com/obtic-sorbonne/Toolbox-site.git
cd Toolbox-site

3. Construire l'image Docker de Pandore

docker build -t pandore-toolbox .
  • Cette commande télécharge Ubuntu, Miniconda, installe tous les paquets Python et spaCy, et crée une image Docker prête à l'emploi.

⚠️ Cela peut prendre plusieurs minutes, selon votre connexion Internet et votre machine.

4. Lancer Pandore dans un conteneur Docker

docker run --gpus all -p 5000:5000 pandore-toolbox
  • -p 5000:5000 signifie : le port 5000 dans le conteneur sera accessible depuis le port 5000 sur votre machine.
  • Accédez ensuite à Pandore dans votre navigateur à l'adresse : http://localhost:5000

5. Arrêter Pandore

  • Dans le terminal où Pandore tourne, appuyez sur CTRL+C pour arrêter le serveur.
  • Le conteneur sera automatiquement supprimé grâce à l’option --rm.

💡 Conseil pour les utilisateurs avancés : vous pouvez changer le port local (5000) si le port est déjà pris, par exemple -p 8000:5000 pour accéder à http://localhost:8000


Installation locale (venv)

Télécharger Python

  • Assurez-vous d'avoir installé Python sur votre machine (Python 3.6 et au-dessus).

Récupérer le dépôt GitHub

  • Créer un dossier ObTIC-Toolbox et ouvrir un terminal dans celui-ci.

  • Cloner le répertoire Toobox-site :

git clone https://github.com/obtic-sorbonne/Toolbox-site.git
  • Créer et activer un environnement virtuel :
python3 -m venv toolbox-env
source toolbox-env/bin/activate
  • Se placer dans le répertoire Toolbox-site :
cd Toolbox-site

Installer les éléments nécessaires

./swig-3.0.12/configure && make && sudo make install
  • Installer les paquets nécessaires à l'exécution de l'application :
pip install -r requirements.txt
  • Finalement, il faut lancer :
chmod +x install.sh
bash install.sh

Il se peut qu'il faille lancer les commandes suivantes :

pip install -U pip setuptools wheel
pip install -U spacy
python -m spacy download en_core_web_sm
python -m spacy download fr_core_news_sm
python -m spacy download fr_core_news_md
python -m spacy download fr_core_news_lg
python -m spacy download es_core_news_sm
python -m spacy download de_core_news_sm
python -m spacy download da_core_news_sm
python -m spacy download nl_core_news_sm
python -m spacy download fi_core_news_sm
python -m spacy download it_core_news_sm
python -m spacy download pt_core_news_sm
python -m spacy download el_core_news_sm
python -m spacy download ru_core_news_sm

Lancer l'application

Placé dans le dossier Toolbox-site, lancer la commande :

python3 toolbox_app.py

Ouvrir le lien http://127.0.0.1:5000 dans un navigateur pour accéder à l'interface de la Toolbox ObTIC.


Pandore en ligne

Une version de démonstration est disponible en ligne.


Bibliographie

Floriane Chiffoleau, Mikhail Biriuchinskii, Motasem Alrahabi, Glenn Roe. Pandore: automating text-processing workflows for humanities researchers. DH2025 - Accessibility & Citizenship, Jul 2025, Lisbon, Portugal. ⟨hal-04986730https://hal.science/hal-04986730⟩

Motasem ALRAHABI, Valentina FEDCHENKO, Ljudmila PETKOVIC, Glenn ROE. Pandore: a toolbox for digital humanities text-based workflows. [soumission acceptée DH2023]

Johanna Cordova, Yoann Dupont, Ljudmila Petkovic, James Gawley, Motasem Alrahabi, et al.. Toolbox : une chaîne de traitement de corpus pour les humanités numériques. Traitement Automatique des Langues Naturelles, 2022, Avignon, France. pp.11-13. ⟨hal-03701464


Mentions légales

Le code est distribué sous licence CC BY-NC-SA 4.0 par l'équipe ObTIC (Sorbonne Université).


Pandore: a toolbox for digital humanities

French version of this README : https://github.com/obtic-sorbonne/Toolbox-site/blob/main/README.md#pandore--une-boîte-à-outil-pour-les-humanités-numériques


Summary of this README


Project presentation

Pandora is a toolbox designed for researchers, teachers, and students in the humanities and social sciences, particularly those without advanced technical programming skills. It enables users to efficiently manage their data through intuitive graphical interfaces, allowing them to collect, prepare, convert, and analyze their data, extract relevant information, and create interpretive visualizations.

Building on extensive feedback from the previous beta version, several improvements have been implemented, including the resolution of identified bugs and enhancements to the graphical interface to improve user experience. Interoperable and modular Python scripts have also been integrated to extend the platform's functionality. Tutorials have been finalized to guide users in mastering the tools, and the application has been deployed on a GPU-equipped server to optimize performance for computationally intensive tasks.

These advances position Pandora as a versatile and effective tool for researchers across a wide range of humanities and social sciences disciplines.


Content of the GitHub repository

  • static : Files for the correct display of the instance (css, images, fonts, etc.)
  • swig : Package required for the instance to run
  • templates :
    • documentation, tutorial : folder containing the documentation/tutorial by task
    • tasks : navigation pages to tools
    • tools : tools per page
    • 413.html, 500.html, 500_custom.html, validation_contact.html, contact.html, code_source.html, copyright.html, projet.html : specific information pages
    • documentation.html, index.html, pandore.html, tutoriel.html : navigation pages
  • translations : English translation of the contents of the instance
  • toolbox_app.py : Instance operating file (import of libraries, declaration of routes and application functions)
  • ner_camembert.py, ocr.py, tei_ner.py, txt_ner.py : Additional functions
  • requirements.txt, requirements_new.txt : Libraries file for local installation
  • README.md, README_en.md : Presentation of the toolbox
  • cluster.py, environment.yml, forms.py, install.sh, nginx.conf, wsgi.py : TBD

Docker Installation (Linux / Mac / Windows)

If you have never installed Python or other software, Docker completely simplifies installation. Pandore runs in a preconfigured container with all necessary packages.

installation

1. Install Docker

2. Clone the GitHub repository

  • Open the application Terminal and run:
git clone https://github.com/obtic-sorbonne/Toolbox-site.git
cd Toolbox-site

3. Build the Pandore Docker image

docker build -t pandore-toolbox .
  • This command downloads Ubuntu, Miniconda, installs all Python and spaCy packages, and creates a ready-to-use Docker image.

⚠️ This may take several minutes, depending on your internet connection and machine.

4. Launch Pandore in a Docker container

docker run --gpus all -p 5000:5000 pandore-toolbox
  • -p 5000:5000 means: port 5000 in the container will be accessible from port 5000 on your machine.
  • Then access Pandore in your browser at: http://localhost:5000

5. Stop Pandore

  • In the terminal where Pandore is running, press CTRL+C to stop the server.
  • The container will be automatically removed thanks to the --rm option.

💡 Tip for advanced users: you can change the local port (5000) if the port is already in use, for example -p 8000:5000 to access http://localhost:8000


Local installation (venv)

Download Python

  • Make sure you have Python installed on your machine (Python 3.6 and above).

Clone the GitHub repository

  • Create a folder ObTIC-Toolbox and open a terminal in it.

  • Clone the Toolbox-site repository:

git clone https://github.com/obtic-sorbonne/Toolbox-site.git
  • Create and activate a virtual environment:
python3 -m venv toolbox-env
source toolbox-env/bin/activate
  • Navigate to the Toolbox-site directory:
cd Toolbox-site

Install the necessary elements

./swig-3.0.12/configure && make && sudo make install
  • Install the packages needed to run the application:
pip install -r requirements.txt
  • Finally, you need to run:
chmod +x install.sh
bash install.sh

You may need to run the following commands:

pip install -U pip setuptools wheel
pip install -U spacy
python -m spacy download en_core_web_sm
python -m spacy download fr_core_news_sm
python -m spacy download fr_core_news_md
python -m spacy download fr_core_news_lg
python -m spacy download es_core_news_sm
python -m spacy download de_core_news_sm
python -m spacy download da_core_news_sm
python -m spacy download nl_core_news_sm
python -m spacy download fi_core_news_sm
python -m spacy download it_core_news_sm
python -m spacy download pt_core_news_sm
python -m spacy download el_core_news_sm
python -m spacy download ru_core_news_sm

Launch the application

From the Toolbox-site folder, run the command:

python3 toolbox_app.py

Open the link http://127.0.0.1:5000 in a browser to access the ObTIC Toolbox interface.


Pandore online

A demo version is available online.


Bibliography

Floriane Chiffoleau, Mikhail Biriuchinskii, Motasem Alrahabi, Glenn Roe. Pandore: automating text-processing workflows for humanities researchers. DH2025 - Accessibility & Citizenship, Jul 2025, Lisbon, Portugal. ⟨hal-04986730https://hal.science/hal-04986730⟩

Motasem ALRAHABI, Valentina FEDCHENKO, Ljudmila PETKOVIC, Glenn ROE. Pandore: a toolbox for digital humanities text-based workflows. [soumission acceptée DH2023]

Johanna Cordova, Yoann Dupont, Ljudmila Petkovic, James Gawley, Motasem Alrahabi, et al.. Toolbox : une chaîne de traitement de corpus pour les humanités numériques. Traitement Automatique des Langues Naturelles, 2022, Avignon, France. pp.11-13. ⟨hal-03701464


Legal notices

The code is distributed under license CC BY-NC-SA 4.0 by the ObTIC team (Sorbonne Université).