Dans un répertoire local dédié au projet :
- Cloner le repository GitHub :
git clone https://github.com/chartes/lettres-app.git
Dans le répertoire d'accueil de l'application :
- Exécuter les commandes :
python3 -m venv lettresenv
source lettresenv/bin/activate
pip install -r requirements.txt
- Se rendre dans le sous-répertoire contenant le fichier flask_app.py et le lancer :
python3 flask_app.py
- Lancer une requête de contrôle : (ex: http://127.0.0.1:5004/ecco/api/1.0/documents?page[size]=2)
Installer la version Elasticsearch conforme aux spécifications. Avec docker cela donne :
docker run --name es-lettres -d -p 9200:9200 -e "discovery.type=single-node" -e "xpack.security.enabled=false" -e "xpack.security.http.ssl.enabled=false" elasticsearch:8.12.1
docker exec es-lettres bash -c "bin/elasticsearch-plugin install analysis-icu"
docker restart es-lettres
Lors de la première indexation, avec une application en local sur le port 5004, utiliser la commande :
python3 manage.py (--config=<dev/prod>) db-reindex --rebuild --host=http://localhost:5004
Cette commande crée les index de l'application sur la base des mappings
Pour vérifier que les index ont bien été créés:
curl http://localhost:9200/_cat/indices?v
Pour les indexations suivantes, exécuter :
python3 manage.py (--config=<dev/prod>) db-reindex --host=http://localhost:5004
Depuis le répertoire d'accueil de l'application, exécuter :
python3 manage.py add-user --email=<[email protected]> --username=<username> --password=<userpassword>
Ajouter le flag --admin
pour accorder des droits d'administrateur à l'utilisateur.