Dépot boite à outils pour un moteur de recherche.
Makefile : Contient les commandes et variables du projet.
|_ elasticsearch : Fichiers de config pour ElasticSearch.
|_ backend : Serveur Flask et indexation de la base ouverte bonnes feuilles pour tester le moteur.
|_ frontend : Code source pour distribuer une interface utilisateur branché à ElasticSearch. Fourni un site statique en Svelte.
|_ La conf du 'reverse proxy' nginx qui permet d'éviter les requêtes cross-origin
- Installer Docker et Docker-Compose localement.
 - Installer Make.
 - Télécharger les données : 
make download-data - Créer le fichier artifacts pour choisir 
INDEX_NAME,DATA_PATHetENV_FILE. Par exemplemv artifacts.sample artifacts 
- Fabriquer l'image docker : 
make elasticsearch. Lance ES et crée un réseau docker. - Tester la base ayant une route nginx: 
curl http://localhost/elasticsearch 
- Fabriquer l'image docker du backend : 
make backend-dev. Cela aura pour effet de lancer l'application Flask. - Rentrer dans le container : 
make backend-exec. - Lancer les tests unitaires, qui va indexer les données tests 
pytest tests/iga/test_elastic.py -s. - Tester le back : http://localhost/api/common/healthcheck
 
- Sapper pour le routage, Svelte pour l'UI et Tailwindcss pour la mise en forme.
 - Fabriquer l'image docker du frontend : 
make frontend-dev. (En modedev) - Se rendre à http://localhost (Le hot-reloading est configuré)
 
- Fabriquer l'image docker : 
make nginx. Lance le service nginx dans un docker. Seul le port 80 est exposé. Tester avec http://localhost 
- Pour tester efficacement des changements de mapping dans l'index, la console dev de Kibana peut être utile.
 - Lancer Kibana avec 
make kibana. Le container Elasticsearch doit tourner. Se rendre à l'adresse http://localhost/kibana 
- Nginx envoie les logs utilisateurs au service Logstash qui les sauvegarde dans ElasticSearch.
 
- Lancer l'environement de dev 
make dev. - Compiler le frontend pour la 
prodet mettre le contenu statique dans nginx :make build