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.
Version actuelle : 1.0-beta
Progression : 95% (12/13 phases complètes, Phase 13 en cours)
Dernière mise à jour : 7 novembre 2025
- ✅ Phases Completed: 12/13 (95%)
- 🔄 Current Phase: Phase 13 - Final Validation (12%)
- 🚀 Go-Live Date: November 24, 2025
Phase 13 - Final Validation 🔄 (12% In Progress - Nov 7, 2025):
- ✅ Validation plan created (PHASE13_PLAN.md - 630 lines)
- ✅ User documentation (USER_MANUAL.md - 510 lines, FAQ.md - 470 lines)
- ✅ API User Guide (API_USER_GUIDE.md - 520 lines)
- ⏳ UAT scenarios preparation
- ⏳ Training materials creation
- ⏳ Security audit execution
- ⏳ Performance validation
Phase 12 - Production Deployment ✅ (100% Complete - Nov 7, 2025):
- ✅ Infrastructure documentation (850+ lines)
- ✅ Deployment scripts and CI/CD pipeline (610+ lines)
- ✅ Database migration script (290+ lines)
- ✅ Security hardening script (240+ lines)
- ✅ Performance optimization script (120+ lines)
- ✅ Backup & restore automation (140+ lines)
- ✅ Operations runbook (430+ lines)
- ✅ Testing & validation guide (380+ lines)
- ✅ Go-Live execution plan (480+ lines)
Total Phase 12 Output: 11 files, ~3,400 lines
Total Phase 13 Output (so far): 4 files, ~2,130 lines
📖 Documentation complète : Voir PROJECT_STATUS.md, PHASE12_COMPLETION_SUMMARY.md et PHASE13_PLAN.md
- 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
- 45 endpoints RESTful : CRUD + workflows + search + statistics
- OpenAPI 3.0.0 : Documentation interactive Swagger UI
- Authentication : Laravel Sanctum (token-based)
- Rate Limiting : 60 requêtes/minute
- File Upload : Support multipart/form-data (max 50MB)
- Versioning : API v1 avec évolution future
- 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
- RESTful API complète - 45 endpoints avec OpenAPI 3.0
- Laravel Sanctum - Authentication token-based
- Swagger UI - Documentation interactive (
/api/documentation) - MCP (Model Context Protocol) - Serveur d'intégration IA
- WebSockets - Notifications temps réel
- Queue système - Traitement asynchrone
# Swagger UI Interactive
http://localhost:8000/api/documentation
# OpenAPI JSON Export
http://localhost:8000/docs
# Fichier local
storage/api-docs/api-docs.jsonDigital Folders (10 endpoints)
- Liste, détails, CRUD
- Arborescence hiérarchique
- Déplacement de dossiers
- Statistiques
Digital Documents (13 endpoints)
- CRUD avec upload multipart
- Gestion des versions
- Workflow d'approbation
- Téléchargement sécurisé
- Recherche avancée
Artifacts (12 endpoints)
- Gestion d'artefacts
- Expositions et prêts
- Rapports de conservation
- Valorisation
Periodicals (14 endpoints)
- Publications périodiques
- Numéros et articles
- Abonnements
- Recherches multicritères
# 1. Authentication
POST /api/v1/login
Content-Type: application/json
{
"email": "user@example.com",
"password": "password"
}
# Response: { "token": "1|abcdef..." }
# 2. Liste des documents
GET /api/v1/digital-documents?per_page=20
Authorization: Bearer 1|abcdef...
# 3. Upload document
POST /api/v1/digital-documents
Authorization: Bearer 1|abcdef...
Content-Type: multipart/form-data
{
"name": "Rapport Q3",
"type_id": 5,
"folder_id": 12,
"file": [binary]
}📖 Documentation complète : Voir docs/OPENAPI_SETUP.md
- 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:workAprè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:1234REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redisMAIL_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