Système intelligent de gestion des communications par email avec détection automatique de clients, création de dossiers, workflow complet et fonctionnalités avancées.
- ✅ Monitoring automatique Gmail (IMAP) - Scan toutes les 60 secondes
- ✅ Scan manuel de tous les emails existants
- ✅ Détection automatique des doublons (par ID et contenu)
- ✅ Extraction automatique des informations clients (téléphone, adresse)
- ✅ Envoi d'emails depuis l'application (SMTP)
- ✅ Templates réutilisables avec variables dynamiques
- ✅ Pièces jointes - Upload/download sécurisé
- ✅ Création manuelle avec extraction auto des coordonnées
- ✅ Workflow de statut (OPEN → IN_PROGRESS → CLOSED)
- ✅ Attribution à des avocats spécifiques
- ✅ Tags et catégorisation flexible
- ✅ Priorités (0-5) et échéances
- ✅ Filtres avancés multi-critères
- ✅ Timeline complète par dossier avec tous les événements
- ✅ Fusion intelligente des doublons
- ✅ Notifications automatiques sur changements d'état
- ✅ Création manuelle avec suggestions depuis emails
- ✅ Extraction auto des coordonnées (regex intelligent)
- ✅ Vue 360° client avec historique complet
- ✅ Détection de doublons par email
- ✅ Édition en ligne des informations
- ✅ Règles métier (normalisation, VIP)
- ✅ Recherche textuelle classique
- ✅ Recherche par embeddings (similarité vectorielle)
- ✅ Recherche sémantique IA (compréhension du contexte)
- ✅ Regroupement automatique des doublons
- ✅ Filtres combinés (statut + tag + priorité)
- ✅ Dashboard intelligent avec vue d'ensemble
- ✅ Statistiques complètes (emails/jour, types, sévérité)
- ✅ Centre d'anomalies centralisé
- ✅ Journal d'audit complet de toutes les actions
- ✅ Notifications en temps réel
- ✅ Alertes pour emails nécessitant attention
- Framework: ASP.NET Core 9.0
- ORM: Entity Framework Core 9.0
- Base de données: SQLite (production-ready)
- Email: MailKit 4.15.0 (IMAP/SMTP)
- Authentification: JWT Bearer avec BCrypt
- Validation: FluentValidation
- Interface: HTML5/CSS3/JavaScript ES6+
- Design: Responsive, mobile-friendly
- PWA: Installable sur desktop/mobile
- Hashing: BCrypt pour mots de passe
- Secrets: User Secrets (hors du code)
- Isolation: Multi-tenant par utilisateur
- Audit: Traçabilité complète
- ✅ .NET 9.0 SDK (Télécharger)
- ✅ Git (Télécharger)
- ✅ Compte Gmail avec mot de passe d'application (Guide)
# 1. Cloner le projet
git clone https://github.com/VOTRE_USERNAME/MemoLib.git
cd MemoLib/MemoLib.Api
# 2. Restaurer automatiquement (packages + DB + secrets)
.\restore-project.ps1
# 3. Lancer l'application
dotnet run🌐 Accès:
- API: http://localhost:5078
- Interface: http://localhost:5078/demo.html
- Swagger: http://localhost:5078/swagger (si activé)
# Restaurer les packages
dotnet restore
# Créer la base de données
dotnet ef database update
# Configurer le mot de passe email
dotnet user-secrets set "EmailMonitor:Password" "votre-mot-de-passe-app"
# Compiler
dotnet build
# Lancer
dotnet run- Activez la validation en 2 étapes sur votre compte Gmail
- Créez un mot de passe d'application: https://myaccount.google.com/apppasswords
- Configurez dans
appsettings.json:
{
"EmailMonitor": {
"Enabled": true,
"ImapHost": "imap.gmail.com",
"ImapPort": 993,
"Username": "votre-email@gmail.com",
"IntervalSeconds": 60
}
}- Stockez le mot de passe de manière sécurisée:
dotnet user-secrets set "EmailMonitor:Password" "votre-mot-de-passe-application"- FEATURES_COMPLETE.md - Documentation complète des fonctionnalités
- IMPLEMENTATION_COMPLETE.md - Résumé de l'implémentation
- SCENARIOS_TOUTES_FONCTIONS.md - Scénarios détaillés des 12 fonctionnalités
- SCENARIOS_DEMO_COMPLETS.md - Scénarios de démo live
- FLUX_COMPLETS_TOUTES_FONCTIONS.md - Tous les flux possibles
- GUIDE_SCENARIOS.md - Guide rapide d'exécution
- test-all-features.http - Tests API
Le flux complet onboarding (inscription utilisateur test, login, création template, invitation client, formulaire public, soumission avec participants) est automatisé via:
npm run api:e2e:onboardingForcer une URL API précise:
npm run api:e2e:onboarding:base -- -u http://localhost:5078Prérequis:
- API démarrée localement sur
http://localhost:8091 - Base de données accessible et migrations appliquées
Script utilisé:
scripts/e2e-onboarding.ps1
- ✅ Authentification JWT obligatoire
- ✅ Mots de passe hashés (BCrypt)
- ✅ Secrets stockés hors du code
- ✅ Isolation par utilisateur
- ✅ Validation des entrées
- ✅ Audit complet des actions
POST /api/auth/register
POST /api/auth/loginGET /api/cases
POST /api/cases
GET /api/cases/{id}
GET /api/cases/{id}/timeline
PATCH /api/cases/{id}/status
PATCH /api/cases/{id}/assign
PATCH /api/cases/{id}/tags
PATCH /api/cases/{id}/priority
GET /api/cases/filterPOST /api/ingest/email
POST /api/email-scan/manual
POST /api/email/send
POST /api/email/templates
GET /api/email/templatesGET /api/client
POST /api/client
GET /api/client/{id}/detail
PUT /api/client/{id}POST /api/search/events
POST /api/embeddings/search
POST /api/semantic/searchPOST /api/attachment/upload/{eventId}
GET /api/attachment/{id}
GET /api/attachment/event/{eventId}# 1. Email reçu automatiquement
# → Notification envoyée à l'utilisateur
# → Utilisateur crée dossier manuellement
# → Coordonnées extraites automatiquement
# 2. Avocat définit la priorité
PATCH /api/cases/{id}/priority
{ "priority": 5, "dueDate": "2025-06-30" }
# → Notification AUTO envoyée aux collaborateurs
# 3. Ajoute des tags
PATCH /api/cases/{id}/tags
{ "tags": ["urgent", "famille", "divorce"] }
# → Notification AUTO envoyée
# 4. Passe en cours
PATCH /api/cases/{id}/status
{ "status": "IN_PROGRESS" }
# → Notification AUTO changement d'état
# 5. Envoie un email au client
POST /api/email/send
{ "to": "client@example.com", "subject": "...", "body": "..." }
# 6. Clôture le dossier
PATCH /api/cases/{id}/status
{ "status": "CLOSED" }
# → Notification AUTO envoyée à tous# Méthode automatique (recommandée)
.\backup-git.ps1
git push
# OU manuellement
git add .
git commit -m "Description des changements"
git push origin main# 1. Cloner depuis GitHub
git clone https://github.com/VOTRE_USERNAME/MemoLib.git
cd MemoLib/MemoLib.Api
# 2. Restaurer automatiquement
.\restore-project.ps1
# 3. Lancer
dotnet run✅ Le script restore-project.ps1 fait tout automatiquement:
- Restaure les packages NuGet
- Crée la base de données
- Compile le projet
- Configure les secrets utilisateur
MemoLib.Api/
├── Controllers/ # API endpoints
├── Models/ # Entités de données
├── Data/ # DbContext
├── Services/ # Logique métier
├── Migrations/ # Migrations EF Core
├── wwwroot/ # Interface web
│ └── demo.html # Interface utilisateur
├── appsettings.json # Configuration
└── Program.cs # Point d'entrée
dotnet run- ✅ Aucun coût
- ✅ Contrôle total
- ✅ Données en local
- ✅ Performance maximale
# Publier en mode Release
dotnet publish -c Release
# Exécuter
cd bin/Release/net9.0/publish
.\MemoLib.Api.exePrérequis:
- Compte Azure
- Azure CLI installé
Étapes:
- Créer une App Service
- Remplacer SQLite par Azure SQL Database
- Configurer secrets dans Azure Key Vault
- Déployer via GitHub Actions
Coût estimé: ~50-100€/mois
- Accès depuis plusieurs bureaux distants
- Scalabilité 100+ utilisateurs
- Haute disponibilité 99.9%
# Vérifier le port
netstat -ano | findstr :5078
# Tuer le processus si nécessaire
taskkill /PID <PID> /F- Vérifiez que la validation en 2 étapes est activée
- Utilisez un mot de passe d'application (pas votre mot de passe Gmail)
- Vérifiez que IMAP est activé dans Gmail
# Supprimer et recréer
Remove-Item memolib.db
dotnet ef database updateMIT License - Libre d'utilisation
Développé pour les cabinets d'avocats
Les contributions sont les bienvenues ! Ouvrez une issue ou une pull request.
Pour toute question, consultez la documentation ou ouvrez une issue sur GitHub.
- Monitoring automatique Gmail
- Gestion complète dossiers
- Workflow statut/tags/priorités
- Templates emails
- Pièces jointes
- Recherche intelligente
- Dashboard analytics
- Centre anomalies
- Commentaires avec mentions
- Notifications temps réel (SignalR)
- Calendrier intégré
- Tâches avec dépendances
- Facturation & suivi temps
- Recherche full-text globale
- Webhooks sortants
- Templates avancés
- Signatures électroniques
- Formulaires dynamiques
- Export PDF/Excel avancé
- Rapports personnalisés
- IA classification emails
- Templates IA intelligents
- Application mobile (iOS/Android)
- Facturation automatique
- Intégration tribunaux
- IA classification emails
- Reconnaissance vocale
Les contributions sont les bienvenues !
- Fork le projet
- Créez une branche (
git checkout -b feature/AmazingFeature) - Commit vos changements (
git commit -m 'Add AmazingFeature') - Push vers la branche (
git push origin feature/AmazingFeature) - Ouvrez une Pull Request
MIT License - Libre d'utilisation commerciale et personnelle.
Voir LICENSE pour plus de détails.
Développé pour les cabinets d'avocats et professionnels du droit.
- 📧 Email: support@memolib.com
- 📚 Documentation: Voir les fichiers
.mddans le projet - 🐛 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
Si ce projet vous aide, n'hésitez pas à lui donner une étoile ⭐
📌 Note Importante: Ce projet est 100% local par défaut. Azure n'est nécessaire que pour un déploiement cloud multi-sites.
🎯 Parfait pour: Cabinets d'avocats, notaires, huissiers, experts juridiques, PME juridiques.
💰 Coût: Gratuit en local, ~50-100€/mois sur Azure (optionnel).