Application web de gestion et de recherche de documents avec recherche full-text et gestion dynamique des types de documents.
- 🔍 Recherche full-text dans le contenu des documents
- 📁 Gestion complète des documents (CRUD)
- 🏷️ Création dynamique de types de documents
- 📄 Support des formats PDF et Word
- 🎯 Surlignage des termes recherchés
- 🔒 Gestion sécurisée des fichiers
- 📈 Indexation temps réel avec Elasticsearch
- 📦 Stockage des fichiers sur disque
- PHP 8.0+
- Composer
- MongoDB 4.4+
- Elasticsearch 7.10+
- Node.js 14+
- Serveur web (Apache/Nginx) ou PHP built-in server
- Cloner le dépôt :
git clone https://github.com/moodeski/ebm_search.git
cd ebm-search- Installer les dépendances :
composer install
npm install && npm run build- Configurer l'environnement :
cp .env.example .env
php artisan key:generate- Modifier le fichier
.env:
APP_NAME=EBM_Search
APP_ENV=local
APP_DEBUG=true
DB_CONNECTION=mongodb
DB_HOST=127.0.0.1
DB_PORT=27017
DB_DATABASE=db_name
ELASTICSEARCH_HOST=localhost:9200
ELASTICSEARCH_USERNAME=username
ELASTICSEARCH_PASSWORD=password
FILESYSTEM_DISK=public- Créer le lien de stockage :
php artisan storage:link- Démarrer les services :
# Elasticsearch (selon votre installation)
sudo systemctl start elasticsearch
# Serveur de développement
php artisan serveCréer les indexes nécessaires : L’indexation est automatiquement prise en charge par l’application.
- URL :
http://localhost:8000
-
Ajouter un document
- Formats supportés : PDF, Word
- Extraction automatique du texte
- Métadonnées automatiquement remplies
-
Recherche avancée
- Champ libre de recherche
- Filtrage par type de document
- Surlignage des résultats
-
Gestion des types
- Création/Modification dynamique
- Liste mise à jour en temps réel
{
"query": {
"bool": {
"must": [
{
"match": {
"doc_content": "exemple de recherche"
}
}
],
"filter": [
{
"term": {
"doc_type": "CV"
}
}
]
}
}
}-
Erreur de connexion Elasticsearch
- Vérifier les logs Elasticsearch
- Confirmer les credentials dans
.env
-
Problème d'extraction de texte
- Vérifier les dépendances :
pdftotextetphpword(composer require) - Vérifier les permissions des fichiers
- Vérifier les dépendances :
-
Erreur mbstring ou mongodb
- Activer l'extension PHP mbstring ou mongodb.dll (php.ini) :
sudo apt-get install php-mbstring sudo systemctl restart apache2
MIT License - Voir le fichier LICENSE.md pour plus de détails
Développé par : Souleymane MAIGA et Modibo Kane NIARE
Client : Entreprise Kankou Moussa
Date de livraison : 21/04/2025