Shelve est une plateforme complète de gestion d'archives modernes développée avec Laravel 12, intégrant l'intelligence artificielle pour automatiser et optimiser la gestion documentaire. Ce système offre une solution robuste pour l'archivage, la recherche intelligente, la gestion des workflows et la publication publique de documents.
- Gestion de documents : Upload, organisation et archivage automatisé
- Support multi-formats : PDF, images, vidéos, documents Office
- Générations de codes-barres : Traçabilité physique des documents
- Conteneurs intelligents : Organisation hiérarchique des archives
- Versioning automatique : Historique complet des modifications
- Recherche textuelle avancée avec TNTSearch
- Recherche sémantique basée sur l'IA
- Filtres multicritères : dates, auteurs, types, contenus
- Thésaurus intégré : Recherche par concepts et relations
- Indexation automatique des contenus
- Gestion complète des emails entrants et sortants
- Workflows automatisés de traitement du courrier
- Assignation et délégation de tâches
- Suivi des deadlines et alertes automatiques
- Archivage intelligent des correspondances
- Extraction automatique de mots-clés et métadonnées
- Analyse de contenu et classification automatique
- Résumés automatiques de documents longs
- Chat IA pour assistance utilisateur
- Support multi-providers : Ollama, OpenAI, LM Studio, AnythingLLM
- Publication sélective de documents publics
- Interface de recherche pour le grand public
- Système de demandes de documents
- Gestion des feedbacks et commentaires
- Chat public avec support IA
- Workflows configurables pour tous les processus
- Assignation automatique de tâches
- Escalade conditionnelle en cas de retard
- Templates d'emails personnalisables
- Notifications multi-canaux
- Thésaurus normé SKOS intégré
- Relations hiérarchiques et associatives
- Import/Export au format SKOS, CSV, JSON
- Gestion multilingue des concepts
- API RESTful pour intégrations externes
- Laravel 12.21.0 - Framework PHP moderne
- PHP 8.2+ - Langage backend performant
- MySQL 8.0+ - Base de données relationnelle
- Vue.js 3 - Interface utilisateur réactive
- TailwindCSS - Framework CSS moderne
- Intervention Image - Traitement d'images
- PDF.js - Visualisation PDF intégrée
- Ollama - Modèles IA locaux
- OpenAI API - GPT et modèles cloud
- LM Studio - Modèles locaux personnalisés
- AnythingLLM - Plateforme IA unifiée
- TNTSearch - Moteur de recherche Laravel
- Scout - Interface de recherche élégante
- Elasticsearch (optionnel) - Recherche enterprise
- DomPDF - Génération PDF
- PHPWord - Documents Word
- Maatwebsite Excel - Tableurs Excel
- Codes-barres - Génération automatique
- MCP (Model Context Protocol) - Serveur d'intégration IA
- RESTful API complète
- WebSockets - Notifications temps réel
- Queue système - Traitement asynchrone
- PHP >= 8.2
- MySQL >= 8.0 ou MariaDB >= 10.6
- Composer >= 2.0
- Node.js >= 18.0 et npm
- Extensions PHP : pdo, mbstring, openssl, tokenizer, xml, ctype, json, bcmath, fileinfo, gd
- Redis (optionnel, recommandé pour les performances)
- FFmpeg (pour le traitement vidéo)
git clone https://github.com/yourusername/shelve.git
cd shelve
# Dépendances PHP
composer install
# Dépendances JavaScript
npm install && npm run build
# Copier le fichier d'environnement
cp .env.example .env
# Générer la clé d'application
php artisan key:generate
# Éditer .env avec vos paramètres
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=shelve_db
DB_USERNAME=root
DB_PASSWORD=your_password
# Créer la base de données
php artisan migrate
# Installer les données de base
php artisan db:seed
# Optimiser l'application
php artisan optimize
# Serveur de développement
php artisan serve
# Queue worker (terminal séparé)
php artisan queue:work
Après l'installation, vous pouvez vous connecter avec :
🔐 Superadministrateur
Email: superadmin@example.com
Mot de passe: superadmin
Permissions: Accès complet au système (125 permissions)
# Ollama (recommandé pour usage local)
OLLAMA_BASE_URL=http://localhost:11434
# OpenAI (pour usage cloud)
OPENAI_API_KEY=your_openai_key
# LM Studio (modèles locaux personnalisés)
LMSTUDIO_BASE_URL=http://localhost:1234
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
MAIL_MAILER=smtp
MAIL_HOST=your-smtp-host
MAIL_PORT=587
MAIL_USERNAME=your-email
MAIL_PASSWORD=your-password
MAIL_ENCRYPTION=tls
- 📁 Gestion d'Archives - Documents, conteneurs, codes-barres
- 📧 Système de Courrier - Workflows, assignation, archivage
- � Transferts de Courriers (Parapheur) - Vers boîtes et chariots, limites et erreurs
- �🔍 Recherche Avancée - TNTSearch, filtres, thésaurus
- 🤖 Intelligence Artificielle - Configuration, modèles, intégrations
- 🌐 Portail Public - Publication, demandes, chat
- 📊 Thésaurus - SKOS, import/export, API
- 🔧 API Documentation
- 🧪 Tests
- 🚀 Déploiement
- 🔌 Extensions
Le projet inclut des scripts d'optimisation prêts à l'emploi :
# Optimisation pour production
./optimize-production.sh # Linux/Mac
optimize-production.bat # Windows
# Basculement vers Redis
./switch-to-redis.bat # Configuration Redis automatique
# Tests unitaires et fonctionnels
php artisan test
# Analyse de code statique
./vendor/bin/phpstan analyse
# Formatage du code
./vendor/bin/php-cs-fixer fix
- Authentification multi-niveaux avec Laravel Sanctum
- Permissions granulaires par module et action
- Chiffrement des données sensibles
- Logs d'audit complets
- Validation stricte des entrées utilisateur
- Protection CSRF et XSS
- Cache intelligent avec Redis
- Optimisation base de données avec indexation
- Compression d'images automatique
- Lazy loading des relations Eloquent
- Queue système pour tâches lourdes
- CDN ready pour assets statiques
- Interface en français et anglais
- Thésaurus multilingue avec traductions
- Dates et formats localisés
- Extensible pour autres langues
Ce projet est développé par Omgbwa Yasse Emmanuel Fabrice et Njandjeu Lahakio David Andreas.
Pour contribuer :
- Fork le projet
- Créer une branche feature (
git checkout -b feature/nouvelle-fonctionnalite
) - Commit vos changements (
git commit -am 'Ajout nouvelle fonctionnalité'
) - Push vers la branche (
git push origin feature/nouvelle-fonctionnalite
) - Ouvrir une Pull Request
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
- Documentation : docs/
- Issues : GitHub Issues
- Discussions : GitHub Discussions
Shelve - Révolutionnez votre gestion d'archives avec l'IA
Développé avec ❤️ en Laravel 12