MemoLib est un système intelligent de gestion des communications par email spécialement conçu pour les cabinets d'avocats et professionnels du droit.
Les cabinets d'avocats reçoivent des dizaines d'emails clients par jour. Gérer manuellement ces communications est:
- ⏰ Chronophage - Tri, classement, extraction d'infos
- 🔍 Risqué - Emails perdus, oubliés ou mal classés
- 📊 Inefficace - Pas de vue d'ensemble, pas de statistiques
- 👥 Isolé - Difficile de collaborer en équipe
MemoLib automatise tout le workflow de gestion des emails clients:
-
📧 Réception Automatique
- Connecté à votre Gmail via IMAP
- Scan automatique toutes les 60 secondes
- Détection des nouveaux emails clients
-
🤖 Extraction Intelligente
- Détecte automatiquement le nom du client
- Extrait téléphone, adresse, email
- Identifie les doublons
-
📁 Création de Dossiers
- Créez un dossier en 1 clic depuis l'email
- Infos client pré-remplies automatiquement
- Historique complet des échanges
-
⚙️ Workflow Complet
- Statuts: OUVERT → EN COURS → FERMÉ
- Tags personnalisables (urgent, famille, divorce...)
- Priorités et échéances
- Attribution à des avocats
-
🔔 Notifications Automatiques
- Nouvel email reçu
- Changement de statut
- Échéance approchant
- Commentaires d'équipe
-
📊 Analytics & Reporting
- Dashboard avec statistiques
- Emails par jour/semaine/mois
- Temps de réponse moyen
- Dossiers par statut
- ⚖️ Cabinets d'avocats (1-50 avocats)
- 📜 Notaires
- 🏛️ Huissiers de justice
- 💼 Experts juridiques
- 🏢 PME juridiques
- Gratuit en local (0€/mois)
- ~50-100€/mois sur Azure (optionnel, pour multi-sites)
# 1. Cloner
git clone https://github.com/VOTRE_USERNAME/MemoLib.git
cd MemoLib/MemoLib.Api
# 2. Restaurer
.\restore-project.ps1
# 3. Lancer
dotnet runAccès: http://localhost:5078/demo.html
- ✅ 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": "[email protected]",
"IntervalSeconds": 60
}
}- Stockez le mot de passe de manière sécurisée:
dotnet user-secrets set "EmailMonitor:Password" "votre-mot-de-passe-application"- ARCHITECTURE_HARMONISEE.md - Architecture complète harmonisée
- QUICK_START.md - Guide rapide de démarrage
- CONTRIBUTING.md - Guide de contribution
- DEPLOYMENT.md - Guide de déploiement
- CHANGELOG.md - Historique des versions
- DIAGRAMMES_ARCHITECTURE.md - 10 diagrammes techniques complets
- DIAGRAMMES_VISUELS.md - 12 diagrammes métier avec emojis
- MAPPING_DIAGRAMMES_CODE.md - Mapping diagrammes → code source
- GUIDE_DIAGRAMMES.md - Guide d'utilisation des diagrammes
- wwwroot/diagrammes.html - Visualisation interactive
- FORMULAIRES_INTELLIGENTS.md - Formulaires d'inscription & espaces partagés
- 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
- SCENARIOS_DEMO_COMPLETS.md - Scénarios de démo live
- 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": "[email protected]", "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 d'inscription intelligents
- Espaces partagés multi-participants
- Design System unifié
- CI/CD Pipeline (GitHub Actions)
- Export PDF/Excel avancé
- Rapports personnalisés
- IA classification emails
- Tests E2E automatisés
- Application mobile (iOS/Android)
- Architecture microservices
- Kubernetes orchestration
- Redis cache distribué
- Elasticsearch recherche avancée
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: [email protected]
- 📚 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).